Arc is the Layer 1 built by Circle, the issuer of USDC. It is EVM-compatible, settles in under a second with deterministic finality, and is built around one asset: USDC is its native coin. The mainnet opened to the public today, September 16, 2026, and from today you can deposit USDC on Arc, withdraw to it, and spend what arrives on local rails across East Africa through ZuriFi.
What shipped
- USDC deposits on Arc. Your Arc deposit address is the address you already have on Ethereum, Base, Polygon and BNB Chain — the same smart account, derived the same way, so nothing new to save. Send USDC to it on Arc and it is credited to your balance as soon as the transaction is included, because Arc blocks are final on inclusion.
- USDC withdrawals on Arc. Pick Arc as the network, paste the destination, done. As on every other network, the fee is quoted in USDC and deducted from the amount.
- Spend it. USDC arriving on Arc lands in the same balance you already cash out and spend from — mobile money and local rails across East Africa. USDC on Arc, USDC on Solana and USDC on Base are one balance to us, and the rails on the other side do not care which chain it came in on.
One balance, two views
The thing that made Arc more than a config change is how it represents USDC. Because USDC is the native coin, your balance exists in two forms at once: an 18-decimal native balance (what a plain transfer moves) and a 6-decimal ERC-20 interface that reads and moves the same balance. Both are correct. Count both and you have double-counted every deposit.
Arc solves the detection side neatly: every native movement — a plain send, a transfer through the ERC-20 interface, a mint arriving over Circle's bridge — emits one standard Transfer log from a protocol-level system emitter. Our deposit indexer treats that emitter as “the USDC contract” on Arc and ignores the ERC-20 interface entirely, so each deposit is seen exactly once, in the native unit, and rescaled to the six decimals the rest of the ledger uses. Moving money goes the other way: sweeps and withdrawals use the 6-decimal interface, so not a single line of decimal arithmetic was added.
Detection is push-based. Our node provider notifies us the moment a watched address is touched, and instead of trusting the notification's description of what happened, we re-read the transaction receipt from the chain and credit only what the system emitter says. If a notification is late or lost, the scanner that reconciles every network catches it on the next pass. Same rule as everywhere else: the webhook is the fast path, the chain is the truth.
Why Arc
Most of what moves through ZuriFi is stablecoins, and most of that is USDC or USDT. A chain designed by the issuer of USDC, priced in USDC, with sub-second finality and predictable dollar fees, is a natural rail for that flow — the kind of network where a deposit is credited before the sender has closed their wallet app. We wanted to be there on the first day, and we are.
USDC on Arc: same address, same balance, same rails to spend it on. One more place your money can arrive from.