Prerequisites
Before you begin:- Familiarity with EVM-based blockchain integrations
- Access to Arc RPC endpoints for deposit monitoring and transaction broadcasting
- Existing infrastructure for deposit detection and withdrawal processing on EVM chains
Network configuration
Register Arc with the following parameters in your platform’s chain registry:Arc uses USDC as both the native gas token and the primary transfer asset.
There is no separate gas token like ETH. Configure your platform with a single
asset entry for USDC on Arc.
Deposit detection for buy orders
When a user completes a fiat purchase and you need to detect the resulting onchain USDC deposit, use the sameTransfer event monitoring pattern used by
exchanges. Every native USDC movement emits a standard ERC-20
Transfer(address,address,uint256) event from the system emitter 0xffff…fffe
(Arc’s EIP-7708 implementation),
covering native sends and the native leg of ERC-20 transfers.
Key points for ramp deposit detection:
- Subscribe to blocks via WebSocket (
eth_subscribe("newHeads")) or poll via HTTP - Filter
Transferevents on the native USDC system emitter (0xfffffffffffffffffffffffffffffffffffffffe)—not the ERC-20 contract (0x3600…0000), which misses plain native sends - Credit immediately after 1 confirmation—Arc’s deterministic finality guarantees no reorgs
- The
valuefield uses 18 decimals (native); divide by 10^12 for 6-decimal USDC
Withdrawal processing for sell orders
When a user sells crypto for fiat and you need to send USDC to a settlement address or back to the user, the withdrawal flow is identical to exchange withdrawals:- Validate the destination address (EIP-55 checksum)
- Check the blocklist before sending
- Build and sign a native USDC transfer (the recommended path—cheaper gas and universally receivable)
- Broadcast and confirm (single confirmation = final)
Displaying Arc in your UI
Arc’s native USDC model affects how you present the network to end users:Settlement timing
Arc provides sub-second deterministic finality. Once a transaction is included in a block, it is final—there are no reorgs, no probabilistic confirmation windows, and no need to wait for additional blocks. For your ramp platform, this means:- Buy orders: Credit the user’s crypto balance immediately upon 1 confirmation
- Sell orders: Mark the withdrawal as complete after the transaction receipt is returned
- Settlement display: Show instant confirmation to the user rather than a progress bar or block countdown
Address validation
Arc uses standard Ethereum addresses:- 20 bytes,
0x-prefixed (42 characters total) - EIP-55 mixed-case checksum encoding
- Compatible with existing Ethereum address validation logic in your platform
Compliance screening
Arc enforces a USDC blocklist at multiple levels:- Pre-mempool: Transactions from or to blocklisted addresses are rejected before entering the mempool
- Runtime: Transfers involving blocklisted addresses revert during execution
Crosschain USDC routing
If your platform supports crosschain transfers (for example, a user buys USDC on Ethereum and wants delivery on Arc), use Circle’s Cross-Chain Transfer Protocol (CCTP). Arc’s CCTP domain is26.
For bridging implementation details, see
Bridge USDC with CCTP.