One token, several ledgers
Circle issues USDC on more than a dozen networks, and on each it is a separate supply: an ERC-20 contract on Ethereum, an SPL token on Solana with Circle as mint authority, separate ERC-20 contracts on Base and Polygon PoS. All share one reserve; none can be sent directly to another chain. To move a dollar from Ethereum to Solana, someone burns or locks it on one side and mints or releases it on the other. That is why a "which network" question exists.
Native USDC vs USDC.e: the Polygon trap
Until October 2023 the USDC on Polygon PoS was a bridged token: Ethereum USDC locked in the Polygon bridge, a receipt minted on Polygon. Circle then launched native USDC on Polygon, and the bridged token was renamed USDC.e. Both still circulate near a dollar. They are different contracts, and an exchange, a merchant or a swap service that accepts one may not accept the other.
The same happened on Base, where bridged USDbC preceded native USDC in September 2023, and elsewhere. The rule: before you send, compare the contract address in your wallet with Circle's published list of official contracts for that network. "USDC" in a wallet is a label; the contract is the fact.
Fees, speed and what you pay gas in
| Network | Gas paid in | Typical transfer cost | Time to inclusion | Address format |
|---|---|---|---|---|
| Ethereum | ETH | Under a dollar to several dollars, depending on congestion | 12-second blocks; longer for finality | 0x... (hex, 42 chars) |
| Base | ETH on Base | A fraction of a cent to a few cents | About 2 seconds | 0x... (same format as Ethereum) |
| Polygon PoS | POL | A fraction of a cent | About 2 seconds | 0x... (same format as Ethereum) |
| Solana | SOL | A fraction of a cent, plus a priority fee when busy | Under a second | Base58, 32 to 44 chars |
Three things the table hides:
- The same 0x address exists on Ethereum, Base and Polygon. Convenient and dangerous: USDC sent on Base to someone who only uses Ethereum lands safely but invisibly, until they add Base to their wallet. Sending to an exchange address on the wrong network is worse, because the exchange may not credit a chain it does not support.
- Solana needs a token account. A Solana wallet holds SOL in its main account and every other token in an associated token account, one per token. Creating one costs a rent deposit of about 0.002 SOL, paid by whoever creates it. Senders usually handle this automatically; a swap service paying out to a fresh address covers the rent.
- Gas is a separate asset. USDC on Base with no ETH on Base, or on Polygon with no POL, cannot move. Keep a small gas balance on every chain you use.
CCTP: Circle's own rail
CCTP, the Cross-Chain Transfer Protocol, is Circle's own mechanism for moving USDC between supported chains. It burns USDC on the source chain and mints native USDC on the destination after Circle attests to the burn, so no bridge holds locked collateral and no wrapped token is created; a second version with a faster mode arrived in 2025. Most bridges and wallets use it under the hood, which is why native USDC is the version worth holding: it is what CCTP mints. CCTP moves USDC to USDC only and needs gas on both sides.
Freeze reality on every chain
On Ethereum, Base and Polygon the USDC contract has a blacklist controlled by Circle; a blacklisted address cannot send or receive. On Solana Circle holds the mint's freeze authority and can freeze an individual token account. Everywhere the balance stays visible and stops moving. The network does not matter; the issuer does.
Which network for which job
- Deepest DeFi liquidity, long-term holding: Ethereum. Most expensive, most audited, most integrations.
- Low-cost DeFi and payments with Ethereum tooling: Base. Coinbase's network, so Coinbase-adjacent apps prefer it.
- Cheap EVM transfers, older apps and games: Polygon PoS. Check native versus USDC.e with every counterparty.
- Payments, memecoin trading, fast settlement: Solana. Cheapest and fastest, with its own wallet ecosystem and the token-account detail above.
In practice the choice comes down to where the counterparty wants the money and which chain you already hold gas on.
How to move USDC between networks without an account
A swap service does the cross-chain step for you and can change the asset on the way. Pairs with their own pages:
| You hold | You want | Pair page |
|---|---|---|
| USDC on Ethereum | USDC on Polygon | USDC ERC-20 to USDC Polygon |
| USDC on Ethereum | SOL, to fund a Solana wallet | USDC ERC-20 to SOL |
| USDC on Solana | USDT on BNB Chain | USDC Solana to USDT BEP-20 |
| USDC on Base | USDT on Tron | USDC Base to USDT TRC-20 |
| USDC on Ethereum | USDT on Tron, or back | USDC ERC-20 to USDT TRC-20, USDT TRC-20 to USDC ERC-20 |
- Open the pair, enter the amount and your destination address on the target network, optionally a refund address, and click Swap now.
- You get a unique deposit address on the source network and a status page, with no login.
- Send exactly the shown amount. The floating rate locks when the deposit reaches the required confirmations: fifteen for an ERC-20 deposit, one for Solana.
- The payout arrives at your address. The cost is your sending fee plus the spread and payout fee built into the quote; the pair page shows the all-in cost for a sample amount against the CoinGecko rate. For a Polygon payout, check the received contract against Circle's list, as with any Polygon USDC.
Mistakes to avoid
- Sending Polygon USDC.e where native USDC is expected, or the reverse. Same name, different contract.
- Sending on Base to an Ethereum-only exchange address. Same format, different ledger.
- A fresh Solana wallet with no SOL. It can receive but cannot send until it has gas.
- Holding a bridged wrapper where native USDC exists. The wrapper adds a bridge as counterparty and loses liquidity over time.
USDC (ERC-20) โ USDC (Polygon)