Skip to content

Supported Networks

The Consensus facilitator at https://facilitator.canister.software supports the following networks. A resource server may accept payment on any subset of these — the client picks the network that matches its registered signer.


EVM payments use the USDC token and the exact scheme. Prices are expressed in USDC atomic units (6 decimal places — 1 USDC = 1,000,000 units) or as a dollar string (e.g. "$0.001") which the server converts internally.

PropertyValue
Network identifiereip155:8453
TokenUSDC
ChainBase (mainnet)
StatusProduction
{ scheme: 'exact', price: '$0.001', network: 'eip155:8453', payTo: process.env.EVM_PAY_TO }
PropertyValue
Network identifiereip155:84532
TokenUSDC
ChainBase Sepolia (testnet)
StatusTestnet
{ scheme: 'exact', price: '$0.001', network: 'eip155:84532', payTo: process.env.EVM_PAY_TO }
import { ExactEvmScheme } from '@x402/evm/exact/server'
x402Server
.register('eip155:8453', new ExactEvmScheme())
.register('eip155:84532', new ExactEvmScheme())
import { registerExactEvmScheme } from '@x402/evm/exact/client'
import { privateKeyToAccount } from 'viem/accounts'
const key = process.env.EVM_PRIVATE_KEY
const signer = privateKeyToAccount(key.startsWith('0x') ? key : `0x${key}`)
registerExactEvmScheme(client, { signer })

Solana payments use USDC and the exact scheme. Prices are expressed in USDC atomic units (6 decimal places) or as a dollar string.

PropertyValue
Network identifiersolana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
TokenUSDC
ChainSolana (mainnet)
StatusProduction
{ scheme: 'exact', price: '$0.001', network: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', payTo: process.env.SOLANA_PAY_TO }
PropertyValue
Network identifiersolana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1
TokenUSDC
ChainSolana (devnet)
StatusTestnet
{ scheme: 'exact', price: '$0.001', network: 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1', payTo: process.env.SOLANA_PAY_TO }
import { ExactSvmScheme } from '@x402/svm/exact/server'
x402Server
.register('solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', new ExactSvmScheme())
.register('solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1', new ExactSvmScheme())
import { registerExactSvmScheme } from '@x402/svm/exact/client'
import { createKeyPairSignerFromBytes } from '@solana/signers'
import bs58 from 'bs58'
const keyBytes = bs58.decode(process.env.SOLANA_PRIVATE_KEY)
const signer = await createKeyPairSignerFromBytes(keyBytes)
registerExactSvmScheme(client, { signer })

ICP payments use the TESTICP token and the exact scheme. Prices are expressed in e8s — the smallest unit of the token (1 ICP = 100,000,000 e8s).

PropertyValue
Network identifiericp:1:xafvr-biaaa-aaaai-aql5q-cai
TokenTESTICP
Ledger canisterxafvr-biaaa-aaaai-aql5q-cai
Pay-to formatICP principal
StatusTestnet

e8s conversion reference

e8sTESTICP
1000.000001
10,0000.0001
100,0000.001
1,000,0000.01
100,000,0001.0
{ scheme: 'exact', price: '100000', network: 'icp:1:xafvr-biaaa-aaaai-aql5q-cai', payTo: process.env.ICP_PAY_TO }
import { ExactIcpScheme } from '@canister-software/x402-icp/server'
x402Server.register('icp:1:xafvr-biaaa-aaaai-aql5q-cai', new ExactIcpScheme())
import { registerExactIcpScheme, pemToSigner } from '@canister-software/x402-icp/client'
const signer = await pemToSigner(process.env.PEM_PATH)
registerExactIcpScheme(client, { signer })

NetworkIdentifierTokenDenominationStatus
Baseeip155:8453USDC6 decimalsProduction
Base Sepoliaeip155:84532USDC6 decimalsTestnet
Solanasolana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpUSDC6 decimalsProduction
Solana Devnetsolana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1USDC6 decimalsTestnet
ICPicp:1:xafvr-biaaa-aaaai-aql5q-caiTESTICPe8sTestnet