Fees · Guide
Insufficient Funds for Gas: Why Your Wallet Says It and How to Fix It
Insufficient funds for gas means your wallet lacks the network's own coin to pay the fee. Find the cause, add the right coin on the right network, then retry.
- Author
- How2BuyCrypto Editorial
- Last updated
- Updated
- Reading time
- 8 min read
Written with AISources checked How our guides are made
At a glance
- Usually a token balance cannot pay the fee; the network's own coin must be in the same account, on the same network.
- The raw 'price + value' message means the highest possible fee plus any ETH you send must fit in your ETH balance.
- As of October 2026, MetaMask's help pages say it can pay the network fee in other tokens on some networks; two settings must be on.
- Never type your recovery phrase into a site that offers to release gas or tokens.
On this page11 sections
- Insufficient funds for gas in MetaMask: what the error means
- Why it says insufficient funds when you have enough
- What you need before you start
- Insufficient ETH for gas fee: how to fix it, step by step
- Example with made-up numbers
- On an exchange or broker app
- Solana: SOL pays the fee
- TRON: TRX behind a USDT send
- Risks to understand
- Frequently asked questions
- Sources
Insufficient funds for gas means your wallet does not hold enough of the network's own coin to pay the network fee (gas fee), so it will not send. To fix it, put a small amount of that coin (ETH on Ethereum) on the same network your wallet is using, then send again with room left for the fee. If you fetch the coin from an exchange, the withdrawal network must match the wallet's network. For how gas works, read Ethereum gas fees.
Insufficient funds for gas in MetaMask: what the error means
For an insufficient funds for gas MetaMask error, MetaMask says (opens in a new tab) the "insufficient funds" message means you do not have enough of the network's native token to cover gas. Its examples are ETH on Ethereum Mainnet and on layer 2 networks such as Arbitrum or Optimism, BNB on BNB Chain, POL (formerly MATIC) on Polygon and AVAX on Avalanche.
Generally, across networks that run like Ethereum (EVM-compatible), each transaction needs gas, token transactions included, and the price changes. So a token balance usually cannot pay for its own send, with a MetaMask exception noted after the steps. In MetaMask, a greyed-out Confirm button means the same thing.
The raw message is insufficient funds for gas * price + value. It comes from Ethereum node software such as Geth, which returns it (opens in a new tab) when the total cost of a transaction is higher than the sender's balance. In plain words, "gas" is the most gas the send may use, "price" is the most you agreed to pay per unit, and "value" is the ETH you send, as the transaction fields (opens in a new tab) are defined. Together they must fit in your ETH balance, so sending your whole balance fails.
An "insufficient balance" message on an exchange's withdrawal screen is a different problem; one cause is a withdrawal hold.
Why it says insufficient funds when you have enough
| What you see | Likely cause | Check |
|---|---|---|
| Tokens, but no ETH | A token send pays its fee in the network coin | Look for the fee coin in the same account |
| ETH shown, send still refused | The wallet may be set to a different network from the one holding the ETH | Compare the wallet's network name with the network holding the ETH |
| ETH is on an exchange | The wallet cannot spend it | Read the balance inside the wallet, not the exchange app |
| Sending all of your ETH | No room left for the fee | Lower the amount and compare it with your balance |
| It worked yesterday | Gas prices change | Compare today's fee on the confirm screen with your balance |
Mainnet and layer 2 explains how the networks differ, and Ethereum gas fees explains why the fee moves.
What you need before you start
- Your wallet open, with the network name it shows and the account that failed.
- A way to get the fee coin: an exchange account that allows withdrawals to your own address, or a buy option inside the wallet. If you have no exchange account yet, read how to buy crypto first, including the registration check for your country.
- The failed send's confirm screen, if it still shows the fee estimate.
Insufficient ETH for gas fee: how to fix it, step by step
As of October 2026, the buy and fee-token options below come from MetaMask's help pages (opens in a new tab).
Read the network and its fee coin
Open the wallet and read the network name it is set to. Then find that network's fee coin in its docs or the wallet's help. Do not guess from the token you want to send.
Check the fee coin balance on that network
Look at the fee coin balance in the same account that failed, with the same network selected. A token balance (except through the MetaMask option noted after the steps), ETH on another network or ETH at an exchange does not count. If the balance is there but smaller than the fee estimate, you need more of it.
Get a small amount of the fee coin onto that network
MetaMask says you can buy native tokens on several networks directly within it. Otherwise, withdraw from an exchange and pick the exact network your wallet uses; how to choose the network and, for layer 2 networks, choosing a network for your first transfer walk through it. Before you confirm, compare the amount that will arrive with the fee estimate from step 2. If the exchange screen shows no fee or arriving amount, ask its support.
Wait until it shows in the wallet
Check the same account and network. If nothing appears, do not withdraw again yet; use the transaction ID with how to track a crypto transaction.
Retry and leave room for the fee
Send your token again. If you are sending ETH itself, send less than the full balance so the fee fits too. Compare the balance with the amount plus the fee on the confirm screen. If they do not add up, ask support.
Example with made-up numbers
The token, the network and every amount below are invented. A real wallet may label and group these amounts differently.
- You hold 200 Token Y and 0 ETH on Network L (an ETH-based layer 2), plus 0.05 ETH on mainnet. Sending Token Y is refused, because mainnet ETH is a different balance.
- You withdraw 0.003 ETH from an exchange on Network L. The exchange's fee is 0.0002 ETH, so 0.0028 ETH arrives.
- The send of Token Y now goes through, with a highest possible fee of 0.0004 ETH.
- Second trap, starting again from a 0.0028 ETH balance with the same 0.0004 ETH highest fee: sending all 0.0028 ETH needs 0.0028 + 0.0004 = 0.0032 ETH, which is more than you have, so it fails. Sending 0.0020 ETH needs 0.0024 ETH and fits.
The 200 Token Y were never the problem. A few thousandths of ETH on the right network were missing.
On an exchange or broker app
A platform handles the network fee its own way. As of October 2026, Robinhood in the US says (opens in a new tab) that when you withdraw ERC-20 tokens on Ethereum, the network fee is paid in ETH, and it calculates the ETH equivalent and debits your token balance. Other platforms may handle it differently; see how exchanges set an ETH withdrawal fee.
Solana: SOL pays the fee
As of October 2026, Solana's docs say (opens in a new tab) every Solana transaction requires a fee paid in SOL. Sending a Solana token such as USDC is a transaction too, so a wallet with tokens and no SOL has the same problem. For the minimum balance a Solana account keeps, read the Solana minimum balance before you send.
TRON: TRX behind a USDT send
As of October 2026, TRON's developer docs say (opens in a new tab) every smart-contract call consumes Energy, and every transaction except queries uses Bandwidth. Energy has no free quota, and when an account's Energy does not cover a contract call, TRX is burned for the rest. TRC-20 tokens such as USDT on TRON are smart contracts, so a wallet with no TRX and no Energy may have nothing to pay the Energy cost with. Get TRX onto the TRON network with the checks in step 3.
Risks to understand
- Free gas offers. ethereum.org's rule (opens in a new tab) is that no one is going to give you free or discounted ETH. Treat an offer of free gas in a message or comment as a scam.
- Unknown tokens that point you to a site. A token airdropped into your wallet that sends you to a website to claim it is a scam route, and approving a transaction there can send your funds to the scammer. Leave it alone and read how to verify a token contract address.
- Fees demanded before a withdrawal. Never pay a "gas fee" or any other fee to release a withdrawal; see how to spot a crypto investment scam.
- Fake support. Reach help only through official channels, as in how to reach real support.
Next, read how to choose the right withdrawal network and Ethereum gas fees before you move more coins.
Frequently asked questions
Can someone else send me ETH just to pay the gas?
Yes. MetaMask's fix is to send some of the necessary native token to your account, and its page does not say who must send it. Give the sender your address and the network, and have them check the whole address character by character. A confirmed send cannot be undone, so a small test first is worth the extra fee.
Why does my wallet show my USDT but say I cannot send it?
Because sending a token is a transaction too, and on Ethereum and similar networks a transaction generally needs gas paid in the network's own coin. Look for ETH, or the coin of the network your USDT is on, in the same account and on the same network. As of October 2026, MetaMask's help pages say it can pay the fee with other tokens, including USDT, on some networks, such as Ethereum Mainnet, when 'Smart Transactions' and 'Estimate balance changes' are on.
How much ETH do I need for the fee?
The wallet's confirm screen shows an estimate for the send you are making, and gas prices change, so no fixed figure applies. Compare that estimate with your balance of the fee coin on that network. If the screen shows no estimate, ask the wallet's support before you try again.
Sources
- How to fix 'insufficient funds' error or greyed-out confirm button, MetaMask (Consensys). Accessed .
- How to use gas included transactions, MetaMask (Consensys). Accessed .
- go-ethereum core/error.go, go-ethereum (Ethereum Foundation, GitHub). Accessed .
- Transactions, ethereum.org. Accessed .
- Crypto transfers, Robinhood (Robinhood Crypto, LLC). Accessed .
- Fees, Solana Foundation (solana.com). Accessed .
- Resource Model, TRON DAO (developers.tron.network). Accessed .
- Ethereum security and scam prevention, ethereum.org. Accessed .
This guide was researched and written with AI using the sources above. It is general information, not financial advice. Cryptoassets are volatile and you could lose the money you invest. Check the rules in your country before you buy. Some links on this site may be affiliate links; they never change what we write. Spotted an error? Email contact@how2buycrypto.org.