- Confirm the correct network is selected in MetaMask (Ethereum mainnet, Polygon, BSC, Avalanche, L2s). If the token lives on Polygon but you are on Ethereum, it will not show. See add-polygon and add-bsc for adding networks.
- Get the contract address from an authoritative source: the project website, official social channels, or the chain's block explorer. Do not copy from random forums.
- Verify the contract has source code verified on the block explorer and check the token decimals and symbol.
- Check total supply and number of holders to spot obvious scam tokens.
- Ensure you have native gas currency (eg ETH, MATIC, BNB) to pay gas on that network.
In my experience, most mistakes come from being on the wrong network or copying a lookalike address. I learned that the hard way.
How to add a token: Step by step (Desktop extension)
- Unlock MetaMask and confirm the account you want to modify.
- Select the correct network from the top dropdown.
- Click the Assets tab, then click 'Import tokens' or 'Add Token' (UI label may vary).
- Choose 'Custom Token' and paste the token contract address into the Contract Address field.
- MetaMask should auto-fill Token Symbol and Decimals. Check those fields match the block explorer. (You can edit the symbol before importing.)
- Click Add Custom Token, then click Import Tokens to finish.
[Image: desktop add custom token modal placeholder]
What you will see: a new line in your Assets list with token balance. If it shows 0 but you know you hold tokens, double-check the network and contract address.
How to add a token: Step by step (Mobile app)
- Open the MetaMask app and unlock.
- Confirm the network at the top of the screen.
- Tap Assets, then tap Import tokens or the plus button.
- Paste the contract address into Custom Token. The app will attempt to fill Symbol and Decimals.
- Confirm and add.
You can also paste a contract address you copied on mobile. And in some cases a QR code will be provided by the token issuer to avoid copy errors.
Troubleshooting: tokens not appearing in MetaMask wallet
Common causes and quick fixes:
- Wrong network selected — switch networks and refresh. See networks-multi-chain.
- Token is non-EVM (eg Solana SPL) — MetaMask only supports EVM-compatible tokens; see solana-tron-near.
- Incorrect contract address — re-copy from an official source and re-add.
- Token uses unusual decimals or a proxy pattern — verify on the block explorer.
- UI sync bug — try restarting the extension or mobile app, or use sync-devices if you moved between devices.
If balances show on a block explorer but not in MetaMask, the issue is almost always network selection or a missing custom token entry. For persistent display problems see not-showing-balance.
USDT and USDC contract address guidance
Search phrases like 'usdt contract address metamask' or 'usdc contract address metamask' in Google, and you will get multiple results — because these stablecoins exist across many chains. That means the contract address you need depends on the exact network you are using.
How to pick the right one:
- Identify the chain you are using in MetaMask (Ethereum, Polygon, BSC, Avalanche, L2).
- On the project site or in the block explorer for that chain, copy the contract address.
- Paste and verify decimals and symbol before importing.
Never assume the same address works on every chain. But you already knew that, right? (If not, now you do.)
Renaming and removing tokens in MetaMask
Can you rename a token? Not directly after it is added. What you can do is remove the token from the wallet display and re-add it as a custom token while editing the Token Symbol field before import. That changes only your local display name — it does not rename anything on-chain.
How to remove a token from MetaMask wallet
- Desktop: Assets -> click the token -> open the three-dot menu -> Remove Token.
- Mobile: Assets -> tap the token -> open the menu -> Hide or Remove token (label varies).
Removing or hiding a token only affects the wallet UI. The tokens remain on-chain and are spendable if you interact with their contract.
Security: verifying contracts and approvals
Adding a token display does not grant approvals. But interacting with dApps often will. Be careful when approving contracts. How do you reduce risk?
- Verify the token contract source code and check for mint or blacklist functions.
- Check holder count and transaction history on the block explorer.
- Use a revoke tool if you previously granted unlimited token approvals. See revoke-approvals for steps.
- If you suspect a phishing dApp asked you to add a token, stop and verify the contract via the block explorer and community channels.
I believe the most important habit is verifying contracts before approving any spending allowance. I have had to revoke approvals more than once.
Quick comparison: Desktop vs Mobile vs WalletConnect
| Method |
Ease of adding |
Symbol editing |
Visibility across devices |
| Desktop extension |
Fast, keyboard paste |
Editable when adding |
Local to this profile (may need re-add on other device) |
| Mobile app |
Fast, copy/paste or QR |
Editable when adding |
Local to app account (re-add if restoring) |
| WalletConnect session |
You add via the connected wallet app |
Depends on wallet UI |
Same as the wallet you control |
[Image: comparison table placeholder]
FAQ
Is it safe to keep crypto in a hot wallet?
Hot wallets are convenient. They are not as secure as hardware wallets. If you hold small amounts for DeFi activity, a hot wallet is fine. For large balances, consider a hardware wallet and see hardware-best-practices.
How do I revoke token approvals?
Use a trusted revoke tool or the dApp that issued the approval, or follow the guide at revoke-approvals. Revoke only what you no longer use.
What happens if I lose my phone?
Recover the wallet with your seed phrase on a new install. If you did not back up your seed phrase, funds are likely lost. See backup-and-recovery-options.
Can I add the USDT contract address to MetaMask directly?
Yes, but make sure the address matches the chain you are using. Search for 'usdt contract address metamask' along with your chain name, and then verify the contract on the block explorer.
How do I rename a custom token in MetaMask wallet?
Remove the token display and re-add it as a custom token, editing the Token Symbol field during the add flow.
How do I remove token from MetaMask wallet?
Follow the Remove or Hide token steps above. This only changes the display; it does not burn or move tokens.
Conclusion and next steps
Adding a token by contract address is a basic skill for anyone using DeFi. It fixes many of the common issues where balances show on a block explorer but not in your wallet. But do the verification steps first. They prevent the most common scams.
If you want deeper help with tokens and approvals, check the tokens-management guide and the security-best-practices reference. If you need to add a specific network before importing a token, see add-polygon, add-bsc, and add-optimism-arbitrum.
If you found this helpful, follow the step-by-step above next time you encounter a missing token. But always verify the contract address first.