Integrate on Arc Mainnet in 10 minutes
Buy a trust check through Circle Gateway nanopayments before your agent pays: the 402,
the payment, the verdict, and where your payments show up as external on /proof/arc.
Gas is paid in USDC, and blocks finalize in well under a second.
Why Arc
USDC is the gas
No second token to hold, price, or refill. The agent pays fees in the same dollar it is already moving.
Sub-second finality
Deterministic finality in well under a second. The payment either happened or it did not, and the agent knows at once.
EVM compatible
Standard Ethereum bytecode and RPC. ERC-8004 identity and x402 payments port over with no rewrite.
Arc Mainnet opened on 2026-09-16 and A-Identity went live on it that day (see
Arc Mainnet below). Escrow, KYA anchoring and the account-abstraction
path still run on Arc Testnet, and the rest of this page targets it unless a section
says Mainnet. Get testnet USDC from
the Circle faucet. What we did here is on the
record: agent #849980, the KYA attestation and the first reputation anchor our oracle
ever wrote are each listed with their transaction at
/proof/arc, and the index over every chain is at
/proof.
Network Config
Arc Mainnet
Arc Mainnet is in the registry asarc-mainnet with status live since 2026-09-16, the
day it opened: agent #0 on the canonical registry is ours, an AgentSpendPolicy vault
(0xe07819e6d28a5dfd5a9f4cd94dc6dc9aeeda4146) held real USDC under dust caps, and paid
calls settled through both our EIP-3009 facilitator and Circle Gateway nanopayments. The first
payments were self-funded and labeled internal, and wallets off our internal lists have paid for
a few checks since, labeled external; the split and each transaction are at
/proof/arc. It is a separate descriptor from the testnet on purpose,
with its own signer variable (ARC_MAINNET_SIGNER_KEY), so a testnet key can never become
a mainnet key by a rename.
That vault is retired. Its owner is our former operating wallet
0xd305607510E0Db2c95807173c7A05BEA53c1ed36, whose key someone else has also held since at
least 2026-11-01, and the contract has no owner transfer, so the founder emptied the vault at
about 00:38 UTC on 2026-11-11 (withdraw tx
0xaa4714de40e7b0f47736b13df013e770fa52e569f3b5fc3568559194282913d1). Do not fund it. At about
the same time agent #0 moved to 0xCB8824ffAF30687E36374C08eC52298b62871bdf, the founder’s
wallet, which a person holds (tx 0x651650cf324e38dfb91865b71acef7e645ba983c34ba3a94bc7619444503205f).
What stays on testnet until it has its own evidence: Circle developer-controlled wallets
(Circle’s Wallets table lists the
ARC mainnet chain code, but our wallet path has not
created or used one there yet), Paymaster (Circle’s Paymaster addresses page lists no Arc
network, and its v0.7 and v0.8 addresses have no code on Arc mainnet), the
account-abstraction path, the treasury and airdrop demos, and ERC-8183 escrow (Arc’s
reference contract has code on testnet and none on mainnet). docs.arc.io says the primary
mainnet RPC accepts anonymous requests with no API key, and ARC_MAINNET_RPC_URL takes a
provider endpoint of your own if you want one. Not every host keeps old history: on
2026-10-11 the Blockdaemon mainnet host returned none of the Arc Mainnet receipts at /proof/arc, while
the primary, dRPC and QuickNode returned all of them. The explorer’s pages open in a
browser without signing in; only its JSON API answers non-browser clients with a bot
challenge.
Connect With viem
http://localhost:3399):
Unified Balance With App Kit
Circle App Kit pools USDC from several chains into one spendable balance (Circle Gateway), so an agent is never stuck with funds on the wrong chain.1
Install
2
Deposit from any chain
3
Spend on Arc
Deploy A Contract
Arc deploys with the standard EVM toolchain. Gas is paid in USDC, so fund the deployer wallet from the faucet first.1
Install Foundry
2
Create and fund a wallet
3
Deploy
