Skip to content
Chain id 5042USDC is the gas tokenSub-second deterministic finality

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.

Chain id
5042
0x13b2
RPC endpoint
rpc.mainnet.arc.io
Public, no key required
Gas token
USDC
18 decimals, native
Finality
Sub-second
One confirmation is final
Network parameters

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.

ParameterValue
Chain id50420x13b2
RPC endpointhttps://rpc.mainnet.arc.io
Block explorerexplorer.arc.io
Currency symbolUSDC
Native decimals18
ERC-20 USDC decimals6
FinalityDeterministic, sub-second
Minimum base fee20 Gwei
EVM baselineOsaka
Native Transfer logsEIP-7708, shipped early
Testnet chain id5042002
Values mirror https://docs.arc.io/arc/references/connect-to-arc; where Arc changes a parameter, the documentation leads and this page follows.
0.01%1 tick

Stable pairs

0.05%10 tick

Stable / correlated

0.30%60 tick

Most token pairs

1.00%200 tick

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.

The USDC model

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
AmountNative (18 decimals)ERC-20 (6 decimals)
1.000000 USDC1,000,000,000,000,000,000 wei1,000,000 units
0.000001 USDC1,000,000,000,000 wei1 unit
0.0000001 USDC100,000,000,000 weiNot representable
Divide the native figure by 10¹² to get the ERC-20 figure. The ERC-20 view truncates amounts below one 6-decimal unit, and Arctools' contracts reject such amounts for pool math rather than silently rounding them away.
Never pair native USDC against ERC-20 USDC
A pool that treats the two interfaces as two different assets is meaningless, because they are one asset with one price. The same rule applies to any calculation: never mix msg.value with USDC.balanceOf() in the same sum, because the raw values differ by 10¹².
Tooling should show a single balance

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.

ERC-20 USDC in the glossary

Diagram of a single USDC balance on Arc Mainnet splitting into two interfaces. Native USDC at 18 decimals pays gas and carries msg.value; the ERC-20 interface at 0x3600000000000000000000000000000000000000 exposes the same money at 6 decimals for pool math. The example row shows 1.000000 USDC as 1,000,000,000,000,000,000 native wei and 1,000,000 ERC-20 units, with a warning not to pair the two interfaces or add msg.value to a balanceOf result.
One balance, two decimal conventions: divide the native figure by 10¹² to get the ERC-20 figure, and never mix the two in one sum.
Wallet setup

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. 1.Settings → Networks → Add network → Add a network manually
  2. 2.Paste the five values from the panel, then save.
  3. 3.Switch to Arc. If the balance reads as ETH, the asset is still USDC.

Rabby

  1. 1.Network selector (top left) → Add Custom Network
  2. 2.Paste the five values from the panel, then save.
  3. 3.Switch to Arc. If the balance reads as ETH, the asset is still USDC.

Coinbase Wallet

  1. 1.Settings → Networks → Add custom network
  2. 2.Paste the five values from the panel, then save.
  3. 3.Switch to Arc. If the balance reads as ETH, the asset is still USDC.

Rainbow

  1. 1.Settings (gear icon) → Networks → Custom Network
  2. 2.Paste the five values from the panel, then save.
  3. 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.

Live contracts

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.

ContractAddress
USDC (ERC-20 interface)0x3600000000000000000000000000000000000000
EURC0xbEf5f6d51CB62b58e6A8f77868681825C6fe21c1
Uniswap V2 factory0x89e5DB8B5aA49aA85AC63f691524311AEB649eba
Uniswap V2 router0x1f7d7550B1b028f7571E69A784071F0205FD2EfA
Uniswap V3 factory0xf0db7b58379503491d857dB50AC9ece64c653918
Uniswap V3 swap router0x53BF6B0684Ec7eF91e1387Da3D1a1769bC5A6F77
Uniswap V3 position manager0x39654A85A4C05127f5Fd6ED22CAeC077A0fB1377
Uniswap V3 quoter0x7DfD4F31be6814D2906BDE155c3e1B146EAc1468
Permit20x000000000022D473030F116dDEE9F6B43aC78BA3
Multicall30xcA11bde05977b3631167028862bE2a173976CA11
Create2 deployer0x4e59b44847b379578588920cA78FbF26c0B4956C
Memo predeploy0x5294E9927c3306DcBaDb03fe70b92e01cCede505
Multicall3From0x522fAf9A91c41c443c66765030741e4AaCe147D0
USDC, EURC and Circle's predeploys come from Arc's own documentation; the Uniswap V2 and V3 addresses were verified onchain by calling factory() on the routers and feeAmountTickSpacing() on the V3 factory.Permit2 and Multicall3 sit at their canonical cross-chain addresses, so any tool built for Ethereum already knows where to find them.

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.

How the contracts are built and verified

EVM differences

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.

BehaviourOn ArcWhat to do about it
Value transfer to 0x0Reverts 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 precompileRevertsPrecompile addresses are protocol surfaces, not wallets. Sending USDC to one fails before it lands.
Transfer to a self-destructed accountRevertsArc 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 balanceForbiddenSELFDESTRUCT to yourself with a balance reverts. ERC-20 burn() is unaffected, so supply burns still work normally.
PREVRANDAOAlways returns 0There is no onchain randomness. Anything that needs an unpredictable number needs an oracle or a VRF.
Blob transactions (type-3)Rejected by the mempoolBLOBHASH returns 0 and BLOBBASEFEE returns 1. Every Arctools transaction is an ordinary type-2 transaction.
ReorgsNone — deterministic finalityA confirmed transaction cannot be rolled back. One confirmation is final, on both sides of a trade.
Minimum base fee20 GweiPriced 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 destinationPaid to the block beneficiaryFees are not burned, so the cost of a transaction is a transfer rather than a permanent supply reduction.
Block timestampsNon-decreasing, one-second granularitySub-second blocks can share a timestamp. Order events by block number, not by timestamp.
Withdrawals (EIP-4895)Always emptyNo staking-withdrawal queue exists to read. block.withdrawals is empty every block.
Beacon-roots oracle (EIP-4788)Contract omitted, reads return emptyDo not treat the beacon-roots contract as a data source or as randomness.
CREATE2 and EIP-7702Behave as on EthereumDeterministic deployments and set-code transactions port over without change.
A condensed version of https://docs.arc.io/arc/references/evm-differences, which is the reference for anything not covered here.
Testnet

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.

ParameterValue
Chain id50420020x4cef52
RPC endpointhttps://rpc.testnet.arc.io
Block explorerexplorer.testnet.arc.io
Faucetfaucet.circle.com
Gas tokenUSDC (18 decimals)
Uniswap deploymentsNot deployed — liquidity tools are mainnet only
Arc Testnet is not registered in the WalletConnect chain registry, so a mobile wallet will ask you to add it with wallet_addEthereumChain on first connection.
Testnet USDC is not money
Faucet USDC has no value and exists only on a network with no liquidity. Do not treat a testnet launch as evidence that a mainnet launch will behave, because the Uniswap addresses the liquidity tools use are not deployed there.
Arc questions

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.

Official documentation

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.