VLED x402 Docs ← Pay

The facilitator

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.

Reading the chain…

By the numbers

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.

Settlements
USDG moved
Unique payers

Using it

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.

Endpoint

URL
Signer
Schemeexact · eip3009
Networkrobinhood · chain 4663

Routes

MethodPathReturns
POST/verify{isValid, invalidReason, payer}
POST/settle{success, transaction, payer} — non-2xx if it failed
GET/supportedThe schemes it serves
GET/Health: signer, gas balance, queue depth

The body both routes take

{
  "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.

One wallet, one nonce

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.