Tollstile

Choosing an x402 facilitator

Who pays the gas, what each facilitator charges, minimum payments, networks, and what happens when one is down — measured on 24 September 2026, with sources.

Public Beta · early access

x402 facilitators look interchangeable at the protocol level. They are not interchangeable economically or operationally. An x402 payment is signed by the buyer and broadcast by a facilitator, which submits the transfer and pays the gas. Which facilitator you use decides your per-payment cost, your minimum viable price, and what happens to your API when that provider is down. And exact is unusual: the merchant can change that operational provider even after the buyer has signed. The reference client does not choose for you; the facilitator option on x402() does.

This page is a measured comparison, not a recommendation. Every figure has a date and a source; fees have changed twice in 2026 and will change again.

Measured 24 September 2026

Prices, minimums and network lists below were read from each provider's published pricing and live GET /supported on that date. Providers marked not published have no fee schedule we could find. Check the source before relying on a number.

The short version

  • The seller pays, or nobody does. Among the providers with published billing terms, the facilitator fee is borne by the seller or subsidized; we found no buyer-side facilitator fee. The buyer signs and pays no gas.
  • The two largest hosted facilitators charge per settlement. Coinbase CDP: $0.001 per on-chain transaction after 1,000 free a month. PayAI: network gas plus 30%, about $0.0023 per settlement on Base.
  • A $0.001 price is awkward on all three. At CDP it is 100% of revenue above the free tier; at PayAI it loses money on every call; at Dexter it is below the minimum payment and cannot settle. At these fee levels, sub-cent pricing becomes economically awkward once free tiers are exhausted.
  • Only exact lets you switch facilitators after the buyer signs. upto binds the facilitator's address into the signature.

Fees, who pays gas, and minimums

FacilitatorGas paid bySeller feeFree tierMinimum paymentAuth
Coinbase CDPfacilitator$0.001 per on-chain transaction (a /settle that returns 2xx). /verify is free.1,000 transactions per monthnot statedCDP API key
PayAIfacilitatornetwork gas × 1.30 per settlement, since 21 Sep 2026. Base ≈ $0.0023, Polygon ≈ $0.0044, Arbitrum ≈ $0.0066, Solana ≈ $0.0015, Avalanche ≈ $0.0001. Testnets free.1,000 credits per receiving wallet, lifetime (≈ 430 Base settlements at today's gas)not statedAPI key beyond the free tier
Dexterfacilitatornoneyes, per network: Base ≈ $0.00108, Polygon ≈ $0.0023, Arbitrum ≈ $0.0043, Solana ≈ $0.0008, Avalanche ≈ $0.00005none
Circle Facilitator ServiceCirclenot publishedkeyless trial with an unstated allowancenot statedAPI key after the trial
Circle Gateway NanopaymentsCircle, in batchesnone per payment; a withdrawal fee when you move funds out of the Gateway balance (Base $0.01)$0.000001none
Heuristfacilitatornone (free plan, 10 req/s)none
UltravioletaDAOfacilitatornonenone
Polygon (x402.polygon.technology)facilitator; Polygon refunds gas from a $1M poolnot published
x402.orgtestnet only; not for mainnetnone
Corbits, Daydreams, CodeNut, Questflow, Kamiyo, Virtuals ACP, Load, xEcho, AurraCloud, Mogaminot published

Fees are billed separately (CDP: to your CDP account; PayAI: from prepaid credits) — none of these providers deducts its fee from the payment. What lands in payTo is what the buyer signed.

What a fee means at your price. Per call, as a share of revenue, above any free tier:

Your priceCDP ($0.001)PayAI on Base (≈ $0.0023)Dexter ($0, min ≈ $0.00108)
$0.001100%−131% (you lose money)cannot settle
$0.0110%23%0%
$0.101%2.3%0%
$1.000.1%0.23%0%

Networks, schemes, and upto

FacilitatorMainnets (GET /supported, 24 Sep 2026)Schemesupto address
Coinbase CDPBase, Polygon, Arbitrum, World, Solanaexact, upto, batch-settlement (EVM)listed in /supported
PayAIBase, Polygon, Arbitrum, Avalanche, Sei, X Layer, SKALE, Solanaexact, batch-settlementno upto
DexterBase, Polygon, Arbitrum, Optimism, Avalanche, BNB, World, Monad, Robinhood Chain, SKALE, Solanaexact, upto, batch-settlementlisted in /supported (Base, Polygon, Arbitrum, World, Monad, Robinhood)
Circle GatewayBase, Ethereum, Arbitrum, Avalanche, Optimism, Polygon, Unichain, World, Sei, HyperEVM, Sonic, Arc (no Solana)exact with the GatewayWalletBatched domain
x402.orgtestnets onlyexact, upto0xd407e409E34E0b9afb99EcCeb609bDbcD5e7f1bf (Base Sepolia)

For upto, pass the address your facilitator lists as upto.facilitatorAddress; the buyer signs it, and only that facilitator can settle. See x402() options.

Reliability

Coinbase publishes a service objective for its facilitator: 99.9% availability and a Base /settle P95 of 900 ms. No other facilitator publishes one. We have not measured latency or uptime independently yet; when we do, the numbers will appear here with their method.

What Tollstile does when a facilitator is down is the same for every provider: /verify failing to answer returns 503 without running your handler; /settle failing to answer leaves the charge unknown and reconciliation resolves it from the chain, never by calling /settle again. So an outage does not create a second debit. Provider-side billing for a broadcast whose response was lost, or for a failed broadcast, may still apply — none of the providers above documents that case.

Switching, and why exact is different

The buyer's exact signature authorizes the token contract — from, to, value, validity window, nonce — and names no facilitator. Any facilitator can broadcast it, and the chain accepts it once. So you can change facilitator in configuration at any time, including for payments already signed, and a payment the old provider never broadcast will settle through the new one. Two providers broadcasting the same authorization cannot double-charge the buyer: the second reverts.

upto is not portable: the facilitator's address is inside what the buyer signed. Changing it means new 402s and new signatures. Circle Gateway is Circle's alone.

Today x402() takes one facilitator. Running several — spending a free tier first, failing over during an outage — is not built in; if you want it, say so on the roadmap.

Sources

On this page