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.
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:
You have to add the relevant information to all those fields below:
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.
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:
Click the Add To Metamask button and MetaMask will pop up and will display all relevant information of the Harmony blockchain. Simply klick Approve.
MetaMask will pop up again and will ask you to switch the network:
After clicking the Switch network button Harmony has been added to MetaMask:
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.
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.
Select the chain you want to add. The following steps are the same as on Chainlist.
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.
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.
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:
Interesting to us is the info section on the right side of the screen, especially the contract part:
The contract part consists of five elements:
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:
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:
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.