Wallet has ETH but shows insufficient gas: Are you on the wrong network?

 / 
2

You have ETH in your Ethereum Mainnet wallet, but when you switch to Arbitrum and try to send a transaction, MetaMask says "insufficient balance". This is not a wallet bug. You are on the wrong network.

OKX Exchange
A leading global cryptocurrency platform,suitable for both beginners and experienced traders.
New user benefit: 20% off trading fees upon registration!!

Gas fees on each chain can only be paid with that chain's native token. Your ETH on Ethereum Mainnet cannot be used directly to pay gas fees on L2s or sidechains like Arbitrum, Optimism, or Polygon.

Goal

Get enough native tokens on the correct network to pay gas fees so your transaction can go through normally.

Step 1: Check the network you are currently on

Open your wallet (MetaMask, TP Wallet, etc.) and look at the current network name shown at the top:

  • Ethereum Mainnet → needs ETH
  • BNB Smart Chain (BSC) → needs BNB
  • Polygon → needs POL (formerly MATIC)
  • Arbitrum / Optimism → needs ETH (note: it is still ETH, but it is ETH on Arbitrum or Optimism, not ETH on Mainnet)
  • Avalanche C-Chain → needs AVAX

Solutions for different situations

Case A: You switched to an L2 network like Arbitrum, but you do not have ETH on that network.

Solutions:

  1. Use the official bridge, such as Arbitrum Bridge, to move ETH from Mainnet to Arbitrum. The bridging itself needs Mainnet ETH for gas fees.
  2. Withdraw ETH directly from a centralized exchange like OKX or Binance to your Arbitrum address. When withdrawing, select "Arbitrum" as the network, so the ETH you receive is on Arbitrum.
  3. In your wallet, switch back to Ethereum Mainnet, make sure you have ETH, then switch to Arbitrum again before operating.

Case B: You switched to BSC, but you do not have BNB.

Solutions:

  1. Withdraw BNB from an exchange to your wallet address. Choose the BSC (BEP-20) network, not ERC-20.
  2. If your BNB is on Ethereum Mainnet, use a cross-chain bridge to convert it to BNB on BSC.

Case C: Your ETH is on Mainnet, but you want to operate on an L2.

The total asset balance shown in a wallet may be aggregated across chains. It does not mean every chain has enough gas balance. Always check the balance on the currently selected network before you operate.

High risk: Never use a cross-chain transfer to send ERC-20 USDT directly to a BSC address. Even though the address format looks the same, different chains are separate ledgers, and assets do not automatically move across chains. In mild cases you may not see the balance; in worse cases the assets are stuck on chain and need extra steps to recover.

Completion standard

In your wallet, confirm that the native token balance on the current network, such as ETH on Arbitrum or BNB on BSC, is greater than the estimated gas fee. Use a block explorer like Etherscan, BscScan, or Arbiscan and enter your address to confirm the native token balance has arrived on that chain.

Common failure reasons

"I have ETH on Mainnet and BNB on BSC. Why does Polygon still say insufficient gas?"

Because Polygon needs POL. Each chain only accepts its own native token. They cannot be shared. Check that your wallet is on Polygon and confirm that you have POL in the balance.

"I chose Max, but the wallet still says insufficient balance."

When you choose to send the maximum amount of the native token, the gas fee must also be deducted from the same balance. If the system does not automatically reserve room for gas, you will see an "insufficient balance" warning. Manually lower the send amount a little to leave room for the gas fee.

Final checks

  1. At the top of the wallet, confirm the current network name and its native token symbol.
  2. Make sure that token balance is greater than the estimated gas fee.
  3. After sending the transaction, check the transaction details on that network's block explorer. The status should show Success.

OKX Exchange
A leading global cryptocurrency platform,suitable for both beginners and experienced traders.
New user benefit: 20% off trading fees upon registration!!

FAQ

Q: Doesn't MetaMask support paying gas with tokens like USDT and USDC? Why do I still need the native token? A: MetaMask supports a "Gas Station" feature on Ethereum Mainnet that can use USDT, USDC, DAI, and other tokens to pay gas, but only if it is enabled and available on your network. Even then, a small amount of native token is still needed as a buffer. For networks not in the supported list, it is safest to prepare the native token.

Q: I sent ERC-20 USDT to a BSC address. What should I do? A: This assumes you control the private key for that address. Switch the network in your wallet to Ethereum Mainnet, and the asset will be visible. Do not confuse BSC network seed phrases with Ethereum Mainnet seed phrases—the same private key can generate the same address on different chains, but assets are stored separately on each chain.