Here is a scenario that catches almost everyone once: you hold $500 of USDC, you try to swap it, and the transaction fails for 'insufficient funds for gas'. You have plenty of USDC — so what's missing?
The answer is the network's native coin. Every action on a blockchain costs a small fee, called gas, and that fee can only be paid in the chain's own coin.
One native coin per chain
| Network | Native coin for gas |
|---|---|
| Ethereum & its L2s | ETH |
| BNB Chain | BNB |
| Solana | SOL |
| Polygon | POL |
So to swap a token on Ethereum you need a little ETH; to do anything on Solana you need a little SOL. The token you're trading is irrelevant to the fee — gas is always paid in the native coin.
Why it works this way
Gas pays the network's validators for the computation and storage your transaction uses, and pricing it in one native asset keeps the system simple and secure. It also deters spam: if actions were free, the network could be flooded.
The practical rule
- Keep a small buffer of the native coin on each chain you use — a few dollars is usually plenty on cheap networks.
- When you bridge or withdraw a token to a new chain, send a little native coin too, or you won't be able to move what you just received.
- Topping up gas is itself a transaction, so don't run the buffer all the way to zero.
On Solana and most layer-2s, gas is a fraction of a cent, so a couple of dollars lasts a long time. On Ethereum mainnet at busy times, keep a larger buffer.
- Bridging a token to a new chain but forgetting to bring gas — leaving it stuck.
- Spending every last bit of native coin, then being unable to make the next transaction.
- Thinking a stablecoin balance can pay the fee. Only the native coin can.