Arc Mainnet: chain id, RPC and what behaves differently
Arc is Circle's stablecoin Layer 1: EVM compatible, with USDC rather than ETH as the native asset and gas token. This page holds the parameters you need to configure a wallet, the live contract addresses, the dual USDC model explained without hand-waving, and the handful of EVM differences that change how a transaction behaves.
Arc Mainnet, in one table
Everything a wallet or an integration needs, with the values you can copy straight into a form. Testnet equivalents are further down the page, and the official documentation is linked at the end.
| Parameter | Value |
|---|---|
| Chain id | 50420x13b2 |
| RPC endpoint | https://rpc.mainnet.arc.io |
| Block explorer | explorer.arc.io |
| Currency symbol | USDC |
| Native decimals | 18 |
| ERC-20 USDC decimals | 6 |
| Finality | Deterministic, sub-second |
| Minimum base fee | 20 Gwei |
| EVM baseline | Osaka |
| Native Transfer logs | EIP-7708, shipped early |
| Testnet chain id | 5042002 |
Stable pairs
Stable / correlated
Most token pairs
Exotic / volatile
Uniswap V3 fee tiers available on Arc, verified onchain with feeAmountTickSpacing(). Arctools' liquidity tools build V2 pools; these tiers are listed so you know what else exists on the network.
One balance, two interfaces — and why that matters
Native USDC is what gas and msg.value use, at 18 decimals. The ERC-20 interface at 0x3600…0000 exposes the same balance at 6 decimals so ordinary token code works. They are never two assets, and the conversion between them is a factor of 10 to the 12th.
Native USDC — 18 decimals
- Pays gas, and is what msg.value carries
- What your wallet shows as your balance
- What the block explorer reports for an account
- No wrapper: there is no WETH equivalent, and nothing to unwrap before you spend it
ERC-20 USDC — 6 decimals
- 0x3600000000000000000000000000000000000000
- transferFrom, approve and balanceOf behave normally
- What Uniswap pools and routers use for pool math
- Precompile-backed, so the balance is the same money
| Amount | Native (18 decimals) | ERC-20 (6 decimals) |
|---|---|---|
| 1.000000 USDC | 1,000,000,000,000,000,000 wei | 1,000,000 units |
| 0.000001 USDC | 1,000,000,000,000 wei | 1 unit |
| 0.0000001 USDC | 100,000,000,000 wei | Not representable |
If a wallet or a dashboard displays two USDC rows on Arc, it is double-counting. Arctools always shows one balance and converts explicitly where pool math needs the 6-decimal form.

Add Arc Mainnet to MetaMask, Rabby, Coinbase Wallet or Rainbow
Every EVM wallet that accepts a custom network can use Arc. The five values are the same in all of them; only the menu path differs.
The values you enter
- Network name
- Arc
- New RPC URL
- https://rpc.mainnet.arc.io
- Chain ID
- 5042
- Currency symbol
- USDC
- Block explorer URL
- https://explorer.arc.io
Wallets that do not support a custom gas token may label the balance ETH. The asset is still USDC and transactions sign normally — only the label is wrong.
MetaMask
- 1.Settings → Networks → Add network → Add a network manually
- 2.Paste the five values from the panel, then save.
- 3.Switch to Arc. If the balance reads as ETH, the asset is still USDC.
Rabby
- 1.Network selector (top left) → Add Custom Network
- 2.Paste the five values from the panel, then save.
- 3.Switch to Arc. If the balance reads as ETH, the asset is still USDC.
Coinbase Wallet
- 1.Settings → Networks → Add custom network
- 2.Paste the five values from the panel, then save.
- 3.Switch to Arc. If the balance reads as ETH, the asset is still USDC.
Rainbow
- 1.Settings (gear icon) → Networks → Custom Network
- 2.Paste the five values from the panel, then save.
- 3.Switch to Arc. If the balance reads as ETH, the asset is still USDC.
Browser wallets connect themselves
Arctools discovers browser-extension wallets through EIP-6963, so MetaMask, Rabby, Coinbase Wallet, Rainbow and OKX appear in the connect dialog without any configuration. Mobile wallets connect through WalletConnect, where the session is approved inside the wallet app — and because Arc is not in the WalletConnect chain registry, the wallet will ask you to add the network once on first connection.
Public endpoints beyond the primary RPC
Arc's primary endpoint is open and needs no key. Alchemy, Blockdaemon, dRPC and QuickNode also serve Arc Mainnet, which is worth knowing if you need WebSocket subscriptions, higher rate limits or an endpoint under your own account. Any of them drops into the same RPC URL field.
Endpoint lists change; the authoritative table lives at docs.arc.io/arc/references/connect-to-arc.
The addresses Arctools actually uses on Arc Mainnet
Every address below is deployed on Arc Mainnet and reachable from the explorer. Copy one straight into a block explorer search box or a contract call to verify it yourself.
| Contract | Address |
|---|---|
| USDC (ERC-20 interface) | 0x3600000000000000000000000000000000000000 |
| EURC | 0xbEf5f6d51CB62b58e6A8f77868681825C6fe21c1 |
| Uniswap V2 factory | 0x89e5DB8B5aA49aA85AC63f691524311AEB649eba |
| Uniswap V2 router | 0x1f7d7550B1b028f7571E69A784071F0205FD2EfA |
| Uniswap V3 factory | 0xf0db7b58379503491d857dB50AC9ece64c653918 |
| Uniswap V3 swap router | 0x53BF6B0684Ec7eF91e1387Da3D1a1769bC5A6F77 |
| Uniswap V3 position manager | 0x39654A85A4C05127f5Fd6ED22CAeC077A0fB1377 |
| Uniswap V3 quoter | 0x7DfD4F31be6814D2906BDE155c3e1B146EAc1468 |
| Permit2 | 0x000000000022D473030F116dDEE9F6B43aC78BA3 |
| Multicall3 | 0xcA11bde05977b3631167028862bE2a173976CA11 |
| Create2 deployer | 0x4e59b44847b379578588920cA78FbF26c0B4956C |
| Memo predeploy | 0x5294E9927c3306DcBaDb03fe70b92e01cCede505 |
| Multicall3From | 0x522fAf9A91c41c443c66765030741e4AaCe147D0 |
Arctools service contracts
The contracts that charge the flat 50 USDC and do the work. Each one exposes fee() and treasury(), so the price and the destination can be read before you sign anything.
| Service contract | Address |
|---|---|
| Token factory | 0xfccc7cdeedd2155b3187d703285549ec30d4503f |
| Bundle launcher | 0xdebd72dba4dd1d10fd9491f5f51b11f94c317aa2 |
| Multisender | 0x79efcb45c419f17d435a2d9bc539d69395ae618b |
| Liquidity manager | 0x467faafb689c4d21b8ccaabdf79ee9c3d4cf349c |
| Liquidity locker | 0x190b348ef773da402d8ce32a7f7463e95a6972b0 |
| Service payment receipts | 0x3d8eaa106d72c92d974fd27823e4593833d1983e |
What behaves differently on Arc, and what it means for you
Arc runs standard EVM bytecode with a stablecoin native asset, so a few rules change: value transfers that succeed elsewhere can revert, randomness is gone, and blobs do not exist. None of it is exotic once it is written down.
| Behaviour | On Arc | What to do about it |
|---|---|---|
| Value transfer to 0x0 | Reverts with “Zero address not allowed” | Never send USDC to the zero address — it is not a burn, it is a failed transaction. A zero-value transfer to 0x0 does succeed. |
| Transfer to a precompile | Reverts | Precompile addresses are protocol surfaces, not wallets. Sending USDC to one fails before it lands. |
| Transfer to a self-destructed account | Reverts | Arc treats it as a forbidden burn, where other chains credit the value. Keepers and payout lists should check that a recipient still exists. |
| Burning the native balance | Forbidden | SELFDESTRUCT to yourself with a balance reverts. ERC-20 burn() is unaffected, so supply burns still work normally. |
| PREVRANDAO | Always returns 0 | There is no onchain randomness. Anything that needs an unpredictable number needs an oracle or a VRF. |
| Blob transactions (type-3) | Rejected by the mempool | BLOBHASH returns 0 and BLOBBASEFEE returns 1. Every Arctools transaction is an ordinary type-2 transaction. |
| Reorgs | None — deterministic finality | A confirmed transaction cannot be rolled back. One confirmation is final, on both sides of a trade. |
| Minimum base fee | 20 Gwei | Priced below the floor, a transaction is dropped with no error and no receipt. This is the single most common support issue on Arc. |
| Base fee destination | Paid to the block beneficiary | Fees are not burned, so the cost of a transaction is a transfer rather than a permanent supply reduction. |
| Block timestamps | Non-decreasing, one-second granularity | Sub-second blocks can share a timestamp. Order events by block number, not by timestamp. |
| Withdrawals (EIP-4895) | Always empty | No staking-withdrawal queue exists to read. block.withdrawals is empty every block. |
| Beacon-roots oracle (EIP-4788) | Contract omitted, reads return empty | Do not treat the beacon-roots contract as a data source or as randomness. |
| CREATE2 and EIP-7702 | Behave as on Ethereum | Deterministic deployments and set-code transactions port over without change. |
Arc Testnet, for rehearsing deployments
A separate network with the same USDC model, free test USDC and no Uniswap. Useful for checking that a contract deploys and behaves; not a full rehearsal of a mainnet launch.
| Parameter | Value |
|---|---|
| Chain id | 50420020x4cef52 |
| RPC endpoint | https://rpc.testnet.arc.io |
| Block explorer | explorer.testnet.arc.io |
| Faucet | faucet.circle.com |
| Gas token | USDC (18 decimals) |
| Uniswap deployments | Not deployed — liquidity tools are mainnet only |
The configuration questions people search for
Short answers, in the shape a search box expects. The full FAQ covers fees, launches, liquidity and troubleshooting.
What is the Arc Mainnet chain id?
5042, which is 0x13b2 in hexadecimal. Arc Testnet is 5042002, or 0x4cef52. A wallet identifies the network by this number, so a mismatch is why you sometimes see a wrong-network warning before a transaction.
What is the RPC URL for Arc Mainnet?
The public endpoint is https://rpc.mainnet.arc.io. Alchemy, Blockdaemon, dRPC and QuickNode also run Arc endpoints, which are worth using if you need a key, a higher rate limit or WebSocket subscriptions. Any of them works in the five fields you enter when adding the network manually.
Do I need ETH to use Arc Mainnet?
No. USDC is the network's native asset and its gas token, so the stablecoin you already hold pays for gas, for swaps and for the Arctools service fee. Some wallets label the balance ETH if they do not support custom gas tokens, but the asset is USDC and transactions sign normally.
Why do some Arc transactions never confirm?
Because the fee was too low. Arc's minimum base fee is 20 Gwei, and a transaction whose maxFeePerGas is below it is silently dropped by the mempool — no error, no receipt, no block. Arctools caps every write up to the floor, which is why transactions sent from this site confirm on the first attempt.
How fast is finality on Arc Mainnet?
Transactions finalise on inclusion, with sub-second and deterministic finality and no reorg window. One confirmation is final; there is nothing to wait for after that.
Does Arc Mainnet have a testnet?
Yes — Arc Testnet, chain id 5042002, RPC https://rpc.testnet.arc.io, with test USDC from Circle's faucet. Uniswap is not deployed on the testnet, so Arctools' liquidity tools are mainnet-only while the deploy-and-manage tools can be rehearsed there.
Is Arc Mainnet affiliated with Arctools?
No. Arctools is an independent tool suite built on top of Arc; it is not affiliated with Circle Internet Financial or the Arc Foundation, and the network's own documentation is the authority on how Arc behaves.
More in the Arc Mainnet basics section of the FAQ, or look up a specific term in the glossary.
Where the authoritative answers live
Arctools is built on Arc, not on top of its documentation. When a behaviour matters to your integration, read it at the source.
Ready to put something onchain?
The network is configured, the parameters are above, and every write tool costs a flat 50 USDC in the same USDC balance that pays the gas.
Arctools is independent and not affiliated with Circle Internet Financial or the Arc Foundation. Network parameters here are checked against Arc's documentation and re-verified onchain; if you spot a difference, tell us and we will correct it.