USDCUSD Coin
Circle
- Market cap
- $73.8B
- Circulating supply
- 73.8B
- Networks
- 15
Overview
Most developer-friendly and compliance-forward stablecoin. Circle's current docs list USDC mainnet contracts on 34 blockchains, with Cross-Chain Transfer Protocol (CCTP) for native burns-and-mints across 20+ supported domains. Circle began trading on the NYSE under ticker CRCL on 5 June 2025; the IPO closed on 6 June 2025.
Supply by chain
| Chain | Supply | Market cap | Share |
|---|---|---|---|
| Ethereum | 47.9B | $47.8B | 64.8% |
| Solana | 7.1B | $7.1B | 9.6% |
| Hyperliquid L1 | 5.7B | $5.7B | 7.8% |
| Base | 4.2B | $4.2B | 5.7% |
| Arbitrum | 2.4B | $2.4B | 3.2% |
| Polygon | 1.8B | $1.8B | 2.5% |
| BSC | 1.6B | $1.6B | 2.1% |
| Avalanche | 458.4M | $458M | 0.62% |
| Sui | 294.6M | $294M | 0.40% |
| Stellar | 252.7M | $253M | 0.34% |
| Monad | 238.3M | $238M | 0.32% |
| Aptos | 204.8M | $205M | 0.28% |
| Other tracked chains (126) | 1.8B | $1.8B | 2.4% |
| Current circulating supply by chain from DeFiLlama. Small supply footprints are grouped after the top 12 chains and may include bridged or non-curated deployments. | |||
Features
Engineering-oriented breakdown of capabilities: standards, who they matter for, integration rationale, per-feature risks, and vetted external references (specs, docs, verified source).
| Feature | Standards | Audience | Why it matters | Risk / caveat | References |
|---|---|---|---|---|---|
EIP-2612 permit() authorization | User | Enables gasless approvals via signature — critical for one-tx flows in DeFi; wallet must support typed data signing. | Permit replay/nonce bugs in your app can drain allowances; pin domain separator and deadline handling. | ||
EIP-3009 transferWithAuthorization authorization | User | Supports meta-transfers and payment APIs with ephemeral nonces — used for gas abstraction and commerce patterns. | Nonce reuse and signature replay are catastrophic; centralize nonce tracking per authorizer. | ||
Permit2 compatible authorization |
| User | Lets protocols unify allowance management across tokens — reduces approval UX friction when combined with Permit2 router patterns. | Permit2 contract allowances are powerful; verify spender contracts and expiries. | |
CCTP v2 cross-chain cross chain |
| Both | Burn/mint native USDC across domains without liquidity pools — preferred vs bridged USDC.e for new integrations. | Must use correct TokenMessenger/MessageTransmitter addresses per domain; wrong domain config bricks flows. | |
Blacklist and Pause compliance | — | Corporate | FiatToken admin can freeze addresses or pause globally — custody and DeFi protocols must surface failures to users. | Regulatory and operational freezes are opaque to pure smart-contract logic; plan for sudden illiquidity. | |
FiatTokenProxy upgradeable compliance |
| Corporate | Implementation can be upgraded — monitor implementation changes and diff bytecode on upgrades for breaking behavior. | Governance/compromise of admin can alter token logic; dependency risk for deep integrations. | |
SEC-registered reserve fund compliance | — | Corporate | Reserve composition is disclosed for regulatory and institutional users — informs treasury policy, not on-chain settlement guarantees. | Off-chain fund and banking risk remains; not convertible 1:1 on-chain without issuer rails. | |
Gasless meta-transactions authorization | User | Relayers submit signed `transferWithAuthorization` — enables sponsored gas for end users when relayer is trusted. | Relayer compromise or bad fee logic can censor or reorder; users must verify domain separation. |
EIP / ERC support matrix
Standards & compliance support for USDC. Click an EIP to jump to the global deep-dive section.
| Standard | Status | Notes |
|---|---|---|
| Core | ||
| ERC-20 Fungible token standard | Implemented | Foundation interface. Every EVM wallet, DEX, and DeFi protocol interacts with USDC via this interface. |
| Signatures & typed data | ||
| EIP-712 Typed structured data signing | Implemented | Prerequisite for all signature-based flows. Binds signatures to a specific contract address and chain ID — prevents signatures from being replayed on other chains or against other contracts. |
| EIP-2612 Permit — gasless ERC-20 approval | Implemented | Collapses the two-transaction approve + action DeFi flow into a single transaction. User signs off-chain, dApp or relayer submits permit() + the DeFi action in one call. Required for ERC-4337 paymaster flows and gasless onboarding. |
| EIP-3009 transferWithAuthorization | Implemented | Preferred over EIP-2612 for payment use cases: (1) atomic — the transfer happens in one call, no separate transferFrom needed; (2) random nonces allow concurrent payment authorizations from the same address; (3) validAfter/validBefore enables scheduled and time-bounded payments; (4) cancelAuthorization enables refund and reversal patterns. |
| EIP-1271 Signature validation for smart contracts | Implemented | Institutional flows where the USDC holder is a Safe or AA wallet can now use signature-based permit flows directly. Previously required Permit2 or EOA co-signer workarounds. |
| Upgradeability & proxies | ||
| EIP-1967 Standard proxy storage slots | Not implemented | Allows Circle to patch bugs and add features without requiring a token migration. Monitoring tools should check the verified proxy metadata or ZeppelinOS storage conventions rather than relying only on EIP-1967 slot reads. |
| EIP-1822 UUPS — universal upgradeable proxy | Not implemented | No behavioral impact for token users. Relevant for forks: if you deploy a USDC-compatible token using UUPS, the upgrade mechanism differs from Circle's production deployment. |
| Vaults & yield | ||
| ERC-4626 Tokenized yield vault standard | Not implemented | To build yield-bearing USDC products, integrate with Aave, Compound, or other ERC-4626 yield wrappers — do not expect deposit/withdraw/convertToAssets on the canonical USDC address. |
| Compliance | ||
| Freeze Address freezing / blacklisting | Implemented | Always check isBlacklisted() before building payment pipelines that depend on USDC. Blacklisting is immediate and affects both sending and receiving. Etherscan shows blacklist events — monitor for operational awareness. |
| Seize Fund seizure / clawback | Not implemented | Frozen USDC remains in totalSupply() and balanceOf() — supply tracking is unaffected by freezes. No surprise supply changes from seizure events. |
| Pause Global transfer pause | Implemented | DeFi protocols that hold USDC should account for the possibility of a global pause in their risk models. A pause would freeze all USDC-dependent operations including DEX swaps, lending, and collateral liquidations. |
| Cross-chain | ||
| ERC-7802 Crosschain token interface | Alternative | Via CCTP v2: Circle Cross-Chain Transfer Protocol — proprietary burn-and-mint with off-chain attestation. Achieves the same cross-chain fungibility goal as ERC-7802 through a different mechanism. |
| Flash Loans | ||
| ERC-3156 Flash loans | Not implemented | Use Aave or Balancer flash loan pools for single-transaction USDC borrowing. |
| Data sourced from verified Etherscan contract source code. Implementations may differ across networks — always verify on the specific chain you integrate with. | ||
Technical notes
- 6 decimals.
- FiatToken v2.2 uses bit-packing: single storage slot per address (bit 255 = blacklist, bits 0-254 = balance) — saves ~6-7% gas.
- Five-role admin: admin (upgrades), owner (roles), masterMinter (mint allowances), pauser (global pause), blacklister (freeze), plus rescuer (rescueERC20 for stuck tokens).
- EIP-1271 added in v2.2 — smart contract wallets can sign permits.
- CCTP v2: fast finality (~20s ETH, ~8s L2), hooks for atomic post-transfer actions, TokenMessengerV2 + MessageTransmitterV2.
- Critical: native USDC vs bridged USDC.e — always confirm native address per chain.
Reserves & peg
- Reserves
- Cash and Circle Reserve Fund (US Treasuries via BlackRock/BNY Mellon)
- Collateral
- Fiat and equivalents (off-chain)
- Peg mechanism
- Hard 1:1 — redeem via Circle Mint (institutional) or exchanges
- Auditor
- Deloitte (monthly attestation)
Ecosystem
- DeFi integration
- #1 or #2 liquidity on Aave, Compound, Curve, Uniswap, MakerDAO across all chains
- Yield
- None native; earnable via DeFi lending
Risk factors
Technical references
Networks & contracts
Deployments by chain — primary rows are highlighted. Always verify addresses against issuer docs before mainnet integrations.
| Network | Standard | Upgrade | Contract |
|---|---|---|---|
EthereumPrimary | ERC-20 | Custom | FiatToken v2.2 — AdminUpgradeabilityProxy (pre-EIP-1967 admin slot) |
SolanaPrimary | SPL | — | |
BasePrimary | ERC-20 | Custom | Native, not bridged |
ArbitrumPrimary | ERC-20 | Custom | Native USDC, not USDC.e |
PolygonPrimary | ERC-20 | Custom | Native (0x2791 is bridged) |
AvalanchePrimary | ERC-20 | Custom | |
OptimismPrimary | ERC-20 | Custom | |
SuiSecondary | RegulatedCoin | — | Circle mainnet coin type (suiscan) |
StellarSecondary | Stellar asset | — | Circle-issued USDC on Stellar (stellar.expert) |
AptosSecondary | Fungible asset | — | Circle mainnet fungible asset (explorer.aptoslabs.com) |
NEARSecondary | NEP-141 | — | Native USDC token ID on NEAR (nearblocks.io) |
HederaSecondary | HTS | — | |
ZKsync EraSecondary | ERC-20 | Custom | |
StarknetSecondary | ERC-20 | — | Circle mainnet deployment (Voyager) |
XRP LedgerSecondary | IOU | — | Circle native USDC on XRPL (livenet.xrpl.org) |
Engineering deep dive
Integration notes
Always distinguish native USDC from legacy USDC.e bridged variants per chain—addresses differ and integrations break silently. Prefer CCTP for cross-chain movement when you need native mint semantics.
Developer UX
permit and transferWithAuthorization unlock gasless and one-shot payment flows; ensure your relayer or wallet stack supports the same EIP stack you deploy on.