Supported chains
The 0xGasless facilitator currently supports three EVM networks. More are planned.
Mainnet
Section titled “Mainnet”Avalanche C-Chain
Section titled “Avalanche C-Chain”| Field | Value |
|---|---|
| Network slug | avalanche |
| Aliases | avalanche-mainnet, avax, avax-mainnet |
| Chain ID | 43114 |
| Facilitator URL | https://x402.0xgasless.com |
| Explorer | snowtrace.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 supported | Yes |
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. The facilitator handles these via a fallback path; from your code there’s nothing different to do.
XSGD notes
Section titled “XSGD notes”- 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-chainDOMAIN_SEPARATOR()/version()getters, so you cannot discover this domain from the contract — read it fromGET /tokensinstead 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,
/settlereturns 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.
| Field | Value |
|---|---|
| Network slug | base |
| Aliases | base-mainnet |
| Chain ID | 8453 |
| Facilitator URL | https://x402.0xgasless.com |
| Explorer | basescan.org |
| USDC (canonical) | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
| ERC-8004 identity supported | Not 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.
Testnet
Section titled “Testnet”Avalanche Fuji
Section titled “Avalanche Fuji”| Field | Value |
|---|---|
| Network slug | avalanche-fuji |
| Aliases | avalanche-testnet, fuji, avax-testnet |
| Chain ID | 43113 |
| Facilitator URL | https://x402.0xgasless.com — same URL as mainnet |
| Explorer | testnet.snowtrace.io |
| USDC (canonical / EIP-3009) | 0x5425890298aed601595a70AB815c96711a31Bc65 |
| XSGD (test deployment / EIP-3009) | 0xd769410dc8772695A7f55a304d2125320A65c2a5 |
| ERC-8004 identity supported | Yes |
| AVAX faucet | core.app/tools/testnet-faucet |
| USDC faucet | Same faucet as AVAX |
Use Fuji for development. Free, no real money at stake.
At-a-glance comparison
Section titled “At-a-glance comparison”| Avalanche | Fuji | Base | |
|---|---|---|---|
| Type | mainnet | testnet | mainnet |
| Chain ID | 43114 | 43113 | 8453 |
| Native USDC EIP-3009 | ✅ | ✅ | ✅ |
| XSGD (SGD stablecoin, EIP-3009) | ✅ | ✅ | ❌ |
| Bridged USDC.e / USDT.e | ✅ | ❌ | ❌ |
| ERC-8004 identity | ✅ | ✅ | ❌ (planned) |
| Real funds | yes | no | yes |
Choosing a chain
Section titled “Choosing a chain”| Your situation | Use |
|---|---|
| First-time integration / testing | Fuji |
| Production, want lowest fees + AVAX gas tooling | Avalanche |
| Production, want Base ecosystem integration | Base |
| Production, want on-chain identity (today) | Avalanche (Base coming) |
| Production, multi-chain | Avalanche + Base; identity on Avalanche only |
Discovering chains and tokens at runtime
Section titled “Discovering chains and tokens at runtime”Don’t hardcode these in production. Pull the current list from the facilitator:
# chains + token addressescurl https://x402.0xgasless.com/list
# tokens per chain WITH settlement mode + the EIP-712 domain to sign undercurl 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.
Paying with a specific token (e.g. XSGD)
Section titled “Paying with a specific token (e.g. XSGD)”Nothing about the x402 flow changes per token — you just point asset at the token you want and sign under that token’s domain:
GET /tokens→ find the token on your chain. For XSGD on Avalanche: address0xb2F8…096E,settlement: "eip3009", domain{ name: "XSGD", version: "2" }.- Sign a
TransferWithAuthorizationtyped message with the payer’s key: domain{ name: "XSGD", version: "2", chainId: 43114, verifyingContract: <token address> }, message{ from, to, value, validAfter, validBefore, nonce }(valuein 6-decimal base units —"10000000"= 10 XSGD). POST /settlewith{ 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
Section titled “Solana”Not currently supported. EVM-only for now.
See also
Section titled “See also”- Facilitator API —
/listreturns the same data programmatically. - Self-hosting — run your own facilitator with whichever chains you want.