Why MetaMask Shows a Different Balance on Arbitrum Than on Ethereum
The short answer: MetaMask is not a single balance display. It shows you the balance of the address you have imported, but it shows that balance per network. Arbitrum and Ethereum are separate networks with separate state. When you switch from the Ethereum mainnet to Arbitrum One in MetaMask, you are asking it to query a different blockchain. That chain has its own record of what your address holds. If you sent funds to your address on Ethereum but never bridged them, they exist on Ethereum. Arbitrum has no idea they are there.
This is not a bug. It is the core design of a rollup.
The two ledgers are not synced
Ethereum mainnet and Arbitrum One are two independent ledgers. The Arbitrum chain posts transaction data to Ethereum for security, but it maintains its own account balances and smart contract state. Your address on Arbitrum is derived from the same private key, so MetaMask can compute the same address on both chains. But the balance at that address on Arbitrum is only what has been moved into the Arbitrum system.
When you bridge to Arbitrum, you are not "sending" tokens from Ethereum to Arbitrum in the same way you send tokens between two exchanges. You are depositing them into a smart contract on Ethereum. That contract controls the funds on L1. The Arbitrum chain then mints a corresponding amount of tokens on its own ledger. Those minted tokens exist on Arbitrum. Your Ethereum balance is reduced because the contract now holds them. Your Arbitrum balance is increased because the bridge contract on Arbitrum credits your address.
So if you have 1 ETH on Ethereum and you have never bridged it, your Arbitrum balance is 0. MetaMask will show 1 ETH when you select Ethereum mainnet, and 0 ETH when you select Arbitrum One. That is correct behavior.
What metamask is actually doing
MetaMask is a wallet interface. It does not hold your funds, and it does not aggregate balances across chains. For each network you add, it uses an RPC endpoint to query the current balance of your address on that specific chain. The Ethereum mainnet uses one RPC. Arbitrum uses another. MetaMask asks each one the same question: "What is the balance at this address?" The answers can be different, because the underlying data is different.
If you see a balance on Ethereum but not on Arbitrum, the first thing to check is whether you have ever completed a bridge transaction. If you have not, the solution is to bridge. If you have bridged and the balance is still missing, check the address you bridged from. A common mistake is bridging from an exchange that uses a different deposit address, or using a contract that sends funds to a different derived address. Your MetaMask address on Arbitrum should be identical to your Ethereum address, but if you used a centralized exchange to bridge, the exchange may have sent the funds from a different address entirely.
Fees and token approvals are not balances
Another reason a balance might look wrong: you are confusing a token balance with an available balance. On Ethereum, sending a transaction requires ETH for gas. On Arbitrum, gas is paid in ETH as well, but the amount is far smaller. If you have 0.01 ETH on Arbitrum, that is your balance. MetaMask will show that. It will not deduct a separate gas amount from your displayed token balance, because gas is paid in ETH, not in the token you are viewing.
If you hold USDC on Arbitrum, MetaMask shows your USDC balance. It does not show your ETH balance next to it unless you have added ETH as a token. You might see a USDC balance of 100 and think your total is 100. It is. The ETH you hold for gas is separate. If you see 100 USDC and 0 ETH, that is not a discrepancy. That is two different assets on the same chain.
Common Reasons for a Mismatch
- You bridged, but to a different network. Arbitrum One and Arbitrum Nova are separate chains. If you sent funds to Nova, they will not appear on One. MetaMask treats them as distinct networks.
- You used a cross-chain bridge, not the official bridge. Services like Hop or Stargate move funds by burning or locking tokens on the source chain and minting or releasing them on the destination. If that bridge failed or is still processing, your funds may be stuck in a contract, not credited to your Arbitrum address.
- You are looking at the wrong address. If you have multiple accounts in MetaMask, you may have switched to a different account. The balance shown is for the currently selected account, not for all accounts.
- You sent a token to your address on Arbitrum, but MetaMask has not added the token contract. MetaMask does not automatically list every token. If you sent a custom ERC-20 to your Arbitrum address, you need to manually add the token contract to see it. The balance exists on-chain, but MetaMask cannot display it until you tell it what to look for.
- The RPC is showing stale data. If you are using a public RPC or a node that is out of sync, it may return an old balance. Switching to a different RPC endpoint or waiting a few minutes usually fixes this.
How to check your real balance
You do not need MetaMask to verify your balance. Use a block explorer. Arbiscan is the standard explorer for Arbitrum One. Enter your address, and it will show the true balance on that chain. If Arbiscan shows the balance you expect, the problem is in MetaMask, not on-chain. If Arbiscan also shows a different balance, then the funds are not on that chain, and you need to trace where they went.
For tokens, you can check the token's contract page on Arbiscan and look at the "Holders" or "Token Transfers" section. That will show you exactly which address received the tokens and when.
Fixing MetaMask Display
If the chain balance is correct but MetaMask is wrong, try the following in order:
- In MetaMask, click the network selector and switch to another network, then switch back to Arbitrum.
- Remove the token from your token list and re-add it using the contract address from Arbiscan.
- Change your RPC endpoint. Go to Settings, Network, Arbitrum One, and replace the RPC URL with one from a reliable provider listed on the official Arbitrum documentation.
- Clear the cache in MetaMask. This is in Settings, Advanced, Clear activity and nonce data. This does not remove your funds; it only re-syncs the display.
None of these steps will move funds. They only affect what MetaMask shows you. If the balance is wrong on the explorer, no wallet setting will fix it. You have a bridging or sending issue that needs to be resolved on-chain.
Not financial advice. dogekaki.com publishes market data and general information about digital assets. Crypto assets are volatile and you can lose everything you put in. Nothing here is a recommendation to buy, sell or hold, and we make no price predictions.
Prices are sourced from third parties and may be delayed or wrong. Verify anything you intend to act on against a primary source.