Every Chain PipRail Supports for x402 Payments
An AI agent should be able to pay with whatever it already holds — on whatever chain that lives on. PipRail covers 29 chains from a single parameter. Here is every one, the tokens on each, and the design choice that lets it reach chains it has never heard of.
Most payment SDKs answer “which chains do you support?” with a list they maintain — an allowlist, baked into a release, that grows one pull request at a time. PipRail answers it differently: chain details are data the caller passes, not an allowlist the SDK ships. The built-in presets are a convenience — each comes with its canonical USDC address already filled in — but they are not a fence. Name a preset, or hand the SDK a chain it has never seen, and it pays either way.
That is the whole idea behind one parameter. The chain: value you pass selects the network, its sensible RPC default, the native coin, and the right stablecoin addresses — all at once. Going from Base to Solana, or from Polygon to the XRP Ledger, is a one-word change in your code and nothing else.
// A built-in preset — the canonical USDC address is pre-filled for you:
new PipRailClient({ chain: 'base', wallet: { key } })
// Switch chains by changing one word:
new PipRailClient({ chain: 'solana', wallet: { key } })
// Any other EVM chain works too — pass a viem Chain or a plain { id, rpcUrl }:
new PipRailClient({ chain: { id: 100, rpcUrl: '…' }, wallet: { key } })The 20 EVM mainnets
Every major EVM chain is a built-in preset, with its Circle-native USDC pre-filled. If a chain you want is not in this list, you do not wait for us to add it — you pass it as a viem Chain or a bare { id, rpcUrl }, and it just works.
The nine non-EVM families
This is where breadth stops being a number and starts being an advantage. PipRail does not just speak EVM — it puts the payer’s own wallet on Solana, TON, Tron, NEAR, Sui, Aptos, Algorand, Stellar and the XRP Ledger, each as a self-contained driver that mirrors the others file-for-file. The libraries for these chains are optional peers that load only when you name one, so a pure-EVM install never pays for them.
A few of these chains have a one-time receive prerequisite, and PipRail is honest about it rather than failing silently: NEAR and Algorand need a one-time token registration on the recipient, Stellar and the XRP Ledger need a trustline and an activated account, and the planPayment() call surfaces exactly that with a RECIPIENT_NOT_READY blocker and a one-line funding hint. Paying with the native coin sidesteps all of it.
The tokens, in one rule
You do not have to memorize a matrix. The coverage follows a simple rule, and everything else is an address away:
- USDC — on almost every chain (Circle-native, pre-filled).
- USDT — on most chains, wherever there is a Tether-native (not bridged) version.
- EURC — on Ethereum, Base, Avalanche and Stellar (every one EIP-3009, so exact-payable).
- RLUSD — on the XRP Ledger. On BNB Chain, also FDUSD, USD1 and U.
- The native coin — ETH, SOL, XRP, TRX, NEAR, and so on — a valid payment asset on every family.
- Anything else — by address, on any chain. Every shipped token address is verified on-chain before release.
Why breadth is the point
An agent does not get to choose what it holds when it meets a paywall. It holds what it holds — maybe USDC on Base, maybe SOL on Solana, maybe XRP because that is where its budget lives. A rail that only speaks one chain forces a bridge, a swap, and a wait before the agent can do the one thing it was asked to do: pay and move on. A rail that speaks twenty-nine lets it pay with what it has.
That is why PipRail treats chains as data and not as a gate. The list above is what ships today, verified address by verified address — but the design is built so the list is never the limit. Name a chain. If we have a preset, you get USDC for free. If we do not, pass it in. Either way, your agent pays.
Like & share PipRail
Star on GitHub Follow @piprailhq