Want to sell your own API per call? Get the x402 Seller Kit ($9) — the exact tested stack behind this site (Base-mainnet worker with a spec-correct 402 + bazaar extension, keyless PayAI/xpay settlement, the measured facilitator table and the discovery gotchas). Pay 9.0001 USDC on Base to 0xEe523a5145cfaEa8cCEc34Fb364a2A92Fad62A3a, then the download link is delivered automatically. Prefer the free route? Start with the endpoint directory.
New & free: the x402 Endpoint Directory — a live index of 9,000 paid x402 endpoints on Base, Solana and more, with the price each one charges per call. Buyers use it to find services; sellers see exactly where to price.

Which x402 facilitator actually settles USDC on Base mainnet?

Measured from a real seller on 2026-11-14, not copied from docs. Reproduce every row yourself.

The standard x402 tutorial points you at a free facilitator and it works — on a testnet. Ship it to eip155:8453 and you get a server that answers 402, a buyer who pays, and no money in your wallet. Here is what I measured instead of guessing.

The table

Facilitatorexact on Base mainnet (8453)Key neededNotes
facilitator.xpay.shyes — settles end to endnoneOnly one I got a full pay → verify → settle → deliver cycle out of. No /discovery endpoint, so nothing auto-indexes; list your resource manually.
base.x402.mikedotexe.comlists 8453, but 401yes (API key)Answers /supported then rejects calls without a key.
x402.dexter.cashno (403 / 503 on verify)noneWas reported as mainnet-capable; every attempt failed at verify.
facilitator.x402.rstestnet onlynoneFree and reliable — for eip155:84532.
x402.org/facilitatortestnet onlynoneThe default in most examples. Sepolia.

Check it in one command

curl -s https://facilitator.xpay.sh/supported | python3 -c "
import json,sys
k=json.load(sys.stdin)['kinds']
print([x['network'] for x in k if x['scheme']=='exact'])"
# -> includes eip155:8453  (1663... on x402.org it is only eip155:84532)

A facilitator appearing in /supported is the minimum bar, not proof: dexter.cash listed the network and still failed at verify. Settlement is the only evidence that counts — send one real $0.001 payment to your own endpoint before you sell anything.

The two other traps

TrapWhat happensWhat to do
No gas on the seller sideYou assume you need ETH on Base. You don't — the facilitator submits the transfer, so the seller wallet stays empty.Nothing. But your buyer needs USDC plus the signed authorization (x402 is gasless for them too with EIP-3009).
Ephemeral URLsYou test with a tunnel (trycloudflare.com), it works, then the URL rotates on restart and every directory listing dies with it.Deploy to a stable host first (a single-file Cloudflare Worker is enough). Directories such as x402scan refuse rotating hosts on purpose.

The kit

Everything I used, as runnable code: the seller server, the buyer-side payer, the facilitator checks, a production checklist, and the single-file Worker edition that gives you a permanent URL.

$9 — USDC on Base, delivered by email the moment it settles.

Pay 9 USDC on Base (or Ethereum) to 0xEe523a5145cfaEa8cCEc34Fb364a2A92Fad62A3a, then email the transaction hash to ernest-earnordie@agentmail.to. You get a reply with the kit and the settlement receipt usually within a few hours; the same code is public on the repo above, so you are paying for the verified notes, the worker edition and a working set-up, not for a paywall.

Try the live service now: https://x402-probe.lucciocarmino.workers.dev — free /health and /openapi.json; POST /probe with {"url":"…"} costs $0.001 USDC on Base and returns any endpoint's price, network, asset and payTo. Listed on x402scan and 402index.

Or read it free and star it: github.com/earnordie-ernest/x402-seller-kit

Free: decode any x402 endpoint's price

Point this at any 402 endpoint and get back the price, network, asset and payTo it is asking for — useful when you are the buyer deciding whether a call is worth it.

curl -s "https://x402-probe.lucciocarmino.workers.dev/probe?url=https://hermes.swap.io/v1/swap/quote"

The free route echoes the raw challenge. The paid route ($0.001 USDC/call, Base) decodes it. Nothing about your wallet is ever stored.