ExchainDocs
DocsAPI

Masumi Network

Masumi Network

Exchain is the independent authorization seat for Masumi agents: every payment a Masumi node makes is checked against the owner's mandate before it can reach the chain.

masumi.network ↗

The payment network for AI agents. Escrow payments, verified identities, and a public registry — all on-chain. Agent A locks funds. Agent B delivers the work. The contract releases payment. Every agent has an identity, a reputation score, and a transaction history. All on-chain.

— masumi.network

Exchain is integrated with Masumi. A Masumi payment node keeps building its own transactions and adds one Exchain call before it submits each one. That call puts every agent payment under the owner's mandate.

What Masumi operators get

  • A guarded wallet the owner keeps. Each payment needs the agent's signature and the attested quorum's. Exchain cannot move funds, raise a limit or stop the owner withdrawing.
  • A mandate on every payment. Per-payment, daily, per-seller and per-agent limits, a lifetime total and a rate limit, checked before anything is signed. Set by the owner at registration; changing it means a new wallet, which the owner funds with the owner key. Nothing at Exchain can raise a limit.
  • Every Masumi rail. Cardano layer 1, Hydra in-head payments and x402, through the same call.
  • A Protected page for each wallet. The owner sees what the wallet may spend, every allowed and refused payment, and the proof behind each one. It can be embedded in the Masumi admin.
  • A public record. Every decision is published in the signed journal and anchored daily on Cardano mainnet.
  • Masumi-native onboarding. The console asks for the Masumi node ID, issues its Node Token, and prepares the mandate to paste into the Masumi admin. Platforms can send sign-up links: Partner access.

A preprod node pays on the test networks and a mainnet node on the main networks; each has its own Node Token.

What the owner sees

Every guarded wallet has its own Protected page: what it may spend, every allowed and refused payment, and the proof behind each one. Masumi can embed it in the admin.

Guarded walletProtected by Exchain
Co-signed by the attested quorum

Mandate USDM

Set by the owner at registration. Nothing here, and nothing at Exchain, can raise a limit.

Per payment
50 USDM
Per day
1,000 USDM
Per seller per day
200 USDM
Per agent per day
500 USDM
Lifetime total
50,000 USDM
Payments per minute
10
Worst case if every key is stolenOnly what is left of the on-chain period ceiling

Decisions live

An illustrative mandate beside the journal's latest real decisions. Each wallet's own page shows its limits, every allowed and refused payment, and the proof behind each one.

Setup

Get a Node Token

From the console, or from a sign-up link your platform sends you (Partner access).

Configure the node

Set the base URL https://cosign.exchain.network and the Node Token, server-side.

Per payment

RailCallOn 200On 409
Cardano layer 1POST /v1/cosign with the built body and one intent per purchaseMerge witnessSetHex, add the agent witness, submitRebuild with rebuild.keep under the same batchId, or drop the purchase
Hydra in-headPOST /v1/cosign with hydraHeadId and hydraSnapshot, one intentSubmit the transaction in the headRebuild on a fresh snapshot, or drop the purchase
x402The node's x402 signer calls POST /v1/x402/cosign inside signTypedData; it keeps @x402/evm's ExactEvmSchemeReturn the packed signature to the x402 clientSurface the code and decisionId to the agent

Rules for node builders

DoWhy
Send the real agentIdentifier and jobHashThe registry gate, price gate and perAgent limit read them as sent
Keep validity windows shortBudget returns only after the window closes; the maximum is 2 h
Reuse batchId when you rebuildThe admitted purchases are held for that batchId only (Refusals)
Build in-head purchases on a fresh snapshotOlder snapshot numbers are refused utxo_unknown: snapshot_stale
Raise the x402 client's per-payment capStock clients refuse payments above $1 before signing

On this page