Metamask is the veritable Swiss army-knife of the Ethereum ecosystem, cementing its place as the most popular wallet interface in crypto in recent years. Despite this, the app still lacks some basic features including the ability to display Ethereum tokens (aka ERC-20 tokens) by default.
For newer users in particular this is often cause for confusion - as evidenced by the amount of posts on r/ethereumnoobies regarding tokens the user fears they have lost.
Given the frequency of such posts, I have created this guide to obviate the need to rehash the same information for each such post.
Before we get to that, here’s a brief summary of Metamask for those less familiar with the app.
A Metamask refresher
Metamask’s wallet interface for Ethereum based protocols* is available as a browser extension on Chrome, Brave, Firefox & Edge. There is also a Metamask mobile app, though for the purpose of this guide instructions will focus on the browser version.
For optimal security, each Metamask installation should be initiated via the app’s website at metamask_io - as opposed to searching for Metamask in Google’s store due to instances where phishing versions of Metamask have been carelessly listed by Google.
I also recommend using a hardware device (HD) such as a Grid+ or Ledger Nano with Metamask. This provides optimal security by encrypting your wallet’s private key and using two factor authentication where you the user respond to information using both Metamask’s and your HD device’s screen and keys.
You can also import your wallet’s private key directly into Metamask though this is not recommended due to the possible presence of malware on your PC capable of phishing this information to access to your wallet.
Adding tokens to Metamask’s list
To the main task - of adding tokens that do not appear in Metamask’s token list.
Under “Assets” refer to the section displaying ETH in your wallet in the app. Beneath this, you will see the following text:
“Don’t see your token? Refresh list or import tokens.”
If clicking “Refresh” fails to reveal your token, entering “Import Tokens” and “Search” sometimes reveals common tokens like $USDC that when clicked will be added to the list. Otherwise you will need to click “Custom Token” and enter a token’s details on the following page.
This information can typically be obtained via Etherscan_io. Entering the token’s initials (eg, “UNI” for Uniswap) in the website’s main search panel will generate a list of options with the relevant token often appearing in the top results.
Otherwise, providing the full name of the token may be required before you can locate the respective page. Note: be wary of fake versions of a token that use the same name and symbol when conducting this search - by noting if there is a blue check mark next to “token summary” and observing if the token’s symbol is displayed.
When you have located the token you are looking for on Etherscan, copy text next to “Contract” and paste this information into Metamask the “Token Contract Address” pane on the respective page. The other two fields will typically auto-populate following this; if not, return to Etherscan and take note of these details to enter manually as above.
Finally, click “Add Custom Token” and you will hopefully see this token & the correct balance in your wallet in Metamask.
*These instructions refer to tokens on Ethereum’s main chain although similar procedures apply for Ethereum’s layer two solutions (including Arbitrum and Optimism); Ethereum’s side-chains (including Gnosis & Polygon) and protocols like Avalanche using the Ethereum Virtual Machine (EVM) standard.