Circle's x402 Facilitator Service is Circle's hosted facilitator for sellers: your API answers an unpaid call with HTTP 402 and a price, the buyer's wallet or agent signs an EIP-3009 USDC authorization, and Circle verifies the signature, screens both addresses, pays the settlement gas, and submits the transfer on Arc, Base, or Polygon PoS. It went live the week of September 16–19, 2026, alongside Arc mainnet — and Circle's own docs say it never holds your funds.
x402 stays HTTP-native. The seller returns 402 with payment requirements; the buyer signs and retries with a payment payload. Circle owns the messy middle: verification, screening, state, gas, broadcast.
| Step | What happens |
|---|---|
| 1. Unpaid call | Buyer (human wallet or AI agent) hits your API without payment. You answer 402 Payment Required with a PAYMENT-REQUIRED header: amount, asset (USDC), network, payTo. |
| 2. Buyer signs | The buyer signs an EIP-3009 TransferWithAuthorization: from, to, value, validAfter, validBefore, nonce. USDC uses 6 decimals (1 USDC = 1,000,000 base units in Circle's examples). |
| 3. Buyer retries | The retry carries a PAYMENT-SIGNATURE header with the signed authorization. |
| 4. Seller proves control | Your server builds a Facilitator-Seller-Proof: a base64url envelope with an EIP-712 signature proving control of payTo. Domain name in Circle's sample: Circle Facilitator Seller Request, version 1. It binds purpose (verify, settle, or status), method, body hash, network, payTo, nonce, and a time window (sample: 5 minutes). |
| 5. Settle | POST the x402 payment payload + payment requirements to https://api.circle.com/v1/facilitator/x402/settle with the Facilitator-Seller-Proof header. Circle validates the authorization, screens buyer and seller addresses, records durable payment state, submits the USDC transfer, and broadcasts it — paying the settlement gas itself. |
| 6. Read the answer | /settle always answers HTTP 200. Terminal success: success: true with payer, transaction hash, network, and amount. Pending: success: false with errorReason: settlement_pending and a paymentId. |
| 7. Confirm before fulfillment | Sign a fresh seller proof with purpose status, then GET https://api.circle.com/v1/facilitator/x402/status/{paymentId} until status is completed or failed. Fulfill only on completed. A timeout is not evidence of failure. |
| 8. Stay idempotent | Include a payment-identifier extension (16–128 chars, [A-Za-z0-9_-]) when you can, or retry with the exact same signed authorization. Never re-sign a fresh authorization for the same charge. |
| 9. Go to production | Circle's quickstart accepts a keyless trial on Arc testnet — no Circle account, no API key (chainId 5042002, USDC verifying contract 0x3600000000000000000000000000000000000000, Node v22.6+, viem, buyer wallet funded from the Circle faucet). Production settle requires a Circle API key. |
/status = completed), not on the HTTP 200 from /settle. This is a hard product constraint for risk reviews, not a footnote.| Facilitator | Model | x402 chains | Gas | Tradeoff |
|---|---|---|---|---|
| Circle Facilitator Service | Managed for sellers | Arc, Base, Polygon PoS | Circle pays | Dependence on Circle's relayer + API key; reorg language on Base/Polygon; no replay ledger of your own. |
| Coinbase CDP facilitator | Managed for sellers | Base, Solana | Facilitator path | Compliance controls (sanctions/illicit-finance screening) per AWS AgentCore docs; no Arc coverage; Coinbase-vendor path. |
| x402.org public facilitator | Public good | Multi-chain | Facilitator path | Shared capacity; fine for experiments, not a production contract. |
| Self-hosted / sovereign | Your own | Whatever you support | You pay | Full control, your own replay ledger — but you operate the relayer, fund the gas wallet, and build screening yourself. SML's mcp-x402 runs this dual-rail: EIP-3009 facilitator plus sovereign viem settlement. |
The clearest framing we've seen comes from a builder's decision doc (wienerlabs/square, Sept 2026): a hosted facilitator removes the gas cost from you only by moving it to someone else's key, adds a network hop to every verify and settle, and gives you no replay ledger of your own. Use managed for speed, sovereign for control — and know which one you're choosing.
ScriptMasterLabs sells its own x402 listings on Base today — this is the seller surface a managed facilitator replaces. The manifest, fetched live on September 23, 2026:
https://squeezeos-api.onrender.com/api/marketplace0xc29185fa176357612f3194735753e520e91adc46PAYMENT-SIGNATURE · Response header: PAYMENT-RESPONSEPARTIAL_REOPEN_PROVIDER_LISTING_ONLY
That manifest is what “accept x402” concretely means: one payTo address, one fee, real headers, free discovery. With Circle's Facilitator Service, the settlement plumbing behind that manifest — verification, screening, gas, broadcast — moves to Circle. What stays yours: the price, the fulfillment, and the payTo.
5042002), call /settle, watch /status go to completed.to to your payTo; value in base units./settle with a payment-identifier./status/{paymentId} until completed or failed. Fulfill only on completed. Never re-sign a fresh authorization for the same charge.Q: How does the Circle x402 facilitator work?
A: Your API answers unpaid calls with HTTP 402 and a price; the buyer signs an EIP-3009 USDC authorization and retries with a PAYMENT-SIGNATURE header. Your server signs a Facilitator-Seller-Proof and POSTs the payment to Circle's /settle endpoint. Circle verifies, screens both parties, records payment state, submits the transfer onchain, pays the gas, and returns evidence. USDC settles on Arc, Base, and Polygon PoS.
Q: Does Circle hold my funds?
A: No. Circle's own disclaimer says Facilitator Service verifies buyer-signed EIP-3009 USDC authorizations only — it does not hold, control, or transmit funds, verify transaction purpose, or confirm agent authority scope.
Q: Which chains does it support?
A: Arc, Base, and Polygon PoS, one integration, EIP-3009 exact scheme. Circle documents reorg risk on Base and Polygon PoS (no guaranteed receipt); Arc settlements are described as final.
Q: Do I need a Circle API key?
A: For production, yes. Arc testnet has a keyless trial with no Circle account required.
Q: Circle facilitator or my own?
A: Circle for the managed path (no relayer, no gas wallet, screening included). Your own for sovereignty (your ledger, your hops, your gas bill). SML runs the sovereign dual-rail path for its own listings.
Truth First. Proof Always. Pay Only for Accepted Delivery.