On Arc, the same USDC balance has two sizes. Read it through msg.value and it has 18 decimals; read it through the ERC-20 contract and it has 6. Circle's own docs warn that recording the 6-decimal figure when crediting a deposit "records less than was transferred", which is a polite way of describing a reconciliation bug that loses money.
For anyone shipping on Arc, whose public mainnet went live on 16 September 2026, that matters more than the validator list. Here is what changed, what breaks in contracts ported from Ethereum, and how it stacks up against Tempo, Plasma and Stable.
What Is Circle Arc and What Went Live on 16 September 2026?
Arc is Circle's own layer-1 chain, pitched as infrastructure for stablecoin finance rather than a general-purpose network. It ran a public testnet from October 2025, which Circle says processed more than 700 million transactions in under a year. A private mainnet with more than 100 builders came before this week's public launch.
The public network is chain ID 5042 (testnet is 5042002), with a primary RPC at rpc.mainnet.arc.io and endpoints from Alchemy, Blockdaemon, dRPC and QuickNode. Circle says more than 100 apps were live on day one.
Under the hood there are two Rust components. Consensus is Malachite, a Tendermint-style BFT engine whose team came to Circle from Informal Systems: propose, pre-vote, pre-commit, commit, with a two-thirds supermajority finalising each block. Execution is Reth, Paradigm's Ethereum client. Finality is deterministic, and Arc's docs cite benchmarks at or below 350 ms. Blocks arrive roughly every half second with a 30M gas limit.
Two caveats from the source material. The Malachite repository still describes itself as alpha software that has not been externally audited. And the opt-in privacy features that appeared in earlier Arc marketing are, per the launch release, still "in development". Plan around what exists today.
Who Runs the Arc Validators?
This is a proof-of-authority chain. The founding validators named in the launch release are BlackRock, DTCC, Galaxy, ICE, Mastercard, MoneyGram, SBI Group, Standard Chartered, Sumitomo Corporation, Visa and Worldpay. Circle says it will move towards proof of stake in 2027, and it completed a genesis mint of 10 billion ARC tokens this week while stating that this is not a commitment to a public token launch.
The criticism has been blunt. Adam Cochran of Cinneamhain Ventures argued, "this isn't an L1", on the grounds that permissioned validators carry no economic stake in behaving. That is a fair description, and it is also the model the institutions on that list want: a risk committee understands a named operator under contract better than slashing conditions.
How Does USDC Gas Work on Arc?
Native gas is USDC. There is no ETH-like asset to buy first, which removes the most annoying step in any stablecoin payout flow: keeping a volatile token topped up in every hot wallet.
The fee market is EIP-1559 with two changes. First, the base fee does not react to each block. Arc computes an exponentially weighted moving average of block utilisation and adjusts the base fee against that smoothed signal, so a burst of traffic moves prices gradually. Second, nothing is burned. Both the base fee and any priority fee go to the block proposer, and the docs tell you to set maxPriorityFeePerGas to 0 for most transactions.
The published parameters are a 20 Gwei floor and a 20,000 Gwei ceiling, labelled as testnet values that "may be adjusted before mainnet launch". Check them against the live RPC before you hard-code anything. The arithmetic at those values:
| Scenario | Base fee | Gas (ERC-20 transfer) | Cost in USDC |
|---|---|---|---|
| Quiet network (floor) | 20 Gwei | ~50,000 | ~0.001 |
| Fully congested (ceiling) | 20,000 Gwei | ~50,000 | ~1.00 |
The docs quote the $0.001 figure. Several news write-ups say $0.01, which matches neither parameter. Use the docs.
One sharp edge: a transaction with maxFeePerGas below 20 Gwei is silently dropped by the mempool. No receipt, no error. If your signer inherits a fee estimate from an Ethereum L2 at 0.01 Gwei, your payouts will simply vanish from the queue. Alert on transactions that never get a receipt, not only on reverts.
Why Does Arc USDC Have 18 Decimals and 6 Decimals?
EVM tooling assumes the native asset has 18 decimals. USDC everywhere else has 6. Arc keeps both views over a single balance: divide a native value by 10¹² to get the USDC amount you would show a user.
Where this bites:
- Pool and vault maths. Mixing
msg.valuewithUSDC.balanceOf()in the same calculation is off by a factor of a trillion. - Ledger credits. Truncating an 18-decimal deposit to 6 decimals drops dust, and dust adds up across millions of transfers.
- Balance checks. An ERC-20 balance of zero does not prove the native balance is zero. Sub-micro-USDC amounts exist natively.
What EVM Differences Break Existing Contracts on Arc?
Arc advertises EVM compatibility, and for most Solidity that holds. The exceptions are the ones that fail quietly:
| Behaviour | Ethereum | Arc |
|---|---|---|
Value transfer to 0x0 | Succeeds (burn) | Reverts: "Zero address not allowed" |
| Value to or from a blocklisted address | Not applicable | Reverts at protocol level |
| Value sent to a precompile | Usually succeeds | Reverts |
PREVRANDAO | Beacon randomness | Always 0 |
| Blob transactions (type 3) | Supported | Rejected by the mempool |
| Block timestamp | Strictly increasing | Non-decreasing; sub-second blocks can share one |
| Native transfer logs | None | ERC-20 Transfer log from a system address (EIP-7708) |
The blocklist row is the one to think about. On Ethereum, Circle can freeze USDC at the token contract; your contract still runs. On Arc the check sits in native value transfer itself, so any contract that forwards gas-token value to a sanctioned address reverts the whole call. Batch payout contracts should pay each recipient in isolation or they will fail as a unit.
Timestamps are the other quiet one. Two blocks half a second apart can carry the same block.timestamp. Anything that orders events, expires quotes or rate-limits by timestamp should use block.number.
Circle Arc vs Tempo vs Plasma vs Stable: Which Stablecoin Chain in 2026?
Arc is not alone. Stripe and Paradigm's Tempo has been on mainnet since 18 March 2026, and I covered its payment rail ambitions when it was announced.
| Arc | Tempo | Plasma | Stable | |
|---|---|---|---|---|
| Consensus | Malachite (Tendermint BFT) | Simplex BFT | PlasmaBFT (Fast HotStuff) | StableBFT (CometBFT) |
| Execution | Reth | EVM | Reth | EVM |
| Gas asset | USDC only | Any USD TIP-20 stablecoin via Fee AMM | XPL today | USDT0 |
| Validators | Permissioned, PoS planned 2027 | Permissioned at launch | Staged move from trusted set | Proof of stake |
| 50k-gas transfer | ~$0.001 floor, ~$1 ceiling | ~$0.00003 floor, ~$0.0006 cap | Not verified | EIP-1559 style |
The trade-off between Arc and Tempo is the interesting one. Tempo is issuer-neutral: pay fees in any sufficiently liquid USD stablecoin and a protocol AMM converts it. Arc is USDC-native, which is simpler to reason about but ties your gas budget to one issuer. On price, Tempo's congestion cap is about 1,600 times lower than Arc's published ceiling. If you run high-volume, low-value flows such as the machine payments behind Circle's own Agent Stack, that ceiling is the number to stress-test.
Arc's advantage is distribution. BlackRock's BUIDL and Circle's USYC are available on it, CCTP and Gateway connect it to more than 20 chains, and StableFX lists 22 stablecoins including GBPA, JPYC and TRYB for on-chain FX.
Is Circle Arc Worth Building On? My Take
My position: Arc will win institutional settlement and lose consumer micropayments, at least until the fee ceiling comes down or proof of stake arrives.
The validator list is a settlement network in all but name. DTCC, ICE and Visa joined to move tokenised funds and FX against USDC with sub-second finality, not to process tips. For that use, a permissioned set is a feature and a $1 worst-case fee is noise.
For per-request API billing or agent payments, Tempo's fee design is simply cheaper under load, and the issuer-neutral gas model avoids betting a product on one stablecoin. I expect most serious payment stacks to end up on both chains, with CCTP or Gateway doing the bridging, rather than picking one. I made a similar case in the stablecoin infrastructure tooling guide: route by flow, not by chain loyalty.
What This Means for Payment Engineers
1. Treat 18 decimals as canonical. Store native amounts at full precision; convert to 6 decimals only for display.
2. Pin your fee floor. Set maxFeePerGas at or above the live minimum and alert on transactions with no receipt after a timeout.
3. Isolate recipients in batch payouts. One blocklisted address reverts the whole transaction.
4. Replace timestamp ordering with block numbers anywhere sequence matters.
5. Model the ceiling, not the floor. Price your worst case at 20,000 Gwei until Circle publishes mainnet parameters.
6. Do not rely on PREVRANDAO or on privacy features that are still in development.
Arc is a credible settlement chain with unusually honest EVM docs. Read them before you port a contract. More payment infrastructure notes from Tom Wang.