Skip to main content

Network Identifiers (CAIP-2)

x402 uses CAIP-2 standard network identifiers (namespace:reference) for unambiguous cross-chain support:
  • EVM networks: eip155:<chainId> — any EVM chain is supported (e.g., eip155:8453 for Base)
  • Solana: solana:<genesisHash> (first 32 bytes of the genesis block hash)
  • TON (TVM): tvm:<workchain> (e.g., tvm:-239 for mainnet, tvm:-3 for testnet)
  • Algorand: algorand:<reference> — URL-safe base64 of the genesis hash, first 32 characters (Algorand CAIP-2 profile)
  • Stellar: stellar:<network> (pubnet or testnet)
  • Aptos: aptos:<chainId> (e.g., aptos:1 for mainnet)
  • Hedera: hedera:<network> (mainnet or testnet)
  • Keeta: keeta:<networkId> (e.g., keeta:21378 for mainnet)
  • NEAR: near:<network> (mainnet or testnet)
  • Concordium: ccd:<genesisHash> (e.g., ccd:9dd9ca4d19e9393877d2c44b70f89acb for mainnet)
  • XRPL: xrpl:<networkId> (e.g., xrpl:0 for mainnet, xrpl:1 for testnet)
  • Cardano: cardano:<network> (mainnet, preprod, or preview). CIP-34 aliases (cip34:1-764824073, cip34:0-1, cip34:0-2) are accepted as input aliases and normalized to the canonical form.

Token Support

x402 supports tokens on EVM, Solana, TON, Algorand (AVM), Stellar, Aptos, Hedera, Keeta, NEAR, Concordium, XRPL, and Cardano networks: Facilitators support networks, not specific tokens — any compatible token works on any facilitator that supports that network. For NEAR, the payer signs a delegated NEP-141 transfer. The facilitator relayer sponsors NEAR gas and the required 1 yoctoNEAR deposit, so the payer spends only the NEP-141 token amount.

Production Network Support

Protocol support and production support are related but not identical:
  • Protocol support means x402 can express payment requirements and payloads for that network.
  • Runtime support means your server can register the network and use a compatible scheme implementation.
  • Production support means you also have a facilitator path that works for your deployment model: a production facilitator provider, a self-hosted facilitator, or self-facilitation.
For EVM networks in particular, x402 can support any eip155:<chainId> network at the protocol level. The operational question is whether you have a production settlement path for that network.

EVM: Asset Transfer Methods

x402 supports two asset transfer methods on EVM, selected automatically based on token capabilities: Both methods provide gasless transfers (facilitator sponsors gas), signature-based authorization, and secure payments. EIP-3009 is preferred when available (simpler, no approval step). Permit2 serves as the universal fallback. Permit2 approval: Requires a one-time onchain approval. x402 supports two gas sponsoring extensions that make this step gasless — see EIP-2612 Gas Sponsoring and ERC-20 Approval Gas Sponsoring.

EVM: Batch settlement (batch-settlement)

For high-frequency or repeated micropayment flows where settling every request onchain is too costly, x402 supports the batch-settlement scheme on EVM: the buyer deposits once into an escrow contract, signs off-chain vouchers per request, and sellers redeem in batches onchain. Per-request pricing still uses an up-to ceiling (PaymentRequirements.amount); actual charges can vary per request within that limit—see Batch settlement.

Specifying Payment Amounts

When configuring payment requirements, you have two options:
  1. Price String (e.g., "$0.01") — The system uses the chain’s default stablecoin. Only works on chains with a configured default.
  2. TokenAmount — Specify exact amountInAtomicUnits + asset address. Works on any chain with no configuration needed.

Using Custom ERC-20 Tokens

To use a custom ERC-20 token, you need three key pieces of information:
  1. Token Address: The contract address of your ERC-20 token
  2. EIP-712 Name: The token’s name for EIP-712 signatures
  3. EIP-712 Version: The token’s version for EIP-712 signatures
You can retrieve these from any block explorer:
  1. Name: Read the name() function - Example on Basescan
  2. Version: Read the version() function - Example on Basescan
These values are used in the eip712 nested object when configuring TokenAmount:

Default Assets for Dollar-String Pricing

When you use "$0.01" syntax, x402 needs to know which stablecoin to use. The following chains have pre-configured defaults. For chains not listed, use registerMoneyParser() or specify the price directly as a TokenAmount with amountInAtomicUnits. To contribute a new default asset, see Contributing a New Default Asset below.

EVM

Solana (SVM)

TON (TVM)

Algorand (AVM)

Stellar

Aptos

Hedera

HBAR (native token) is also supported using asset ID 0.0.0, with amounts in tinybars (1 HBAR = 10⁸ tinybars).

Keeta

NEAR

Cardano

ADA (lovelace) is also supported natively using asset lovelace, with amounts in lovelace (1 ADA = 1,000,000 lovelace). The client pays the Cardano network fee; the facilitator only broadcasts the signed transaction and requires no funded wallet.

Adding Support for New Networks

There are two distinct paths, depending on your goal:
  1. Runtime Registration — use any network in your own server code without modifying the x402 source. No PR required.
  2. Contributing a New Default Asset — upstream a chain so it appears in the default-asset tables above and supports "$0.01" dollar-string pricing out of the box. Requires a PR updating the TypeScript, Go, and Python SDK registries.

Runtime Registration

x402 uses dynamic network registration — you can support any EVM network without modifying source files.
Key Points:
  • Use CAIP-2 format: eip155:<chainId> for any EVM network
  • The scheme implementation handles the network automatically
  • You only need a facilitator that supports your target network, or you can run your own facilitator, or self-facilitate

Production checklist for a new EVM network

Before you treat a new EVM network as production-ready in your application, confirm all of the following:
  1. You know which token you want to accept and whether it uses EIP-3009 or Permit2.
  2. You have a production settlement path for that network:
    • a managed production facilitator,
    • a self-hosted facilitator,
    • or self-facilitation.
  3. You have decided whether to use explicit TokenAmount pricing or contribute a default asset for dollar-string pricing.
If you are still evaluating or prototyping, prefer explicit TokenAmount configuration first. That keeps the integration path clear even before a chain is added to the default-asset tables.

Contributing a New Default Asset

To add a chain to the default-asset tables above so that dollar-string pricing ("$0.01") works out of the box, open a PR against x402-foundation/x402. Follow the cross-SDK walkthrough in DEFAULT_ASSETS.md, which names every file in the TypeScript, Go, and Python registries that must be updated.

Facilitators

Network support in x402 depends on which facilitator you use. See Facilitators for recommended production options.

x402.org Facilitator

  • Supports: eip155:84532 (Base Sepolia), solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1 (Solana Devnet), stellar:testnet (Stellar Testnet), aptos:2 (Aptos Testnet), hedera:testnet (Hedera Testnet), xrpl:1 (XRPL Testnet)
  • Notes: Recommended for testing and development. This is the default facilitator in the x402 packages and requires no setup.

Production Facilitators

Multiple production-ready facilitators are available supporting various networks including Base, Solana, Polygon, Avalanche, and more. See Facilitators for available options.

Quick Reference

Running Your Own Facilitator

If you need immediate support or want to test before contributing, you can run your own facilitator. Video Guide: Adding EVM Chains to x402 Prerequisites
  1. Access to an RPC endpoint for your target network
  2. A wallet with native tokens for gas sponsorship
  3. The x402 facilitator code

Getting Help

Summary

Key takeaways:
  • Any EVM chain is supported via eip155:<chainId> — plus Solana, TON (TVM), Algorand (AVM), Stellar, Aptos, Hedera, Keeta, NEAR, Concordium, XRPL, and Cardano
  • Default assets are a convenience for "$0.01" dollar-string pricing; explicit TokenAmount works on any chain
  • Any ERC-20 token works on any EVM facilitator (via EIP-3009 or Permit2)
  • CAIP-2 identifiers provide unambiguous cross-chain support
Next, explore: