How does the Circle x402 facilitator work?

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.

Launch receipts (September 2026).
September 16, 2026 — Arc mainnet goes public; CoinDesk reports the x402 Facilitator Service launched the same day, processing payments across Arc, Base, and Polygon PoS.
September 17, 2026 — Circle co-founder and CEO Jeremy Allaire posts on X that the x402 Facilitator service is now live on Arc (reported by Odaily).
~September 19, 2026 — general availability announced for USDC settlement on Arc, Base, and Polygon PoS via the EIP-3009 exact scheme (Stablecoin Insider).
Arc mainnet context — EVM-compatible L1 with USDC as the gas token; founding validators include BlackRock, DTCC, and Visa; 100+ partners operational at launch; testnet processed 500–700M transactions; 10 billion ARC minted with no public-token commitment (CoinDesk).
Circle's own framing — Circle's co-founder-era materials put USDC at 98.8–99.3% of agent-driven x402 volume; TRM Labs' independent audit (Sept 9, 2026) puts USDC at 99.6% of settled x402 dollars. The facilitator competition is about whose rails, not which coin.

The money path, step by step

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.

StepWhat happens
1. Unpaid callBuyer (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 signsThe 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 retriesThe retry carries a PAYMENT-SIGNATURE header with the signed authorization.
4. Seller proves controlYour 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. SettlePOST 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 fulfillmentSign 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 idempotentInclude 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 productionCircle'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.

The honest caveats — what Circle itself says

Reorg risk is in the docs, not the marketing. Circle states settlements on Base and Polygon PoS are subject to blockchain reorganization risk and that Circle does not guarantee fund receipt on those networks. Arc settlements are described as final. Design your fulfillment on terminal evidence (/status = completed), not on the HTTP 200 from /settle. This is a hard product constraint for risk reviews, not a footnote.

The disclaimer (Circle Technology Services, LLC, software provider): Facilitator Service “verifies buyer-signed EIP-3009 USDC authorizations under x402 only. It does not hold, control, or transmit user funds, verify transaction purpose, or confirm agent authority scope.” Translation: Circle is your settlement plumber, not your compliance department. If an agent overpays for your API, the payment is still valid — Circle won't adjudicate what the agent meant to buy.

Dependence is the price. The service makes sellers depend on Circle for verification, screening, gas, and broadcast. If Circle's facilitator is down, your paid surface is down — unless you built a fallback rail.

Circle facilitator vs the alternatives

FacilitatorModelx402 chainsGasTradeoff
Circle Facilitator ServiceManaged for sellersArc, Base, Polygon PoSCircle paysDependence on Circle's relayer + API key; reorg language on Base/Polygon; no replay ledger of your own.
Coinbase CDP facilitatorManaged for sellersBase, SolanaFacilitator pathCompliance controls (sanctions/illicit-finance screening) per AWS AgentCore docs; no Arc coverage; Coinbase-vendor path.
x402.org public facilitatorPublic goodMulti-chainFacilitator pathShared capacity; fine for experiments, not a production contract.
Self-hosted / sovereignYour ownWhatever you supportYou payFull 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.

The live-seller receipt: what this looks like in production

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:

SML x402 manifest — live receipt (HTTP 200, verified September 23, 2026).
https://squeezeos-api.onrender.com/api/marketplace
Protocol: x402-v2 · Network: eip155:8453 (Base) · Asset: USDC
Provider-listing fee: 0.01 USDC one-time · payTo: 0xc29185fa176357612f3194735753e520e91adc46
Request header: PAYMENT-SIGNATURE · Response header: PAYMENT-RESPONSE
Free discovery: true · Paid marketplace reads: quarantined (seller intake only)
Status: PARTIAL_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.

Seller checklist: stand up on Circle's facilitator

  1. Create the payTo wallet. An EVM address that receives USDC. Keep the private key or signing path — every Facilitator Service call needs an EIP-712 seller proof from it.
  2. Start on Arc testnet, keyless. No Circle account needed. Sign a testnet authorization (chainId 5042002), call /settle, watch /status go to completed.
  3. Capture the buyer's EIP-3009 authorization on every retry. Match to to your payTo; value in base units.
  4. Build Facilitator-Seller-Proof per call (purpose-bound, 5-minute window) and POST /settle with a payment-identifier.
  5. Poll /status/{paymentId} until completed or failed. Fulfill only on completed. Never re-sign a fresh authorization for the same charge.
  6. Graduate to production with a Circle API key; point the same integration at Arc, Base, and Polygon PoS.
  7. Write the reorg rule into your risk review: Base/Polygon PoS = terminal evidence before fulfillment; Arc = final per Circle's docs.

Also on scriptmasterlabs.com

Sources

Frequently Asked Questions

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.