CryptoHelpHub
Heads up

MetaMask Insufficient Funds Error (Complete Guide)

Quick answer: You see "insufficient funds" because you do not have enough of the network's native gas token (ETH on Ethereum) to pay the transaction fee — even if your token balance looks fine.

The 30-second fix

The insufficient funds error almost always means one thing: you don't have enough of the network's native gas token to pay the fee — not that your token balance is wrong.

  • On Ethereum you need ETH for gas.
  • On Polygon you need POL/MATIC.
  • On BNB Smart Chain you need BNB.

If you're trying to send 100 USDT but have 0 ETH, the transaction cannot pay its gas — so MetaMask blocks it.

Why this happens

Every transaction on an EVM chain costs a gas fee, paid in the chain's native coin. Tokens like USDT, USDC or LINK are not gas. You can hold a million USDT and still be unable to move it without a little ETH for the fee.

Other, rarer causes:

  1. Wrong network selected. Your funds are on Polygon but MetaMask is set to Ethereum.
  2. Gas spike. Network is congested and the fee is higher than your ETH balance.
  3. Bridged/unsupported token showing a balance the contract can't actually spend.

Step-by-step fix

  1. Check which network is selected (top of MetaMask).
  2. Look at your native coin balance for that network (ETH, POL, BNB...).
  3. If it's 0 or very low, buy/transfer a small amount of that coin to your address.
  4. Retry the transaction. Lower the gas to "Market" if the network is busy.
⚠️ Scam warning: Nobody from MetaMask will DM you, ask for your Secret Recovery Phrase, or send you to a "support form" to fix this. Anyone who does is trying to drain your wallet.

How much ETH do I need for gas?

A simple token transfer on Ethereum mainnet typically costs a fraction of an ETH that varies with congestion. Keep a small buffer of the native coin in any wallet you actively use.

Was this helpful? 0 of 0 found this helpful

Frequently asked

Why does MetaMask say insufficient funds when I have tokens?

Because tokens like USDT are not gas. You need the network's native coin (ETH, POL, BNB) to pay the fee.

How do I fix insufficient funds for gas?

Add a small amount of the native coin for the selected network to your address, then retry.

Does switching networks help?

Yes if your funds are actually on a different network than the one selected.

Community answers (0)

Have a fix that worked? Help the next person.

Log in to answer