WATS Wallet logoWATS Wallet
Guide8 min read

"Insufficient Funds for Gas" but You Have Tokens? How to Fix Stuck Crypto

Your wallet shows tokens but says "insufficient funds for gas." The cause: token balance and gas balance are separate, and every chain wants its own native token. Here is how to fix it fast and avoid it next time.

You see tokens in your wallet, but a transfer or swap fails with "insufficient funds for gas." This almost always means one thing: your token balance and your gas balance are two different things, and you are out of the chain's native gas token. Every chain charges fees in its own native coin — ETH on Ethereum and most L2s, SOL on Solana, Toncoin on TON — and holding USDC, a meme coin, or even a bridged asset does not pay for the transaction. The fix is to get a small amount of that native token onto the same chain (via an on-ramp, a bridge, or a swap), keep a buffer for next time, or use a single-fee-token wallet that handles the juggling for you.

This is one of the most common and most confusing moments in self-custody. Nothing is broken, nothing is lost, and your tokens are exactly where you left them. You simply cannot move them until the right gas coin is sitting on the right chain. This guide explains why that happens, gives you three fast ways out, and shows how a single-fee-token wallet removes the problem structurally — with honest caveats about what that does and does not change.

The quick fix in one paragraph

If you just want to unstick a transaction right now: figure out which chain your stuck tokens are on, then get a small amount of that chain's native token into the same wallet on the same network. On an EVM chain (Ethereum, Arbitrum, Optimism, Base, Polygon, BNB Chain) you need a little ETH or BNB or MATIC; on Solana you need a little SOL; on TON you need a little Toncoin. The fastest routes are a built-in on-ramp (buy native gas directly with a card), a bridge from a chain where you already hold native (move a few dollars over), or a swap of a tiny slice of the tokens you already hold into the native coin — if you have enough native to pay for that one swap. Once the native balance covers the fee, your stuck transaction goes through.

Why this happens: token balance vs gas balance

Blockchains charge a fee for every state change — sending, swapping, approving, minting. That fee is called gas, and it is paid to the network's validators in the network's own native currency. Critically, the fee is not deducted from whatever token you are moving. If you send USDC, the network does not take its cut in USDC; it demands ETH (or whatever the chain's native coin is) on top.

So your wallet effectively tracks two separate balances that happen to share one screen:

  • Token balance — the assets you hold (USDC, a meme coin, a wrapped or bridged token, an NFT). These are what you want to move.
  • Gas balance — the native coin that pays the network fee. This is what actually lets you move anything.

You can hold $10,000 of a token and still be unable to send a single cent of it if your native gas balance is zero. The error is the network refusing to start a transaction it knows you cannot pay for. It is a balance problem, not a security problem.

The second trap is that gas is per-chain. ETH on Ethereum mainnet does not pay for a transaction on Polygon, and SOL does nothing on an EVM chain. Each network is its own toll road with its own currency. People most often hit this right after bridging: they move USDC to a shiny new chain, arrive with tokens but zero native coin on that chain, and discover they cannot even move the USDC back out.

Step 1: identify which native token the chain needs

Before you fix anything, confirm two things: which chain your stuck tokens are actually on, and which native token that chain charges fees in. Open your wallet and check the network the token is sitting on — the same token symbol (say, USDC) can exist on a dozen chains, and only the native coin on that specific chain will work.

Here is the mapping for the networks WATS supports:

ChainNative gas tokenNotes
EthereumETHHighest fees; you need real ETH, not wrapped or bridged variants.
Arbitrum / Optimism / BaseETHThese L2s also pay gas in ETH, but it must be ETH on that L2, not on mainnet.
PolygonPOL (formerly MATIC)Cheap fees, but still its own native coin.
BNB ChainBNBNative BNB on BNB Chain pays the fee.
SolanaSOLTiny fees, but you still need a small SOL balance to transact.
TONToncoin (TON)Native Toncoin pays for TON network operations.

One honest note: WATS spans EVM chains, Solana, and TON in a single self-custody wallet, but it does not natively support Bitcoin, so Bitcoin's gas model is out of scope here. Once you know the exact chain and its native coin, you know precisely what to acquire.

Step 2: fastest ways to get a little native gas (on-ramp, bridge, swap)

You only need a small amount of native token — enough to cover one or a few transactions, not a big position. There are three reliable routes, roughly in order of speed depending on what you already have.

Option A — Buy native gas with an on-ramp

The most direct fix when you have no native coin anywhere is to buy a small amount directly with a card or bank transfer through an on-ramp, sending it straight to your wallet address on the chain you need. Make sure the on-ramp delivers the native coin on the correct network — buying ETH that lands on mainnet will not help a stuck transaction on Base. This is the only route that needs nothing pre-existing in your wallet.

Option B — Bridge a little native from another chain

If you already hold native gas on a different chain — say you have ETH on Arbitrum but your tokens are stranded on Base — you can bridge a few dollars of native across. Bridge a small, deliberate amount; you are topping up the gas tank, not relocating your whole balance. Watch out for the chicken-and-egg case: bridging itself costs gas on the source chain, so you need a little native there to start.

Option C — Swap a slice of what you already hold

If you have just enough native to cover one transaction, you can swap a small portion of your stuck tokens into more native coin to build a buffer. The catch is the same one that got you here: a swap is itself a transaction and needs gas. If your native balance is truly zero, a same-chain swap will not save you — you must use Option A or B first. Some wallets and aggregators offer gas-on-swap features that deduct the fee differently, which leads directly to the structural fix below.

Step 3: avoid it next time — keep a small native buffer

The simplest habit that prevents this entirely: whenever you move tokens onto a chain, bring a little native coin along with them. Treat it like keeping a few dollars of fuel in a car you might drive in a new city.

  • Pre-fund every chain you use. Keep a small native balance (often just a few dollars) on each network you actually transact on, so you are never stranded with tokens you cannot move.
  • Top up before you bridge, not after. When you send tokens to a new chain, send or buy a little native there in the same session.
  • Leave a margin. Do not drain your native coin to the last cent after a transaction — fees fluctuate, and the next one might cost slightly more than the last.
  • Mind the busy chains. On Ethereum mainnet especially, gas spikes during congestion; a buffer that was fine yesterday can fall short during a busy hour.

This works, but it has an obvious downside: the more chains you use, the more little native balances you have to track and refill. That juggling is exactly the problem the next section addresses.

The structural fix: single-fee-token wallets (Hot Wallet, honest framing)

Keeping a native buffer on six chains is busywork. The structural alternative is a wallet that lets you pay fees in one token everywhere, so you stop managing a separate gas coin per chain. The WATS Hot Wallet does this with a single-fee-token model built on gas abstraction: you fund one ATS balance, and that token covers network fees across the chains the Hot Wallet supports, instead of you sourcing ETH here and SOL there.

Now the honest framing, because this is easy to oversell:

  • It changes which token pays, not how much. Gas abstraction swaps the fee token from per-chain native coins to ATS. It is not a discount, not "gasless," and not cheaper gas. The network still charges its real cost, tracked live; ATS just settles it.
  • You still need a funded balance. The single fee token is ATS, so a zero ATS balance lands you right back at "insufficient funds for gas." You have replaced many native balances with one — you have not removed the need for one.
  • It is a Hot Wallet feature, not a universal one. This applies specifically to the WATS Hot Wallet. The WATS Chrome extension and mobile app are pure self-custody wallets that follow the normal per-chain native gas model, exactly as described above.

So the real benefit is narrow and concrete: one fuel tank instead of six. If your pain is constantly running dry on whichever chain you happen to land on, consolidating fees into a single funded token removes the per-chain juggling — while everything else about how fees work stays the same.

Chain-by-chain notes (EVM, Solana, TON)

EVM chains (Ethereum, Arbitrum, Optimism, Base, Polygon, BNB Chain). All of these use the same model: a native coin pays gas, and it must be that coin on that exact chain. ETH covers Ethereum and the major L2s, but ETH on Arbitrum will not pay a Base fee — they are separate balances. Polygon uses POL and BNB Chain uses BNB. Mainnet fees are the most volatile, so keep the largest relative buffer there.

Solana. Fees are tiny, which lulls people into ignoring them — but "tiny" is not "zero." You still need a small SOL balance to send SPL tokens or interact with programs. Some actions also require a small rent deposit to open token accounts, so keep slightly more SOL than the bare transaction fee suggests.

TON. Network operations are paid in Toncoin. As with the others, holding a jetton (a TON token) does not pay for its own transfer; you need a little native Toncoin in the same wallet. Keep a small Toncoin buffer if you transact on TON regularly.

The thread through all three is identical: tokens are cargo, native coin is fuel, and each chain only accepts its own fuel. Once that clicks, "insufficient funds for gas" stops being a mystery and becomes a quick, predictable top-up. If you want the deeper mechanics, read crypto gas fees explained; to understand how single-fee-token wallets shift the fee token without changing the cost, see what is gas abstraction.

Frequently asked questions

Why does my wallet say insufficient funds for gas when I have tokens?

Because token balance and gas balance are separate. Networks charge fees in their own native coin (ETH, SOL, Toncoin), not in the token you are moving. You can hold thousands in a token and still be unable to send it if your native gas balance on that chain is zero. Add a little native coin on the same chain to fix it.

Can I pay gas with USDC or my other tokens instead of the native coin?

On a standard self-custody wallet, no — each chain demands its native coin for gas. A single-fee-token wallet using gas abstraction, like the WATS Hot Wallet, lets you pay fees from one ATS balance instead of sourcing native coin per chain. It changes which token pays, not the cost, and still needs a funded ATS balance. The WATS extension and mobile app use the normal per-chain native model.

I just bridged tokens to a new chain and now I am stuck. What do I do?

This is the most common version of the problem: you arrived with tokens but zero native coin on the new chain. Get a small amount of that chain's native token there — buy it via an on-ramp, or bridge a few dollars of native from a chain where you already hold some. Next time, bring a little native along when you bridge.

How much native token should I keep for gas?

Enough to cover several transactions with margin — often just a few dollars per chain, more on Ethereum mainnet where fees spike during congestion. Do not drain your native coin to the last cent after a transaction, since the next fee may cost slightly more than the last one.

Does WATS support Bitcoin gas?

No. WATS is a self-custody wallet spanning EVM chains (Ethereum, Arbitrum, Optimism, Base, Polygon, BNB Chain), Solana and TON in one wallet, but it does not natively support Bitcoin, so Bitcoin's fee model is out of scope. For the chains it does support, each uses its own native gas coin as described above.