Networks and tokens
The chains and assets NERO 402's reference implementation supports.
The aa-native scheme is chain-agnostic by design. Any network with an ERC-4337 stack (EntryPoint, bundler, paymaster) can host a settlement contract and serve x402 payments. The reference implementation currently targets two networks.
NERO Chain mainnet
| Property | Value |
|---|---|
| CAIP-2 | eip155:1689 |
| Chain ID | 1689 |
| RPC URL | https://rpc.nerochain.io |
| Bundler RPC | https://bundler-mainnet.nerochain.io |
| Paymaster RPC | https://paymaster-mainnet.nerochain.io |
| EntryPoint | 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789 (v0.6) |
| SimpleAccountFactory | 0x9406Cc6185a346906296840746125a0E44976454 |
SettlementContract (proxy) | 0x5eCfc64f2339992668f555918674B604F97B412D |
| Explorer | https://neroscan.io |
Mainnet allowlisted assets
| Symbol | Address | Decimals | EIP-3009? |
|---|---|---|---|
| USDC.e | 0x97eec1c29f745dc7c267f90292aa663d997a601d | 6 | ✓ |
| USDC.arb | 0x8712796136Ac8e0EEeC123251ef93702f265aa80 | 6 | ✓ |
| USDT | 0xff13a7a12fd485bc9687ff88d8ae1a6b655ab469 | 6 | ✗ |
NERO Chain testnet
| Property | Value |
|---|---|
| CAIP-2 | eip155:689 |
| Chain ID | 689 |
| RPC URL | https://rpc-testnet.nerochain.io |
| Bundler RPC | https://bundler-testnet.nerochain.io |
| Paymaster RPC | https://paymaster-testnet.nerochain.io |
| EntryPoint | 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789 (v0.6) |
| SimpleAccountFactory | 0x9406Cc6185a346906296840746125a0E44976454 |
SettlementContract (proxy) | 0x925dbba44570683ac8da99be08bc5ece8cf5a8c6 |
| Faucet | https://app.testnet.nerochain.io/faucet |
| Explorer | https://testnet.neroscan.io |
Testnet allowlisted asset
| Symbol | Address | Decimals | Notes |
|---|---|---|---|
| DEMO-USDT | 0x9a2eabdecda3eae051bca75fbe71a3dbdb35f9d4 | 6 | Public mint(address, uint256) for self-faucet |
DEMO-USDT exposes a public mint() so any agent can self-faucet without a centralized drip. The examples/learn-nero/ script auto-mints on first run if the SCW balance is below the call cost, gas-sponsored.
EntryPoint version
NERO mainnet uses ERC-4337 v0.6, confirmed via eth_supportedEntryPoints on the bundler. paymasterAndData is a single bytes value, not the split form introduced in v0.7. The SDK targets v0.6; agents using a v0.7-shaped UserOperation will be rejected at verification with invalid_inner_payload.
Adding a network
Adding a new chain requires:
- An ERC-4337 deployment on the chain (EntryPoint, bundler, paymaster).
- A fresh
SettlementContractdeployment with the chain's allowlisted assets. - The facilitator's configuration extended with the new network's RPCs and contract address.
The wire format treats the network identifier as opaque (CAIP-2). A facilitator handling multiple networks tracks one contract address per network.
Adding a token
Tokens are added to the settlement contract's allowlist by the contract's owner. The current owner is multisig-controlled; a new asset listing involves a multisig transaction calling setTokenAllowed(token, true).
For testing, deploy a new token on testnet, give it a public mint(), and add it to the testnet contract's allowlist. The reference DEMO-USDT is the canonical example.