USDC is the second-largest stablecoin and the most widely native-issued one. Circle mints it directly on 16+ chains, which means the "right network" question matters more for USDC than for any other dollar token. Pick the wrong rail and you either overpay 100x in fees or, worse, send USDC.e (bridged) when the receiver expected native USDC. This guide walks through network selection, per-wallet send steps, the fee math, and the three mistakes that cost people the most money.
Where USDC actually lives in 2026
USDC supply is concentrated on a handful of chains. Ethereum still holds the largest share at roughly $32B, followed by Solana at $8B, Base at $5B, Arbitrum at $4B, and Polygon at $2B. The remaining $3B is spread across Optimism, Avalanche, Stellar, Hyperliquid, and a long tail of newer L2s. That distribution drives liquidity, exchange support, and which rail will be cheapest at any given moment.
Native USDC vs USDC.e: the difference that matters
Native USDC is issued directly by Circle on that chain and is 1:1 redeemable through Circle Mint. USDC.e (the ".e" stands for "bridged") is a wrapped version that originated on Ethereum and was moved across a bridge. Polygon, Avalanche, Arbitrum, and Optimism all have both versions floating around. They are not the same asset. Exchanges, payment processors, and many DeFi protocols only accept native USDC for deposits. If you send USDC.e to a Coinbase or Kraken deposit address, the funds may be lost or stuck in support limbo for weeks. Always confirm with the receiver which version they want, and check the token contract address before signing.
Which network should you send USDC on?
The right rail depends on who is receiving, how much you are sending, and whether the destination is a wallet, an exchange, or a smart contract.
Ethereum mainnet: Highest compatibility. Every exchange and protocol accepts it. Fees run $2 to $15 per transfer depending on gas. Use for large transfers ($10K+) where settlement certainty outweighs cost.
Solana: Cheapest fast option. Transfers cost fractions of a cent and settle in under two seconds. Phantom, Backpack, and most centralized exchanges support native USDC on Solana.
Base: Best for Coinbase users. Coinbase routes USDC to and from Base with no withdrawal fee. Onchain fees are typically under $0.05.
Arbitrum and Optimism: The DeFi defaults. Native USDC has fully replaced USDC.e on both. Fees sit around $0.10 to $0.30. Use these if you are sending into Aave, Uniswap, or other L2-deployed protocols.
Polygon: Cheap but legacy. Native USDC is supported, but a lot of older balances and exchange addresses still expect USDC.e. Double check before sending.
How do USDC fees compare across networks?
Fees move with gas conditions, but the relative cost ordering has been stable for months. The table below shows typical per-transfer costs at the time of writing, sourced from L2Fees.info and each chain's block explorer.
Network | Typical fee | Speed to finality | Native USDC? |
Ethereum | $2.00 to $15.00 | ~13 min (32 blocks) | Yes |
Solana | <$0.01 | ~2 sec | Yes |
Base | $0.02 to $0.10 | ~2 sec soft, 7 day hard | Yes |
Arbitrum | $0.10 to $0.30 | ~1 sec soft, 7 day hard | Yes |
Optimism | $0.10 to $0.30 | ~2 sec soft, 7 day hard | Yes |
Polygon PoS | $0.01 to $0.05 | ~5 sec | Yes (also USDC.e) |
Avalanche C-Chain | $0.05 to $0.20 | ~2 sec | Yes |
Sending USDC from MetaMask
MetaMask handles every EVM chain on this list. The flow is the same on each, but you must switch networks first or the wallet will sign on Ethereum mainnet by default.
Open MetaMask and click the network dropdown at the top. Select the chain you want to send on (Ethereum, Base, Arbitrum, Optimism, Polygon, or Avalanche).
Confirm USDC appears in your token list. If not, click "Import tokens" and paste the official Circle contract for that chain (verified addresses at circle.com/usdc).
Click USDC, then "Send." Paste the recipient address. MetaMask will warn you if the address has never received tokens on that network.
Enter the amount. Review the gas fee in the chain's native token (ETH on L1/L2, MATIC on Polygon, AVAX on Avalanche). You need a small native balance to pay gas, USDC alone is not enough.
Click Confirm. Wait for the explorer link to show "Success."
Sending USDC from Coinbase Wallet
Coinbase Wallet (the self-custodial app, not the exchange) supports USDC on Ethereum, Base, Polygon, Arbitrum, Optimism, Avalanche, and Solana.
Open the app and tap Send.
Select USDC. The app will ask which network. Choose carefully: each network has a different deposit address format.
Paste or scan the recipient address. For Solana the address is a base58 string with no "0x" prefix.
Review the fee, which Coinbase Wallet quotes in USD equivalent.
Confirm with biometrics. Solana transfers settle in seconds, EVM transfers in a minute or two.
Sending USDC from Phantom
Phantom started as a Solana wallet and has since added Ethereum, Base, Polygon, and Bitcoin. For USDC it is the cleanest Solana experience.
Open Phantom. Tap USDC in your asset list, then Send.
Confirm the network shown matches what the receiver expects. Phantom defaults to Solana but will let you send the Ethereum or Base version if you hold those.
Paste the address. Phantom flags unfunded recipient accounts on Solana and warns you about the ~0.002 SOL rent-exempt minimum.
Sign. Solana confirmations are near-instant.
Sending USDC from Trust Wallet
Trust Wallet supports USDC on every major EVM chain plus Solana and Tron. Tron-native USDC exists but has limited exchange support outside Asia, so verify with the recipient first.
Search "USDC" in the asset list. Multiple entries appear, one per network. Pick the one matching the receiver's chain.
Tap Send. Paste the address.
For Tron-USDC, make sure you hold a small TRX balance for the energy/bandwidth fee.
Confirm and broadcast.
What are the most common USDC sending mistakes?
Three errors account for the vast majority of lost or stuck USDC transfers, and all three are avoidable with a 30-second pre-send check.
Sending USDC.e when the receiver expects native USDC. Most common on Polygon and older Arbitrum balances. The exchange deposit page usually shows the exact token name. If it says "USDC" without ".e", do not send the bridged version.
Wrong-chain deposit. Sending USDC on Polygon to a Base deposit address (or vice versa) usually results in lost funds because the destination wallet does not control the same address on the source chain. Even worse: sending Solana USDC to an Ethereum address format, which fails outright but ties up support tickets.
Missing memo or destination tag. Not a problem on EVM or Solana, but if you are sending USDC on Stellar or via certain exchange-specific deposit flows, a memo may be required to credit your account. Skip it and the funds sit in an omnibus wallet until you open a ticket.
How long does a USDC transfer take?
On Solana, Base, Arbitrum, Optimism, Polygon, and Avalanche, USDC transfers feel instant from the sender's view (1 to 5 seconds for the first confirmation). Centralized exchanges, however, often wait for additional confirmations before crediting. Coinbase, Binance, and Kraken each publish their required confirmations per network on their support pages. Ethereum mainnet hits soft finality in about 13 minutes (32 blocks) and is the slowest of the major USDC rails. For L2s like Base, Arbitrum, and Optimism, there is a distinction between soft finality (when the sequencer confirms) and hard finality (when the L1 settlement window closes, typically 7 days). For practical purposes (wallet-to-wallet, exchange deposits), soft finality is what counts.
Do you need the native gas token to send USDC?
Yes. USDC is an ERC-20 (or SPL on Solana) token, which means the transaction itself is paid in the chain's native asset. On Ethereum, Base, Arbitrum, and Optimism you need ETH. On Polygon you need MATIC. On Avalanche you need AVAX. On Solana you need SOL. The amounts are small (a few cents worth on L2s), but if you transfer USDC into a fresh wallet and try to send it back out, the transaction will fail until you fund some native gas. A handful of wallets including Coinbase Wallet now support gasless USDC transfers on Base via paymaster contracts, but it is not yet the default.
Cross-chain USDC: when to bridge vs when to use CCTP
If you need to move USDC between chains, do not use a generic bridge that mints a wrapped version. Circle's Cross-Chain Transfer Protocol (CCTP) burns native USDC on the source chain and mints native USDC on the destination. No wrapped tokens, no liquidity risk. Most major wallets and aggregators (including Coinbase Wallet, MetaMask Bridge, and Eco Routes) route USDC cross-chain via CCTP by default. See our guide on CCTP cross-chain transfers for the full mechanism.
Methodology and sources
Supply distribution from DeFiLlama stablecoin dashboard, May 2026 snapshot. Fee ranges from L2Fees.info and each chain's block explorer over a rolling 30-day window. USDC contract addresses and chain support verified at circle.com/usdc. Wallet send flows verified against current MetaMask, Coinbase Wallet, Phantom, and Trust Wallet documentation. CCTP mechanics from Circle's developer docs.

