Desktop / extension
- Open MetaMask and switch to the correct network (Ethereum mainnet, Polygon, BSC, etc.).
- Click the "Assets" tab.
- Select "Import tokens" (or "Add Token").
- Choose the "Custom Token" option.
- Paste the token contract address into the contract field.
- MetaMask usually fills the token symbol and decimals automatically. Verify they match a trusted source.
- Click "Add Custom Token" and then "Import Tokens".
This is the standard flow for adding ERC-20 tokens. If the symbol or decimals don’t populate, get those values from a block explorer (see next section).
Mobile app
- Open the MetaMask mobile app and pick the network at the top.
- Tap "Assets" -> "Add Tokens" -> "Custom Token."
- Paste the contract address and confirm symbol/decimals.
- Tap "Add".
The mobile UI mirrors the extension but the in-app dApp browser can be handy if you’re interacting with a token’s web interface directly. See WalletConnect & mobile browser for more on mobile dApp connections.
Using a token contract address in MetaMask
How do you verify a token contract address? Use a reputable block explorer for the chain (for Ethereum, Etherscan is the common choice), the official project site, or an audited token registry. Never trust a random address posted in a comment thread.
A quick checklist when you paste a contract address:
- Are you on the same network where that token contract lives? (Very common mistake.)
- Does the token symbol and decimal match the explorer entry?
- Is the project verified on the explorer (contract verified source code)?
If any of these fail, don't import the token until you confirm.
USDC & USDT contract addresses (Ethereum mainnet examples)
If you need common stablecoin contract addresses on Ethereum mainnet (double-check them before pasting):
- USDC contract address (Ethereum mainnet):
0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
- USDT contract address (Ethereum mainnet):
0xdAC17F958D2ee523a2206206994597C13D831ec7
Always verify the network before adding a stablecoin. USDC and USDT have different contracts on Polygon, BSC, Avalanche, and other chains — so a mainnet address will be wrong on those networks.
Remove, hide, or rename a custom token
Want to hide or remove an unwanted token? But you can remove a token easily.
- To hide/remove (extension): Assets -> find the token -> click the three-dot menu -> choose "Hide token" or "Remove" (UI label may vary).
- On mobile: Assets -> tap the token -> options -> hide/remove.
Renaming a custom token in MetaMask wallet: MetaMask does not let you edit token labels inline after import. To change the displayed token symbol or name, remove the token and re-add it as a custom token, editing the "Token Symbol" field during the add flow. This is how you effectively rename it.
Tokens not appearing & random coins in my MetaMask wallet
Why do random tokens show up? Two reasons: projects airdrop or send tiny amounts to many addresses (harmless but often worthless), or a malicious contract mints a token with a contract that shows up if you add it. Should you panic? No.
Steps to deal with them:
- Confirm the token’s contract and network via a block explorer.
- If you didn’t request it, don’t interact with the token or its dApp. Interacting can trigger dangerous approvals.
- Hide or remove the token from the UI (see section above) so it doesn’t clutter your view.
- If you previously clicked approve on a contract tied to the token, revoke approvals immediately (see Revoke approvals).
If tokens aren’t appearing at all: switch networks, confirm the correct contract address, and try the Token balance issues guide for reset steps.
Extension vs Mobile: a quick comparison
| Feature |
Extension (Desktop) |
Mobile App |
| Add custom token (contract address) |
Yes |
Yes |
| In-app dApp browser |
Limited to injected provider |
Full in-app browser + WalletConnect |
| Built-in swap aggregator |
Yes |
Yes |
| Hide / remove tokens |
Yes |
Yes |
| NFT display |
Limited |
Better mobile view |
| Easy network switching |
Yes |
Yes |
| Quick portfolio overview |
Basic |
More mobile-friendly |
(Image placeholder: screenshot of add-token screen)
Security notes: approvals, unlimited allowances, and revokes
Adding a token is just UI work. Approving a token (giving a contract a token allowance) is a separate on-chain permission and carries risk. I once approved an unlimited allowance to a contract in a rush and had to revoke it — expensive lesson.
Always check the exact allowance when a dApp asks to approve. If you see "Unlimited" or a very large number, consider rejecting and using a smaller allowance. Use a third-party revoke tool (or the guide at Revoke approvals) to clear permissions you no longer need.
For transfers or swaps, watch gas fees and use the EIP-1559 controls if available. Read more on fees: Gas fees & EIP-1559.
Troubleshooting checklist & tips
- Wrong network? Switch networks and check again.
- Token shows zero balance? Verify the contract on a block explorer.
- Symbol/decimals incorrect? Remove token and re-add with correct decimals.
- UI stale? Refresh the extension, or try the mobile app. (If all else fails, reset account in settings — this does not affect your seed phrase or tokens but clears local transaction history.)
See the guides: How to import a token and Token standards for more technical context.
Who this wallet setup suits (and who should look elsewhere)
Best fit: active DeFi users who interact with EVM-compatible dApps across chains, want quick swaps and token tracking, and prefer a non-custodial software wallet for daily use.
Look elsewhere if: you store large long-term balances and prefer hardware-level key protection as a default. MetaMask is a hot wallet; pairing it with a hardware wallet is a better pattern for big holdings (see hardware best practices).
FAQ
Q: Is it safe to keep crypto in a hot wallet?
A: Hot wallets are convenient but less secure than hardware wallets. Use a hot wallet for smaller daily balances and a hardware device for larger holdings. Backup your seed phrase and consider separate wallets for trading vs storage (see Backup & recovery options).
Q: How do I revoke token approvals?
A: MetaMask does not fully automate all revokes. Use a trusted revoke tool or the guide at Revoke approvals. Revoke any allowances you no longer need.
Q: What happens if I lose my phone?
A: Losing your phone doesn’t automatically lose your assets if you kept your seed phrase safe. Restore the wallet on another device using the seed phrase (seed phrase = access). For steps, see Import and recovery.
Q: Can I rename a token in MetaMask?
A: You can’t edit a token label after import. Remove it and re-add as a custom token, changing the symbol during the add flow.
Conclusion & next steps
Adding and managing tokens in MetaMask is straightforward once you follow one rule: verify the contract and the network before you act. I believe careful verification saves time and avoids loss. In my experience, most token UI problems are fixable (switching networks, re-adding tokens, or resetting the account). But be cautious with approvals.
Next step: if you plan to interact with DeFi regularly, read the swap and approvals guides — start with the Built-in swap guide and the Revoke approvals page.
(Image placeholder: checklist for adding tokens)
Want more on token workflows and security? Browse related guides: Token management, Connect to dApps, and WalletConnect & mobile browser.