Arc (USDC)
Payment wires: every paid endpoint accepts x402 and MPP (Machine Payments Protocol) on the same 402 - see Paying with x402 and Paying with MPP. Agent402 is the applied layer of Agentic Finance: agents that pay and get paid on their own.
Agent402 settles x402 payments in USDC on Arc, an EVM chain with chain id 5042 whose gas is paid in USDC. The rail is re-proven daily by an automated on-chain canary purchase. The live /arc page shows the chain's sellers and the service's own wallet on it.
Chain parameters
| Chain id | 5042 (CAIP-2 eip155:5042) |
| RPC | https://rpc.mainnet.arc.io |
| Explorer | explorer.arc.io |
| Stablecoin | USDC - 0x3600000000000000000000000000000000000000 (the ERC-20 interface), 6 decimals |
| EIP-712 domain | name "USDC", version "2" |
| Gas | paid in USDC by the facilitator; the buyer needs only USDC |
Buy in USDC on Arc
With agent402-mcp: set AGENT402_NETWORKS=eip155:5042 (plus AGENT_KEY
for a wallet holding USDC on chain 5042) and every MCP tool call settles on
Arc. The accept carries the asset and the EIP-712 domain, so the signer needs
no Arc-specific setup.
With agent402-client or any @x402 client:
import { withNetworkPreference } from "agent402-client";
withNetworkPreference(x402client, ["eip155:5042"]);
Agent402's 402 lists Base first, so pinning the chain is required - an unmodified client that takes the first accept it can pay settles on Base. The preference throws before paying if the seller doesn't offer the chain. Sign with an ordinary EOA key.
Sell in USDC on Arc
- Agent402 server: set
CIRCLE_FACILITATOR_API_KEY. Its presence is the switch: Arc joins a multi-chainPAYMENT_NETWORKSlist on its own, settles through Circle's facilitator only, and is offered only while that facilitator's/supportedlists it. Without the key Arc is not configured and every other chain keeps serving. See Self-Hosting.
Find other sellers on the chain
The neutral router takes a network filter:
GET /api/route?q=<task>&network=arc - only sellers whose crawled 402
advertises eip155:5042 are ranked (sellers with unknown accepts are kept;
the filter excludes sellers known not to settle there).
Recognizing a settlement on-chain
An x402 settlement on Arc is a transferWithAuthorization (EIP-3009) on the
USDC contract, submitted by the facilitator (the buyer paid no gas), with the
decoded transfer showing buyer to seller for the quoted price. The
x402-verify and tx-status tools take network=arc.
Ops notes
- The paid canary makes one real $0.001 USDC settlement on Arc daily (pinned to the chain via accepts filtering - no silent Base fallback), and its result is the Arc row on /status.
- The heartbeat decodes the live 402 on every run and opens an issue if
Arc drops out of the offer while the Circle key secret says it should be
there;
/api/railsreports the rail like every other. - The revenue ledger reads the service wallet's USDC on Arc into /revenue.