Skip to content

Supported Networks

The Consensus facilitator at https://facilitator.canister.software supports the networks below; GET /supported on the facilitator returns the live list. A resource server may accept payment on any subset of them, and 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 exact scheme with ICP, ckUSDC, ckUSDT, or a test token; the network identifier names the token’s ledger canister. The examples below use TESTICP, the token the Consensus server accepts. 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
Ethereumeip155:1USDC6 decimalsProduction
Ethereum Sepoliaeip155:11155111USDC6 decimalsTestnet
Baseeip155:8453USDC6 decimalsProduction
Base Sepoliaeip155:84532USDC6 decimalsTestnet
Solanasolana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpUSDC6 decimalsProduction
Solana Devnetsolana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1USDC6 decimalsTestnet
ICPicp:1:ryjl3-tyaaa-aaaaa-aaaba-caiICPe8sProduction
ICPicp:1:xevnm-gaaaa-aaaar-qafnq-caickUSDC6 decimalsProduction
ICPicp:1:cngnf-vqaaa-aaaar-qag4q-caickUSDT6 decimalsProduction
ICPicp:1:xafvr-biaaa-aaaai-aql5q-caiTESTICPe8sTestnet token
ICPicp:1:3jkp5-oyaaa-aaaaj-azwqa-caiTICRC1Ledger unitsTestnet token

ICP identifiers name the token’s ledger canister. TESTICP and TICRC1 are test tokens on ICP mainnet, available from the ICP faucet.