accepts array describing what it will take. The Router reads that array, picks an option it can fund, signs the payment from your custodial wallet, and hands back a credential.
You don’t need the service to know anything about Nevermined. If it speaks x402, it’s payable.
What a challenge looks like
The Router supports both protocol versions and works out which one it’s talking to.- x402 v2
- x402 v1
Requirements arrive base64-encoded in a
PAYMENT-REQUIRED response header. The credential goes back in a PAYMENT-SIGNATURE request header.target.
What’s supported
Anything outside that isn’t payable on this rail today: other schemes, other chains, and non-EVM networks such as Solana.
A mixed-chain 402 still works as long as one option is fundable. If a service advertises both a Solana option and a Base option, the Router skips the one it can’t parse and pays the Base one. It only fails if no entry survives the filter — that’s
400 BCK.ROUTER.0001.How an option gets chosen
Given several fundable entries, the Router filters toscheme: "exact" on a funded network with a funded asset, then prefers USDC. The asset symbol is read from the entry’s extra.name field — a service that omits it won’t match the symbol filter even if its asset address is USDC.
Money and budget
Amounts are in the asset’s smallest unit. USDC and EURC have 6 decimals, so:settlement.approxCents field on every response tells you exactly what was reserved.
Funding your wallet
The payment is a pull: your signature authorizes the merchant to take the amount from your own wallet. So the wallet must already hold that asset on that chain before you call. Get the address from your Delegation’sproviderPaymentMethodId — see step 3 of the quickstart. If it’s short, the mint fails with 402 BCK.ROUTER.0009 and nothing is signed: no credential, no reserved budget, no partial state to clean up.
Authorization lifetime
The signed authorization carries a validity window, capped by the operator (one hour by default) with a small allowance for clock skew between you and the merchant. A merchant asking for a longer window than the operator permits gets the operator’s cap, not its own request. In practice this only matters in mode A: if you mint a credential and sit on it, it can expire before you redeem it. The budget stays reserved and the record staysIssued. Mint credentials when you’re about to use them.
Settling the record
When the merchant accepts the credential it returns a settlement reference in aPAYMENT-RESPONSE (or X-PAYMENT-RESPONSE) header — the on-chain transaction hash.
- Mode B reads it and closes the record for you: status
Settled, hash on the ledger. - Mode A leaves the record
Issueduntil you report it withPOST /api/v1/router/payments/{paymentId}/settled.
Operator configuration
These are set per deployment, not per call. You only need them if you run your own Nevermined deployment.Next
The MPP rail
The other supported protocol, and how it differs.
Guardrails
Every check the Router runs before it signs.