Guide

Token Not Showing in MetaMask? Causes and Fixes When a Transfer Succeeds but the Balance Won't Appear

メタマスクでトークンが表示されない原因と直し方|送金は成功しているのに残高が出ない時の完全チェックリスト
写真: FlippyFlink / CC0

The Bottom Line

If you're panicking because a token isn't showing up in MetaMask, in the vast majority of cases your funds haven't disappeared — they've arrived on-chain, they're just not being displayed in your wallet's UI yet. There's one thing to do first: open a block explorer (like Etherscan), search for your own address, and confirm the token has actually landed there. If it has, two steps will make it appear almost every time: (1) switch your network to the chain the token was sent on, and (2) import the token manually using its contract address. MetaMask doesn't always auto-detect unknown tokens, so a manual add is usually all that's required — that's the most common explanation.

Key points

- A successful transfer does not mean lost funds. First use an explorer to separate "did it arrive?" from "is it showing?"

- The two most common reasons a token won't appear are a network mismatch and not being imported (missed auto-detection).

- The standard fix is: verify the contract address from an official source → import as a custom token.

- Wrapped versions (like WETH) are a different asset from the original. Watch out for cases where the token isn't "missing" — you're just looking for the wrong thing.

First, diagnose: did it "disappear," or is it just "not visible"?

When a token isn't showing, resending it or moving funds in a panic is dangerous. Start by objectively confirming whether the token has actually arrived at your address. The tool for this is the block explorer for the relevant chain.

  1. Open the explorer for the chain you used to send (Etherscan for Ethereum, Polygonscan for Polygon, and so on).
  2. Paste your own receiving address (0x…) into the search box.
  3. Check "Token Holdings" or your transaction history for an incoming transaction of that token.

If there's an arrival record here, your funds definitely exist on the blockchain. The fact that MetaMask isn't showing them is a display (import) issue — the asset itself is safe. If there's no arrival record, suspect that the transfer hasn't been confirmed yet, or that it was sent to a different address or a different chain.

重要

This article is educational and is not investment advice. Perform wallet operations at your own risk. Never enter or share your recovery seed phrase (private key) with anyone. Many fake support agents and phishing sites will offer to "make your token show up" as a pretext to extract your seed phrase. You never need a seed phrase to fix a display problem.

Cause-by-cause checklist (check from the top)

#Symptom / causeHow to checkHow to fix
1Wrong network vs. the send chainLook at the network name at the top of the screenSwitch to the chain the token was sent on
2Token not imported (missed auto-detection)Token name isn't in the listImport as a custom token via contract address
3Contract address is wrong / a fakeCross-check with the official source and CoinGeckoRe-enter the correct address
4Decimals are wrongBalance shows as 0 or an odd magnitudeManually enter the correct decimals
5Looking for a "different token" like a wrapped versionCheck the token name in the explorerImport the token that actually arrived
6Arrived at a different address / accountRe-check the receiving addressSwitch to the correct account

1. Switching networks (the most frequent cause)

MetaMask supports multiple chains, but it only displays the assets on the currently selected network at any one time. A token that landed on Polygon, BNB Chain, or Arbitrum won't be visible while Ethereum is selected. Tap the network name at the top of the screen and switch to the same network as the chain used for the transfer. If the target chain isn't in your list, you'll need to add that network (from a legitimate source like Chainlist).

2. How to import a custom token

Aside from ETH itself and widely used tokens, you normally have to import assets manually or they won't display.

  1. Open MetaMask and choose "Import tokens" at the bottom of the asset list.
  2. Open the "Custom token" tab.
  3. Paste the token's contract address. If it's correct, the Symbol and Decimals will auto-fill.
  4. If they don't auto-fill, manually enter the correct symbol and decimals as listed on the official site or the token's page on CoinGecko.
  5. Tap "Next" → "Import" to add it to the list.

Always verify the contract address from an official source or from CoinGecko / a block explorer. Fake contracts with identical names exist, so don't blindly trust addresses from social media or search ads. If you're unsure even about the basics of setting up a wallet, also review how to create a wallet.

3–4. Wrong contract address or decimals

If you imported the token but the balance shows as "0" or an unnatural magnitude, suspect a wrong address or a decimals input error. Many ERC-20 tokens use 18 decimals, but some — like USDC and USDT — use 6. Check the correct value in the token detail page on CoinGecko or an explorer and re-enter it.

5. When you're looking for a "different token" like a wrapped version

An easily overlooked issue is that ETH and WETH (Wrapped ETH) are different tokens. When you go through a bridge or a DEX, funds can arrive as a wrapped or bridged version rather than the original asset. Check the official name and contract of the token that actually arrived in the explorer, and import that received version — that's the correct move. In this pattern, the token isn't "not showing," it has simply "arrived as an asset with a different name."

If it still won't show

  • Restart the app; update your browser extension.
  • Check whether MetaMask's "Autodetect tokens" setting is on (only works on supported chains).
  • Never enter your seed phrase into any DM or form claiming to be support. You don't need a private key to resolve a display problem.

If you plan to move large amounts, consider storing funds in a hardware wallet separate from your everyday hot wallet — that raises your security to a level entirely beyond display glitches. And if you frequently run into trouble with exchange withdrawals, it's also worth revisiting how to choose an exchange in the first place.

Frequently asked questions

Q. The transfer said "success," but the balance isn't showing in MetaMask. Is it gone? A. In most cases, no. Search your address on an explorer; if there's an arrival record, your funds are safe. Switching networks and importing the custom token will make it appear.

Q. Where can I verify the contract address? A. On the token's official site, its page on CoinGecko/CoinMarketCap, or the block explorer for each chain. Because fake contracts with the same name exist, always cross-check against the official, primary source.

Q. I imported it, but the balance shows as 0 or with a strange number of digits. A. The cause is a wrong contract address or a decimals input error. Some tokens like USDC use 6 decimals, so verify the official value and re-enter it.

Q. What if I sent it to the wrong chain? A. If it's a chain MetaMask supports, add that network and display/operate it with the same steps. If you sent to an unsupported chain or a wrong address, recovery can be difficult, so first check where it arrived using an explorer.

References & Sources

Sources

  1. How to display tokens in MetaMask — MetaMask Help Center
  2. Why is a token missing from my MetaMask Wallet? — MetaMask Help Center
  3. How to import a token in MetaMask Portfolio — MetaMask Help Center
  4. Etherscan (Ethereum Block Explorer)
  5. CoinGecko

FAQ

The transfer said "success," but the balance isn't showing in MetaMask. Is it gone?
In most cases, no. Search your receiving address on a block explorer; if there's an arrival record, your funds are safe. Switch your network to the send chain and import the token by its contract address to make it display.
Where can I verify the contract address?
On the token's official site, its page on CoinGecko/CoinMarketCap, or the block explorer for each chain. Because fake contracts with the same name exist, always cross-check against the official, primary source.
I imported it, but the balance shows as 0 or with a strange number of digits.
The cause is a wrong contract address or a decimals input error. Many tokens use 18 decimals, but some like USDC use 6, so verify the official value and re-enter it.
What if I accidentally sent it to a different chain?
If it's a chain MetaMask supports, add that network and display/operate it with the same steps. If you sent to an unsupported chain or a wrong address, recovery can be difficult, so first check where it arrived using an explorer.

This article is informational only and is not financial, investment, or trading advice. Prices are reference snapshots and may be outdated. Always do your own research.