USD Coin
Circle
Market cap (static): ~$75B
Overview
Most developer-friendly and compliance-forward stablecoin. Native on 28+ blockchains as of late 2025 with Cross-Chain Transfer Protocol (CCTP) for native burns-and-mints. Circle IPO'd June 2025.
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. | |
TransparentUpgradeableProxy 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 support for USDC. Click an EIP to jump to the global deep-dive section.
| Standard | Status | Notes |
|---|---|---|
| ERC-20 Fungible token standard | Implemented | Foundation interface. Every EVM wallet, DEX, and DeFi protocol interacts with USDC via this interface. |
| 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-1967 Standard proxy storage slots | Implemented | Allows Circle to patch bugs and add features without requiring a token migration. The EIP-1967 standard means block explorers, risk tools (Tenderly, Forta), and monitoring systems automatically detect the proxy and show the correct ABI. |
| EIP-1822 UUPS — universal upgradeable proxy | Not implemented | No profile row for this standard; treated as not implemented. |
| ERC-4626 Tokenized yield vault standard | Not implemented | No profile row for this standard; treated as not implemented. |
| EIP-1271 Signature validation for smart contracts | Not implemented | No profile row for this standard; treated as not implemented. |
Technical notes
FiatToken v2.2 contract pattern used across all EVM deployments. Admin roles: Owner, MasterMinter, Blacklister, Pauser. The allowance mapping supports both approve and permit. CCTP contracts: TokenMessenger (mint/burn coordinator), MessageTransmitter (cross-chain messaging). Critical distinction: native USDC vs bridged USDC.e — always confirm native address per chain before integrating.
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
Networks & contracts
Deployments by chain — primary rows are highlighted. Always verify addresses against issuer docs before mainnet integrations.
| Network | Standard | Contract | Explorer |
|---|---|---|---|
EthereumPrimary | ERC-20 | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48FiatToken v2.2 | View |
SolanaPrimary | SPL | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v | View |
BasePrimary | ERC-20 | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913Native, not bridged | View |
ArbitrumPrimary | ERC-20 | 0xaf88d065e77c8cC2239327C5EDb3A432268e5831Native USDC, not USDC.e | View |
PolygonPrimary | ERC-20 | 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359Native (0x2791 is bridged) | View |
AvalanchePrimary | ERC-20 | 0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E | View |
OptimismPrimary | ERC-20 | 0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85 | View |
SuiSecondary | Move | 0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15cdbe1a00RegulatedCoin standard | View |
StellarSecondary | Stellar asset | GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN | View |
AptosSecondary | Move | 0x1::usdc::USDC | View |
NEARSecondary | NEP-141 | a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.factory.bridge.near | View |
HederaSecondary | HTS | 0.0.456858 | View |
ZKsync EraSecondary | ERC-20 | 0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4 | View |
StarknetSecondary | ERC-20 | 0x53c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8 | View |
XRP LedgerSecondary | IOU | Issuer: rcEGREd8NmkKRE8GE424sksyt1tJVFZwu | — |
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.