Getting Started 3 min read

Supported Networks

Chains and tokens supported by FareSide

FareSide supports multiple blockchain networks through the x402-rs facilitator. We use CAIP-2 identifiers to unambiguously identify chains.

EVM Networks (eip155)

NetworkCAIP-2 IDChain IDStatusTestnet (CAIP-2)
Baseeip155:84538453✅ Availableeip155:84532 (Sepolia)
Polygoneip155:137137✅ Availableeip155:80002 (Amoy)
Avalanche C-Chaineip155:4311443114✅ Availableeip155:43113 (Fuji)
Celoeip155:4222042220✅ Availableeip155:11142220
Seieip155:13291329✅ Availableeip155:1328
XDCeip155:5050✅ Available-
XRPL EVMeip155:14400001440000✅ Available-
Peaqeip155:33383338✅ Available-
IoTeXeip155:46894689✅ Available-
Note

FareSide supports any EVM-compatible network. If you need a network that isn’t listed above, please contact us to enable support for your preferred chain.

Solana (solana)

NetworkCAIP-2 IDStatusTestnet (CAIP-2)
Solanasolana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp✅ Availablesolana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1 (Devnet)

Aptos (aptos)

NetworkCAIP-2 IDStatusTestnet (CAIP-2)
Aptosaptos:1✅ Available*aptos:2

Supported Tokens

EVM: EIP-3009 Compatible Tokens

Tokens implementing EIP-3009 (transferWithAuthorization) are natively supported. The client signs an EIP-712 typed data message, and the facilitator submits the signed authorization on-chain — the client pays no gas.

The extra field carries the EIP-712 domain parameters required for signature construction:

{
  "scheme": "exact",
  "network": "eip155:84532",
  "amount": "10000",
  "asset": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
  "payTo": "0xBAc675C310721717Cd4A37F6cbeA1F081b1C2a07",
  "maxTimeoutSeconds": 300,
  "extra": {
    "name": "USDC",
    "version": "2"
  }
}

extra fields:

  • name and version — EIP-712 domain values. Must exactly match the values hardcoded in the token contract. Required for correct signature construction.
  • assetTransferMethod — optional. Defaults to eip3009 when omitted.
Note

If name and version are omitted, the facilitator will attempt to fetch them from the token contract on-chain. Providing them explicitly avoids extra RPC calls and ensures signature consistency.

Well-known EIP-3009 tokens: USDC, EURC.

For a detailed explanation of how EIP-3009 transfers work, see the EVM Asset Transfer Methods guide.

EVM: Permit2 Compatible Tokens

For ERC-20 tokens without built-in EIP-3009 support, x402 uses Uniswap Permit2 combined with the x402Permit2Proxy contract to enable gasless settlement.

To use this path, set assetTransferMethod to permit2 in extra:

{
  "scheme": "exact",
  "network": "eip155:84532",
  "amount": "10000",
  "asset": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
  "payTo": "0xBAc675C310721717Cd4A37F6cbeA1F081b1C2a07",
  "maxTimeoutSeconds": 300,
  "extra": {
    "assetTransferMethod": "permit2",
    "name": "USDC",
    "version": "2"
  }
}

Key difference: Permit2 requires a one-time on-chain approve() transaction from the client to the Permit2 contract before gasless signatures can be used. After this setup, all subsequent payments are signature-based.

The x402Permit2Proxy ensures the facilitator cannot alter the payment amount or destination — see EVM Asset Transfer Methods for the full security model and payment flow.

Upto Scheme

EVM chains also support the upto scheme — usage-based payments where the client authorizes a maximum amount and the server charges based on actual consumption. The upto scheme uses Permit2 exclusively.

Solana: Any SPL Token

All SPL tokens on Solana are supported for x402 payments. This includes:

Aptos: Fungible Assets

On Aptos, we support payments using the standard Fungible Asset standard (0x1::primary_fungible_store::transfer).

The exact scheme on Aptos supports sponsored transactions. When available, the extra field will contain sponsored: true, indicating the facilitator will pay the gas fees.

{
  "scheme": "exact",
  "network": "aptos:1",
  "amount": "1000000",
  "asset": "0xbae207659db88bea0cbead6da0ed00aac12edcdda169e591cd41c94180b46f3b",
  "payTo": "0x1234...",
  "maxTimeoutSeconds": 60,
  "extra": {
    "sponsored": true
  }
}

Choosing a Network

For Development

Use testnets to avoid spending real funds:

  • Base Sepolia (eip155:84532) - Recommended for EVM development
  • Solana Devnet (solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1) - Recommended for Solana development
  • Aptos Testnet (aptos:2) - Recommended for Aptos development

Get testnet tokens from faucets:

For Production

Choose based on your users and use case. All supported networks offer low fees suitable for micropayments.

For maximum user reach, accept on multiple chains and let users pay where convenient. You could later bridge/convert tokens, if enough value accumulated on a chain.

Configuration

FareSide Hosted Facilitator

The FareSide hosted facilitator supports all networks listed above. Simply specify the CAIP-2 network identifier in your price tag:

// Hono example (TypeScript)
app.use(paymentMiddleware(
  {
    "/api/data": {
      accepts: [{
        scheme: "exact",
        price: "$0.01",
        network: "eip155:8453", // Base Mainnet
        payTo: "0xYourWallet",
      }],
      description: "Data access"
    }
  },
  server
));
// Axum example (Rust)
// Using helper for Base Mainnet
let usdc = USDC::base();
// Or manual CAIP-2
let chain_id: ChainId = "eip155:8453".parse().unwrap();

Adding New Networks

FareSide’s network support is determined by x402-rs. To request support for additional networks:

  1. Open an issue on x402-rs GitHub
  2. Or contact us on Telegram

Next Steps