It takes a signed authorization, checks it, and puts it on-chain — paying the gas itself. The payer needs USDG and no ETH, and never sends a transaction.
Counted from the chain itself — every USDG transfer that landed on the payee. There is no database behind this page, so there is nothing for it to be out of step with.
Two routes do the work. /verify checks a signature and the payer's balance without
touching the chain's state; /settle broadcasts the transfer and pays the gas. Both
take the same body.
| URL | — |
| Signer | — |
| Scheme | exact · eip3009 |
| Network | robinhood · chain 4663 |
| Method | Path | Returns |
|---|---|---|
| POST | /verify | {isValid, invalidReason, payer} |
| POST | /settle | {success, transaction, payer} — non-2xx if it failed |
| GET | /supported | The schemes it serves |
| GET | / | Health: signer, gas balance, queue depth |
{
"paymentPayload": {
"x402Version": 1,
"scheme": "exact",
"network": "robinhood",
"payload": {
"authorizationType": "eip3009",
"signature": "0x…",
"authorization": { from, to, value, validAfter, validBefore, nonce }
}
},
"paymentRequirements": { /* the 402 quote, unchanged */ }
}
It serves exact + eip3009 on robinhood only. A
permit payload, or one for another network, is turned away with a
400. The full walkthrough — including the EIP-712 domain, which USDG will not
tell you itself — is in the docs.
The facilitator signs every settlement with a single wallet, and a wallet has one sequential transaction nonce. Left to pick that nonce from the node, two payments arriving together take the same number and the chain keeps only one of them. Measured on mainnet: of six concurrent payments, one settled and five were turned away.
So the nonce is not the node's to give. It is allocated in the facilitator and handed to each transaction, and the broadcasts queue behind one another so that a failed one can give its number straight back. Six of six now settle. Queue depth on the health route is the number to watch: sustained above zero means one wallet is no longer enough.