9 keyless facilitators · 13 chains · every one live-settled
Which x402 facilitator settles on your chain?
9 keyless facilitators across
13 chains — no API key, no account, no registration.
Every entry was verified by settling a real payment,
not by reading a status endpoint.
And the shortest answer: with PipRail you don't need one at all.
A facilitator verifies and settles an x402 payment for you. It is a convenience, not a
requirement. PipRail verifies payments locally against your own RPC,
so the default path has no facilitator, no backend and no third party holding your money.
The x402 v2 spec agrees — §7 says a resource server may host the verify and settle
endpoints itself.
You want a facilitator for exactly one reason: the ratified gasless
exact scheme,
where somebody has to sponsor the gas and you would rather that were not your relayer key.
The coverage table below
is who can do that, and where.
Coverage, by chain
Sorted by how many keyless options each chain has. Every entry records the day we settled
through it, and 25 carry a transaction you can open on a block explorer.
Generated from the SDK's own registry, so it cannot drift from what the code does.
A chain missing here has no known keyless facilitator — it does not mean x402 will
not work there. PipRail's default local verification works on
every chain it supports.
The other way round: by facilitator
The same 28 chain-and-facilitator pairings, indexed by vendor — because half the
time you already know the facilitator and want to know where it reaches.
The registry ships inside @piprail/sdk — the page above is
generated from it, so what you read here is what your program gets.
Look one up
import { knownFacilitatorsFor, firstKeylessFacilitator } from'@piprail/sdk'// Every keyless facilitator we have live-settled through, on one chain.knownFacilitatorsFor('eip155:8453')
// → [{ url: 'https://facilitator.payai.network', keyless: true,// schemes: ['exact'], settles: ['eip3009'], note: '…' }, …]// Or just the first one that speaks a given settlement method.firstKeylessFacilitator('solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', 'svm')?.url
// → 'https://facilitator.payai.network'firstKeylessFacilitator('eip155:999999') // unknown network// → undefined
Or skip facilitators entirely
import express from'express'import { requirePayment } from'@piprail/sdk'const app = express()
// The DEFAULT rail. No facilitator, no backend, no third party:// the buyer broadcasts, and you verify against your OWN RPC.
app.get('/report',
requirePayment({ chain: 'base', token: 'USDC', amount: '0.05', payTo }),
(req, res) => res.json({ unlocked: true }),
)
// Want the gasless rail too? Offer both and let the agent pick.// Only THIS one needs a facilitator (or your own relayer key).
app.get('/premium',
requirePayment({
chain: 'base', token: 'USDC', amount: '0.05', payTo,
schemes: ['onchain-proof', 'exact'],
}),
(req, res) => res.json({ unlocked: true }),
)
The things people actually ask before choosing one.
What is an x402 facilitator?
A facilitator is a third-party service that verifies and settles an x402 payment on your behalf. It exposes two endpoints — POST /verify and POST /settle — and, on a gasless "exact" rail, it also sponsors the gas so neither the buyer nor the seller pays it. It is a convenience, not a requirement: x402 v2 §7 explicitly allows a resource server to host those endpoints itself.
Do I need a facilitator to accept x402 payments?
No. PipRail verifies payments locally against your own RPC, so you can accept x402 with no facilitator, no backend and no third party in the path. A facilitator is only needed when you want the ratified gasless "exact" scheme and would rather not run a relayer key yourself.
How do I accept x402 payments without a facilitator?
Call requirePayment() with your chain, token, amount and your own wallet address, and point the SDK at your own RPC URL. The 402 challenge, the proof check and the replay guard all run inside your process: PipRail reads the transaction from the RPC you chose, re-derives every field from the challenge it issued, and checks a single-use proof set. No third party verifies, settles, or sees the payment, and the money moves from the payer's wallet to yours in one on-chain transfer. x402 v2 §7 permits this explicitly — "resource servers MAY host the endpoints themselves" — so a facilitator-free deployment is spec-conformant, not a workaround. The trade-off is gas: with nobody sponsoring it the buyer pays their own, so if you want the buyer to pay nothing you either use a facilitator or run the fee-payer key yourself on a self-settled "exact" rail.
Do I need a Coinbase CDP account to use x402?
No. Coinbase runs the best-known x402 facilitator, which is why most guides assume it, but the protocol requires no account with anyone. PipRail ships no vendor coupling at all: there is no signup, no API key, no dashboard and no CDP dependency. You install an npm package, name a chain, and payments settle to a wallet whose keys you hold. If you do want a facilitator, PipRail routes to keyless ones that also need no account.
What does "keyless" mean for a facilitator?
Keyless means the facilitator requires no API key, no account and no registration — you point at the URL and it settles. Every facilitator listed here is keyless. A facilitator that demands an API key couples your payment rail to a vendor relationship, which is the thing x402 exists to avoid.
Which chains have a keyless x402 facilitator?
13 chains have at least one known keyless facilitator: Base, Polygon, Arbitrum, Avalanche, BNB Chain, Monad, Optimism, Solana, Algorand, Ethereum, HyperEVM, Sei, Unichain. Base has the most options with 6.
What is EIP-3009, and why does it matter here?
EIP-3009 (transferWithAuthorization) lets a token holder sign a transfer off-chain and let somebody else submit it and pay the gas. It is what makes the x402 "exact" scheme gasless for the buyer: you sign, the facilitator submits. Native USDC implements it on most chains, which is why almost every facilitator below settles eip3009 rails. A chain whose USDC is a bridged wrapper usually cannot do this, which is why coverage is uneven.
How does this relate to the x402 Bazaar?
The Bazaar is a discovery index of payable x402 endpoints — it answers "what can I buy?". A facilitator answers "who will settle my payment?". They are different layers and you can use either, both, or neither. PipRail emits a bazaar-compatible extensions.bazaar block on every 402 it serves, so a PipRail endpoint is discoverable without any facilitator being involved.
How was this list verified?
Every entry was verified by settling a real payment through the facilitator on the date recorded against it — not by reading its /supported endpoint and assuming. 25 settlements carry a transaction hash you can open on a block explorer, and all 25 were re-confirmed on-chain on 2026-08-28. Entries are only added after a live settlement succeeds.
What happens when a facilitator goes offline?
It gets removed. A registry that only ever grows is how a dead endpoint survives in it: on 2026-08-28 a liveness sweep found two seeded facilitators had died — one had gone NXDOMAIN, the other pointed at a deleted container — and one of them was first in the Monad list, so the SDK was handing callers a dead URL. Both were removed in @piprail/sdk, regression tests now assert they can never come back, and the sweep is re-run before releases that touch facilitator routing.
Like & share PipRail
Star on GitHub Follow @piprailhq