MetaMask is an Ethereum-based wallet that is available as a free smartphone app and browser plugin. Our previous tutorial goes through the basics of setting up and using MetaMask. This tutorial will go through some of the more advanced features. Let’s dive in!
Adding other networks
Your MetaMask wallet will be set to the Ethereum Mainnet by default; however, MetaMask supports any network that is compatible with Ethereum. To use MetaMask with these networks, you’ll first need to manually add them to your wallet. Start by clicking the Ethereum Mainnet tab followed by ‘add network’.
On the following page, you will need to enter the necessary network details. It’s extremely important that the details you use are correct and from a reputable source (e.g. the network’s official website). You don’t want to end up adding a scam chain! Below we’ve sourced the information you need for five popular networks (Avalance, BNB, Arbitrum, Optimism and Moonbeam).
After you click ‘save’, this network should be available as an option in the network drop-down menu on your wallet’s homepage.
Avalanche
Network Name: Avalanche Network New RPC URL: https://api.avax.network/ext/bc/C/rpc ChainID: 43114 Currency Symbol: AVAX Block Explorer: https://snowtrace.io/
BNB Chain (rebranded name from Binance Smart Chain)
Network Name: Smart Chain New RPC URL: https://bsc-dataseed.binance.org/ Chain ID: 56 Currency Symbol: BNB Block Explorer URL: https://bscscan.com/
Arbitrum
Network Name: Arbitrum New RPC URL:https://arb1.arbitrum.io/rpcChain ID: 42161 Currency Symbol: AETH Block Explorer URL: https://arbiscan.io
Optimism
Network name: Optimistic Ethereum RPC URL: https://mainnet.optimism.io Chain ID: 10 Currency Symbol: ETH Block Explorer: https://optimistic.etherscan.io
Moonbeam
Network Name: Moonbeam RPC URL: https://rpc.api.moonbeam.network Chain ID: 1284 Currency Symbol: GLMR Block Explorer: https://moonscan.io/
Transferring assets to other networks
Although your MetaMask address remains the same across all networks, the assets in your wallet on the Ethereum Mainnet do not directly transfer over to these networks. The process of transferring tokens to other networks will vary slightly depending on the chain you are using. However, generally speaking, this involves the use of a bridging service (e.g. Arbitrum Bridge, Polygon Bridge , Optimism Bridge , Avalanche Bridge ). The bridging process is pretty straightforward but let’s go through a quick example using Arbitrum. First, head to the bridging website (in this case, https://bridge.arbitrum.io). When you visit this page, you should be prompted to unlock and connect your MetaMask wallet. Next, you will need to select the type and enter the amount of the token you want to send. Once you click ‘deposit’, it should take no more than 15 minutes for the funds to arrive into your MetaMask account on the Arbitrum network. Note that this process will require you to pay Layer 1 Ethereum gas fees.
Adding custom token support
Sometimes the token support for smaller or less common assets does not appear automatically when you deposit them into your account. If this happens, don’t worry! All you need to do is add the support for this token/coin manually. Start by clicking on ‘import tokens’ towards the bottom of your wallet’s main page.
Next, select the ‘custom token’ tab. On the following page, you’ll have to enter the required details for your token.
This information can be found on the token’s official website or by searching the token on https://etherscan.io/tokens. Unfortunately, there are a lot of scams out there, so it’s really important that you obtain this information from a reputable source. It’s also a good idea to cross-check this information. Here’s an example:
Once you enter in these details and click ‘add custom token’, the support for this token should now be visible in the ‘assets’ tab on your wallet’s main page.
Using advanced gas control
This tutorial assumes that you have a basic understanding of what gas fees are. MetaMask gives you the option to enable advanced gas controls, which will allow you to have more control over the gas fees you pay. To do this, click on your account icon followed by ‘settings’. Next, click on the ‘advanced’ settings tab and scroll down until you reach ‘advanced gas controls’. Click the toggle switch to enable this feature.
Now the next time you are carrying out a transaction, you’ll have the option to ‘edit’ your gas fee.
Here you’ll be able to specify the gas limit (the max amount you are willing to spend on gas), max priority fee (this is a fee that goes to the miner/ validator to incentivise them to prioritise your transaction) and the max fee ( this is the base fee + priority fee) that you want to pay. Generally, the more you’re willing to pay, the quicker you can expect your transaction to be processed.
Altering a pending transaction
Sometimes transactions submitted with a low gas price can take quite a while to process. It can also be the case that transactions submitted with a relatively high gas price are stuck in the ‘pending’ phase for longer than expected. Regardless of which situation you’re in, you can do a couple of different things to resolve it. Before you go ahead with one of the steps below, first try closing and reopening the app/ browser extension.
Speed up a transaction
Select the ‘activity’ tab on your wallet’s home screen; here, you’ll be able to see any pending transactions.
By clicking on the ‘speed up’ button, you’ll be able to re-submit the same transaction with a higher gas fee. It’s up to you to decide how much you are willing to pay in gas, but generally speaking, it is recommended that you increase the max fee by 30% and the gas limit by 10% from your original transaction. Some people use gas trackers such as Etherscan’s or ETH Gas Station for guidance on what fees to submit. Another handy tool is this Ethereum heatmap, which some people use to try to submit transactions during lower fee times (i.e. when the network is quieter).
Cancelling a transaction
To cancel a transaction, all you need to do is click the ‘cancel’ button on the same screen as above. Note that this option will only be available for transactions that are still pending on the network.
Connecting a hardware wallet
It’s possible to connect a cold wallet device (Ledger or Trezor) to your MetaMask. For this tutorial, we’ll just run through how to connect Ledger to MetaMask. First, you will need to make sure that you have the latest version of firmware and the Ethereum app installed on your Ledger device and Ledger Live app (this is explained more in our Ledger tutorial). Also, plug in your device to your laptop via USB and make sure it is unlocked. Next, click on your MetaMask account icon followed by ‘settings’. In the ‘advanced’ settings tab, scroll down to the ‘preferred Ledger connection type’ section and select ‘Ledger Live’.
Click on your profile icon again, and this time select ‘connect hardware wallet’. On the following screen, select the Ledger icon and press ‘continue’. This will open a link that takes you back to your Ledger Live app. Click ‘open’. You will then be prompted to open the Ethereum app on your device. Once you have this done, navigate back to your MetaMask wallet. A screen should appear where you will be able to add one or several Ledger Ethereum accounts to your MetaMask wallet.
Click ‘unlock’. When you click on your MetaMask profile icon, you will be able to see your Ledger accounts that you added.
Importing accounts
To import an account (e.g. from another wallet) into your MetaMask, click your profile icon followed by ‘import account’. Also, make sure your MetaMask is set to the same network of the account you are importing.
On the following screen, simply enter the private key of the account you want to import and click ‘import’.
An important point to note: accounts that are imported are not backed up by your MetaMask recovery phrase, meaning that you will still need to store the private keys of these accounts in a safe place.