How to Add a Token to MetaMask (Step by Step)
You bought or received an ERC-20 token, but it isn't showing in MetaMask. Don't worry โ your tokens aren't lost. MetaMask simply needs to be told which tokens to display. This guide shows you exactly how to add any ERC-20 token using its contract address, on both desktop and mobile, and how to do it safely without falling for scam tokens.
Why your token doesn't appear automatically
Your token balance lives inside the token's smart contract, mapped to your address โ it's safe on-chain whether or not your wallet shows it. MetaMask can auto-detect many well-known tokens, but there are millions of ERC-20s, so it won't display every one by default, especially new tokens. To see a specific token, you "import" it, which simply tells MetaMask to read and display your balance from that contract. Nothing about your funds changes; only what your wallet shows.
What you need first: the contract address
Every ERC-20 token has a unique contract address (a 42-character string starting with 0x). This is the one piece of information you need to add it. You can find it from:
- A block explorer like Etherscan โ search the token name and confirm it's the official one.
- The project's official website or verified social channels.
- Your own deployment โ if you created the token, the contract address is shown on the success screen and in your wallet's transaction history.
Add a token on desktop (browser extension)
- Open the MetaMask extension and make sure you're on Ethereum Mainnet (or the network the token is on).
- Scroll to the bottom of your token list and click "Import tokens."
- Select the "Custom token" tab and paste the contract address into the address field.
- MetaMask usually auto-fills the token symbol and decimals. Leave these as detected unless you have a reason to change them.
- Click "Next," review, then "Import." Your balance now appears in the token list.
Add a token on mobile (iOS/Android)
- Open the MetaMask app and confirm the correct network at the top.
- On the home screen, scroll down and tap "Import Tokens."
- Choose "Custom Token," paste the contract address, and let it auto-fill the symbol and decimals.
- Tap "Import." The token and your balance appear in your asset list.
The process mirrors the desktop flow โ the only requirement is the verified contract address.
Confirm you added the right token
Because scam tokens impersonate real ones, take a moment to verify after importing:
- Open the contract address on Etherscan and check the token's holders, transfers and (if verified) source code.
- Confirm the address matches the one published on the project's official site โ character for character, or at least the first and last several characters.
- Be suspicious of tokens that appear in your wallet without you buying them; these "dust" airdrops often lead to phishing sites. Don't interact with them.
Learning to read a contract is the best defence โ see verify a contract on Etherscan and our ERC-20 token security guide.
Troubleshooting
- Balance shows zero after importing. You may be on the wrong network, or the tokens are at a different address than the one connected. Switch networks or check the correct account.
- Symbol or decimals didn't auto-fill. Enter them manually โ decimals is almost always 18. The correct values are on the token's Etherscan page.
- "Token already added." It's already in your list; scroll up to find it.
- Still not showing. Re-check that you pasted the exact contract address with no extra spaces.
If you created the token
When you launch a token with Create ERC-20 Token, the contract address appears on the success screen and the full supply is already in your wallet. Copy that address, follow the steps above, and your new token shows up immediately. You can then share the contract address with your community so others can add it the same way โ a key step in making your token visible and tradeable.
Helping others add your token
Once your token is live, make it easy for holders to add it: publish the contract address prominently on your site and socials, link to its Etherscan page, and consider adding a "Add to MetaMask" button using MetaMask's wallet_watchAsset feature on your project page. The smoother you make this, the faster your community can see and use your token.
A note on safety
Adding a token to MetaMask is harmless โ it's just a display action and never moves funds or grants permissions. The risks come after: interacting with a malicious token's website, approving a suspicious contract, or trading a token you haven't verified. So import freely, but research before you transact, and always start from official sources.
Conclusion
If a token isn't showing in MetaMask, you simply need to import it by its contract address โ a free, safe, one-minute action on desktop or mobile. The only real care to take is sourcing the correct, official contract address and verifying it on Etherscan to avoid look-alike scam tokens. With the token imported, your balance is visible and ready to send, swap or manage.
๐ Ready to launch your token?
Create a verified ERC-20 token on Ethereum in under 60 seconds โ no coding required.
Create Your ERC-20 Token โ