Skip to content

Supported chains

The 0xGasless facilitator currently supports three EVM networks plus Solana (mainnet and devnet). More are planned.

FieldValue
Network slugavalanche
Aliasesavalanche-mainnet, avax, avax-mainnet
Chain ID43114
Facilitator URLhttps://x402.0xgasless.com
Explorersnowtrace.io
USDC (canonical / EIP-3009)0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E
XSGD (StraitsX / EIP-3009)0xb2F85b7AB3c2b6f62DF06dE6aE7D09c010a5096E
USDC.e (bridged)0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664
USDT (canonical)0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7
USDT.e (bridged)0xc7198437980c041c805A1EDcbA50c1Ce5db95118
ERC-8004 identity supportedYes

USDC and XSGD are EIP-3009 native — signed authorizations settle directly against the token contract via transferWithAuthorization. No pre-approve needed.

USDT and the .e bridged tokens are not EIP-3009. They settle via the A402 fallback path, which is different from your code’s perspective: the payer must approve() the listed relayerContract once (an on-chain transaction — so this path isn’t fully gasless for the payer’s first use), and signs under the A402 relayer domain instead of the token’s domain. Read the per-token settlement mode from GET /tokens; prefer the EIP-3009 tokens (USDC, XSGD) when you can.

  • XSGD is the Singapore-dollar stablecoin issued by StraitsX — 1 XSGD = 1 SGD (~US$0.77), 6 decimals.
  • EIP-712 signing domain: { name: "XSGD", version: "2" }. Unlike USDC, the XSGD contract exposes no on-chain DOMAIN_SEPARATOR()/version() getters, so you cannot discover this domain from the contract — read it from GET /tokens instead of probing.
  • The contract is pausable and has an issuer blacklist (standard for regulated stablecoins). If a transfer party is blacklisted or the token is paused, /settle returns the revert reason.
  • On the 0xGasless platform, spend caps are USD-denominated: XSGD amounts are converted with the live Chainlink SGD/USD feed, so a 10 XSGD payment counts as ≈ $7.75 against your caps — not $10.
FieldValue
Network slugbase
Aliasesbase-mainnet
Chain ID8453
Facilitator URLhttps://x402.0xgasless.com
Explorerbasescan.org
USDC (canonical)0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
ERC-8004 identity supportedNot yet (planned)

Base only does the canonical EIP-3009 scheme.

ERC-8004 identity isn’t available on Base yet. Agents can still spend on Base; they just can’t have an on-chain identity NFT there.

FieldValue
Network slugavalanche-fuji
Aliasesavalanche-testnet, fuji, avax-testnet
Chain ID43113
Facilitator URLhttps://x402.0xgasless.com — same URL as mainnet
Explorertestnet.snowtrace.io
USDC (canonical / EIP-3009)0x5425890298aed601595a70AB815c96711a31Bc65
XSGD (test deployment / EIP-3009)0xd769410dc8772695A7f55a304d2125320A65c2a5
ERC-8004 identity supportedYes
AVAX faucetcore.app/tools/testnet-faucet
USDC faucetSame faucet as AVAX

Use Fuji for development. Free, no real money at stake.

AvalancheFujiBase
Typemainnettestnetmainnet
Chain ID43114431138453
Native USDC EIP-3009✅✅✅
XSGD (SGD stablecoin, EIP-3009)✅✅❌
Bridged USDC.e / USDT.e✅❌❌
ERC-8004 identity✅✅❌ (planned)
Real fundsyesnoyes
Your situationUse
First-time integration / testingFuji
Production, want lowest fees + AVAX gas toolingAvalanche
Production, want Base ecosystem integrationBase — currently in limited service; prefer Avalanche today
Production, want on-chain identity (today)Avalanche (Base coming; Solana devnet live)
Production, multi-chainAvalanche + Solana; identity on Avalanche (+ Solana devnet)

Don’t hardcode these in production. Pull the current list from the facilitator:

Terminal window
# chains + token addresses
curl https://x402.0xgasless.com/list
# tokens per chain WITH settlement mode + the EIP-712 domain to sign under
curl https://x402.0xgasless.com/tokens

/list contains chain IDs, token addresses, and aliases. /tokens additionally tells you, per token, whether it settles gaslessly with one signature (settlement: "eip3009", no approve) or needs a one-time approve of the relayer (settlement: "a402"), and the exact EIP-712 domain to sign. See Facilitator API → /tokens.

Nothing about the x402 flow changes per token — you just point asset at the token you want and sign under that token’s domain:

  1. GET /tokens → find the token on your chain. For XSGD on Avalanche: address 0xb2F8…096E, settlement: "eip3009", domain { name: "XSGD", version: "2" }.
  2. Sign a TransferWithAuthorization typed message with the payer’s key: domain { name: "XSGD", version: "2", chainId: 43114, verifyingContract: <token address> }, message { from, to, value, validAfter, validBefore, nonce } (value in 6-decimal base units — "10000000" = 10 XSGD).
  3. POST /settle with { paymentPayload: { token: <token address>, payload: { authorization, signature } }, paymentRequirements: { chainId: 43114 } }.

The facilitator submits transferWithAuthorization on-chain and pays the gas — the payer needs zero AVAX and no prior approve. Managed platform wallets (server wallets and agent wallets) can do the same via POST /v1/agent/x402/sign with "tokenSymbol": "XSGD" — the platform signs with the custodied key and enforces USD spend caps at the live SGD/USD rate.

Solana payments are live — same facilitator, same /verify + /settle endpoints, settlement kind svm-exact. The facilitator’s fee-payer wallet co-signs and pays all transaction fees, so the payer needs zero SOL, mirroring the gasless guarantee on EVM.

FieldMainnetDevnet
Network namesolanasolana-devnet
CAIP-2solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpsolana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1
Fee payer (facilitator)897YkTt5b6mHJgs3CiJQS8mCHNeBaKAZXHZzPUEGYHK8same
USDCEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU
XSGD71S9cppWipeUEQDFngYwxjoxB6Sz1MUqX72byLsVYJqy5qaqr42T127uirLEJbfjpzaETWCyuvJMXapkB1SeduAK (test)
Settlementsvm-exactsvm-exact
ERC-8004 identityNot yet (mainnet program deploy pending)Yes — program FJbdYy6auvgUNbSohFiKxCguUJzuUuuZ71eRHCfDuajc
Explorersolscan.iosolscan.io?cluster=devnet

Two things to know:

  • Discovery: Solana appears in GET /health and GET /tokens (entries with family: "svm"), but not in /list — that endpoint follows the EVM-shaped x402 listing format.
  • How it settles: instead of an EIP-712 signature, the payer signs a Solana transaction that transfers the SPL token, built with the facilitator’s feePayer as the transaction fee payer. POST it to /settle and the facilitator co-signs and submits. The Agent SDK (@0xgasless/agent v2.1+) does this for you.
  • Facilitator API — /list returns the same data programmatically.
  • Self-hosting — run your own facilitator with whichever chains you want.