USDC is a dollar stablecoin that exists on many chains. The fee to send it depends mostly on which chain you use. This article explains what decides the cost, how the chains compare in general terms, and gives a checklist to follow before you send.
Numbers change all the time, so this guide tells you where to look instead of giving prices.
What decides the cost
Four things matter.
- The chain. Each chain has its own block space and its own fee market. See why fees differ between chains.
- The gas for a token transfer. Sending USDC is a smart contract call. It uses more gas than sending the native coin, about 50,000 to 65,000 gas on EVM chains, instead of 21,000.
- The L1 data fee on layer 2s. On Arbitrum, Base and Optimism, the fee has a second part for posting data to Ethereum. See layer 1, layer 2 and layer 3.
- The recipient's token account on Solana. On Solana, a wallet needs a token account for each token it holds. If the receiver has never held USDC, the first transfer must create that account, which needs a small refundable deposit called rent (about 0.002 SOL). The usual fee shown in trackers does not include it.
The amount you send does not change the fee. Sending 5 USDC costs the same network fee as sending 5,000 USDC.
How the chains compare in general
This is a rough picture. Always check live numbers.
| Chain | Usual cost of a USDC transfer | Main thing to know |
|---|---|---|
| Ethereum mainnet | Usually the highest | Busy base layer; fees vary a lot |
| Arbitrum, Base, Optimism | Usually cents or less | Includes an L1 data fee |
| Polygon | Usually cents or less | Gas is paid in POL |
| Solana | Usually a fraction of a cent | Rent may apply for a new token account |
Ethereum mainnet usually costs the most. The L2s, Polygon and Solana are usually cents or less. "Usually" matters here: a busy day can move these numbers, and the ranking can change. Open the live gas page, choose the Send token action and look at the chart. Chains are sorted from cheapest to most expensive.
Bitcoin does not carry USDC in the same way, so it does not appear in the token comparison.
The receiver must be on the same chain
This is the most important rule. USDC on Base is not the same thing as USDC on Ethereum, even though both show a "USDC" label. They are separate balances on separate chains. If you send USDC to an address that the receiver controls on a different chain, the receiver may not see it, and getting it back can be hard or impossible.
Before you send, ask the receiver:
- Which chain do you want to receive on?
- Is it an EVM address (starts with 0x) or a Solana address? The two formats are different.
- Does your wallet or exchange support deposits on that chain?
Many exchanges accept USDC only on a list of chains. Sending to an unsupported chain can mean the funds are lost or stuck.
Native and bridged USDC
Some chains have two kinds of USDC. Native USDC is issued directly on the chain by the issuer. Bridged USDC is a copy created when someone locks USDC on another chain and a bridge issues a wrapped version. Both can look like "USDC" in a wallet, but they have different contract addresses, and some apps and exchanges only accept one of them. Read bridges and their risks and stablecoins. Check the contract address if the receiver is picky.
Exchange withdrawal fees are separate
If you withdraw USDC from an exchange, you usually pay a withdrawal fee set by the exchange. It is not the same as the network fee. It is often a flat amount that can be larger than the real network fee, especially on cheap chains. The exchange also may set a minimum withdrawal.
Compare the withdrawal fee shown for each network on the exchange's own page. Sometimes the network with the lowest fee is not the one you expect, because the exchange sets its own prices.
A step-by-step checklist
- Ask the receiver which chain and which USDC they need.
- Open the gas page, select Send token and note the cost on that chain at Normal speed.
- If several chains work for the receiver, pick the cheapest one that is also well supported by their wallet or exchange.
- Check you hold a little of the chain's gas coin (ETH on Ethereum and most L2s, POL on Polygon, SOL on Solana). Without it you cannot pay the fee.
- Copy the address carefully. Send a small test amount first if the sum is large.
- Check the network name in your wallet before you confirm.
- After sending, search the transaction on the chain's page to see it confirmed. See how to read a transaction.
A wrong chain or a wrong address is the most expensive mistake. A test transfer costs a small extra fee, which is usually cheaper than a lost payment.
Frequently asked questions
What is the cheapest chain to send USDC?
It changes through the day. L2s, Polygon and Solana are usually far cheaper than Ethereum mainnet. Use the Send token view on the gas page to see the order right now.
Can I send USDC from Base to Ethereum directly?
Not as a normal transfer. A normal transfer stays on one chain. To move USDC between chains you need a bridge or a service that supports cross-chain transfers, and it adds its own fees and risks.
Why do I need ETH to send USDC?
On Ethereum and its L2s, the network fee is paid in ETH, not in USDC. You need a small ETH balance in the same wallet on the same chain. Polygon uses POL and Solana uses SOL.
Does the amount change the network fee?
No. The fee depends on the work the transaction needs, not on the dollar value. The exchange fee may be different, so check it.
Why was my Solana USDC transfer more than usual?
The first transfer of a token to a wallet that has no token account for it must create the account, which needs a small refundable deposit.