Arc is an EVM-compatible blockchain that uses USDC as its native gas token. Signing uses secp256k1, identical to Ethereum—no new cryptographic code is required. USDC exists as a single balance with two interfaces (native and ERC-20), so display one unified balance row. Transactions finalize in under one second with no reorgs.Documentation Index
Fetch the complete documentation index at: https://docs.arc.io/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you begin:- Familiarity with EIP-3085 (
wallet_addEthereumChain) for adding custom networks - Access to the Arc Testnet RPC endpoint
- Understanding of ERC-20 event indexing
Step 1. Configure the network
Add Arc using the EIP-3085 parameters below.| Parameter | Value |
|---|---|
chainId | 0x4CF4B2 (5042002) |
chainName | Arc Testnet |
nativeCurrency | { name: "USDC", symbol: "USDC", decimals: 6 } |
rpcUrls | ["https://rpc.testnet.arc.network"] |
wsUrls | ["wss://rpc.testnet.arc.network"] |
blockExplorerUrls | ["https://testnet.arcscan.app"] |
Set
nativeCurrency.decimals to 6 for display purposes. This tells the
wallet UI to show human-readable USDC amounts (for example, “1.50 USDC”)
rather than raw wei values.Step 2. Display the balance
Arc’s native balance uses 18 decimals internally (like ETH on Ethereum), but represents USDC which has 6 display decimals. Convert accordingly.Fetch the balance
Calleth_getBalance to retrieve the user’s USDC balance in 18-decimal wei:
Convert to display value
Divide by 10^12 to convert from 18-decimal native wei to 6-decimal USDC:Show a single row
USDC on Arc is a single asset with two interfaces (native and ERC-20). Both share the same underlying balance. Display one “USDC” row in the asset list, not separate “native” and “ERC-20” entries.Step 3. Index transaction history
Arc emits a unifiedTransfer event on the USDC ERC-20 contract for every USDC
movement, regardless of whether it originated from a native send or an ERC-20
call.
Event signature
0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
Contract: 0x3600000000000000000000000000000000000000
Subscribe to transfers
Useeth_subscribe or poll eth_getLogs filtered by the topic and the user’s
address:
Parse the value
Thevalue field in the event uses 6 decimals (the ERC-20 interface), so no
additional conversion is needed for display:
This single event stream covers all USDC movements. You do not need to
separately track native sends and ERC-20 transfers.
Step 4. Handle fees
Gas on Arc is denominated in USDC, not ETH. Arc uses an EIP-1559 fee model with a smoothed base fee.Estimate gas cost
UI guidance
| Element | Display |
|---|---|
| Fee label | ”Network fee” or “Gas fee” |
| Fee denomination | USDC (for example, “0.000042 USDC”) |
| Currency symbol | Do not show “ETH” or “Gwei” to users |
| Insufficient funds | ”Insufficient USDC for gas” |
Step 5. Send transactions
Transaction signing on Arc is identical to Ethereum. Use secp256k1 ECDSA signatures with EIP-155 replay protection.Confirmation model
Arc provides deterministic finality. A transaction is either pending (in the mempool) or final (included in a block). There are no intermediate confirmation states and no reorgs.| State | Meaning |
|---|---|
| Pending | Transaction is in the mempool, not yet mined |
| Final | Included in a block; irreversible |
Account abstraction
Arc supports ERC-4337 account abstraction for smart contract wallets. If your wallet supports AA flows (bundlers, paymasters, session keys), these work on Arc without modification. See Account abstraction providers for compatible infrastructure including Biconomy, Pimlico, ZeroDev, and Circle Wallets.Integration checklist
Use this checklist to verify your wallet integration is complete:- Chain ID
5042002added with correct RPC and explorer URLs - Native currency displays as “USDC” with 6 display decimals
-
eth_getBalanceresult converted from 18-decimal to 6-decimal for display - Single USDC balance row shown (no separate native/ERC-20 entries)
- No ETH references in UI labels, error messages, or fee displays
- Transaction history uses the unified
Transferevent on0x3600...0000 - Gas fees displayed in USDC
- One confirmation treated as final (no “confirming” spinner)
- ERC-4337 AA flows work if your wallet supports smart accounts
See also
- EVM compatibility—full breakdown of differences from Ethereum
- Gas and fees—fee model and pricing mechanics
- Contract addresses—USDC contract and other deployed addresses
- Deterministic finality—how Arc achieves instant settlement
- Account abstraction—ERC-4337 provider directory