How to Add Blockchains and Tokens to MetaMask

MetaMask is certainly the most well-known and established wallet application for interacting with the Ethereum blockchain. It was created in 2016 already and is almost a synonym for an Ethereum wallet application.

The application is available as a browser extension for Chrome, Edge, Brave, and Firefox. Also there are iOS and Android mobile apps available from the respective app stores.

When reading tutorials on interacting with Ethereum or applications and protocols built on it, MetaMask is often used as the reference wallet application.

Add a new blockchain to MetaMask

While MetaMask is established, it is lacking some features newer apps like Rainbow provide. Out-of-the-box it only supports Ethereum Mainnet and some test nets. If you want to interact with applications on Level 2 blockchains like Arbitrum you have to add the configuration for those blockchains yourself.

Tutorials mostly mention to add those blockchains manually by going to Settings -> Networks -> Add Network:

Add Network to MetaMask
Add Network to MetaMask

You have to add the relevant information to all those fields below:

Network Fields
Network Fields

The information is usually provided in the tutorial or you have to look for them on the internet. This is not really comfortable.

Fortunately, there are at least two easier methods to add a blockchain to MetaMask.

Chainlist

The first method is Chainlist. It is exactly what the name is promising. Chainlist is displaying an almost endless number of Ethereum compatible blockchains, so called EVM (=Ethereum Virtual Machine) powered blockchains. Admittedly, I have not heard of most.

Anyway, simply connect MetaMask to Chainlist and look for the blockchain you want to add. For the purpose of this article I will add the Harmony blockchain:

Harmony on Chainlist
Harmony on Chainlist

Click the Add To Metamask button and MetaMask will pop up and will display all relevant information of the Harmony blockchain. Simply klick Approve.

Approve Addition
Approve Addition

MetaMask will pop up again and will ask you to switch the network:

Switch Network
Switch Network

After clicking the Switch network button Harmony has been added to MetaMask:

Harmony Added
Harmony Added

SushiSwap

Another option is SushiSwap. Hey cpoetter, Sushi is a DEX (decentralized exchange), you might say. That is correct and admittedly, it is probably not the most intuitive option to add a blockchain. However it is working surprisingly well.

First connect MetaMask to Sushi. You will see the Ethereum symbol next to your wallet address or ENS domain.

Ethereum Symbol
Ethereum Symbol

Next click the Ethereum symbol and a list of blockchains will pop up. This list is not as comprehensive as the list on Chainlist but the most common chains are listed. Well, those where Sushi is deployed, of course.

List of Blockchains on Sushi
List of Blockchains on Sushi

Select the chain you want to add. The following steps are the same as on Chainlist.

Add a new token to MetaMask

In general MetaMask supports ETH and all other ETH based tokens. It has built in auto-detection which detects most tokens; only on Mainnet, though. However sometimes tokens you hold in your wallet are not displayed, especially on Layer 2 chains like Optimism and sidechains like Polygon. Other wallet applications have better token support.

Block Explorer

MetaMask provides two good articles including screenshots on adding tokens you are missing. One method described there is finding the token on a block explorer like Etherscan. This method works but requires copying and pasting the contract address of the token and adding it to MetaMask. Every token has a contract address.

CoinGecko and CoinMarketCap

A more elegant way is adding the token via CoinGecko or CoinMarketCap. Since the way to add a token is very similar I only describe CoinGecko.

Let us assume we want to add the Lido DAO (LDO) token to Polygon. We can either scroll through the endless list of tokens on CoinGecko or use the search bar. Search works with the full name of the token as well as the currency symbol. The search result looks like this:

CoinGecko Search Result
CoinGecko Search Result

Interesting to us is the info section on the right side of the screen, especially the contract part:

Info Section
Info Section

The contract part consists of five elements:

  • the Ethereum icon, indicating that the contract address of the token belongs to the contract on Mainnet
  • the contract address itself
  • copy to clipboard
  • the MetaMask icon
  • a three dotted button

Tokens can be deployed on more than one blockchain. It is important to know that the contract addresses of the same token differ from blockchain to blockchain.

I have mentioned that we want to add LDO to Polygon. Therefore we have to click the three dotted button. It reveals this screen:

Polygon Contract
Polygon Contract

We see the Polygon icon as well as the clipboard and MetaMask icons. If the LDO token was deployed on more blockchains they were listed here as well. Now simply click the MetaMask icon and MetaMask will pop up:

Add Token
Add Token

Confirm and LDO is added to MetaMask. Nice!

Please note: If you are using both the browser extension and the mobile app you will have to add blockchains and tokens in both apps. There is no sync!

You should know some easy ways to add blockchains and tokens to MetaMask now.

Header image by Shubham Dhage on Unsplash

Subscribe to cpoetter.eth
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.