Note: The lates Google Chrome update has broken Ledger/MetaMask functionality, Brave browser is now recommended to use this until Ledger and MetaMask / Google fix the issue.
In this tutorial I will explain how to connect your Ledger to MetaMask and how to view, receive or send Ethereum or tokens to or from your Ledger via MetaMask.
This method can be used even if you normally use My Ether Wallet with your Ledger and requires no additional steps to use MetaMask instead, which has a far simpler interface.
This is particularly useful if you transact regularly but want the added security of using a hardware wallet.
What you need:
- Ledger Nano S
- A Computer
- Chrome installed
- MetaMask installed
Connect your Ledger to your computer
Your first step is to plug your Ledger into your computer. Ensure it powers on and then input the pin you chose when setting up your ledger.
Select the Ethereum Application
Next you need to open the Ethereum application on your Nano S. You do this by switching through the applications installed on your Ledger by pressing down on either the left or right button to navigate through the applications.
Once you have the Ethereum application selected, push down on both buttons to open the application.
Make sure contract data is turned on
Once the Ethereum application is open, press the right side button until you locate the “Settings” option. Press down on both buttons to open the menu.
The first item in the settings menu is “Contract Data”. Push down both buttons to select it.
Now navigate with the right side button to choose “Yes” and then press down on both buttons to select it.
Once you have set your ledger up like this the first time, you won’t have to do it again each time you want to use it with MetaMask.
Your Ledger is now ready!
Since you have already installed MetaMask, you need to open up your Chrome browser, and click on the MetaMask fox to interact with the application.
Next, you need to click on your avatar in the top right corner of MetaMask. The avatar on your version of MetaMask will look different to the one in the image, but is always located in the same place.
This will open up the menu in black and will give you access to many options for customizing your MetaMask such as adding additional accounts, importing accounts and connecting a hardware wallet such as your Ledger Nano S.
Connect MetaMask to your Ledger
Click on “Connect Hardware Wallet”
The next screen that pops up is fairly self explanatory. Simply click on the “Ledger” button to select it, and then click “CONNECT”
Once you have connected your Ledger, you need to tell MetaMask how to read it.
If you have updated your Ledger to the latest firmware and have been using the Ledger Live application, you should select “Ledger Live” and if you have not updated it, you should select Legacy.
If you are unsure, start by selecting Ledger Live and looking at the grey box below it for your address, and Ethereum balance.
MetaMask automatically sorts the addresses on your Ledger by balance, so if you have an Ethereum balance in the same address, this is the easiest way to identify your account.
If you don’t have an Ethereum balance on the address you want to connect, you need to identify the correct address by looking at the column with the 0x addresses to identify the correct one to choose.
If the correct address isn’t showing up, go back to the drop down menu, select “Legacy” and try the above steps again.
Once you have found the correct address (in this case, in the pink box), click “CONNECT”
You are connected!
You’ve now connected your Ledger to MetaMask.
Now that you’re connected we’ll talk about a few important bits of information on this page by referencing the colored boxes.
Blue: The blue boxes display your Ethereum balance that is in the address you selected. If you use multiple addresses on your Ledger, you will not see those balances, only the balance of the account you selected during setup.
Green: Clicking on this box will copy your Ethereum address to your computers clipboard for pasting later.
Orange: Any transactions you send or receive to or from your Ledger via MetaMask will show up here. Note that any transactions made previously wont show up in MetaMask.
Pink: If you are using this address to manage Ethereum tokens, you will want to click here to add your tokens.
This is a misleading button title. By clicking “ADD TOKEN” you are not adding tokens to your address, but actually just telling MetaMask to display the balance of your tokens.
Showing your token balances
To display the balance of a token, you first need to click on “ADD TOKEN”
MetaMask has a library of tokens that are searchable, but in this case I am going to add a token which is not yet searchable.
Click on “Custom Token”
The next thing you will need to do is to find the token’s contract address. You can usually find it on the token issuers site, or by searching etherscan.io.
In the case of this token, this is the Etherscan token page, and the contract address you are looking for is highlighted in the pink box.
Copy this address. (be sure to copy the address only and not copy the link itself)
Paste the address you just copied into the “Token Address” field and the “Token Symbol” and “Decimals of Precision” boxes will automatically populate with the token from the address you pasted, in this case, ONE (0x4d807509aece24c0fa5a102b6a3b059ec6e14392).
On this final screen you will see a summary of the task you’ve just performed. You will see the token you’re adding, and any balance that you have in the address.
If you should have a balance of tokens but it is displaying 0, you may need to check that either the address you chose during setup is the correct one, or that the contract address you used to add the token is correct.
If all the information on this screen is correct, and your balance is showing, or if you don’t yet have any of the particular tokens in that address yet, click on “ADD TOKENS”
On the left side of the screen below your Ethereum balance, you will now see the tokens that you just added displayed on the screen.
A few final bits of information about this particular setup.
- Now that your Ledger has been connected once, you can open MetaMask and look at the balances of that address without having your Ledger connected, however if you need to send Ethereum or Tokens, you will need to connect your Ledger.
- You will not need to set up your Ledger each time you want to use it with MetaMask, unless you want to use a different address linked to your Ledger, in which case you follow the same steps as above.
- This setup makes interacting with dApps easy by making use of MetaMask, and keeps your tokens secure by storing them on your Ledger at the same time.
- You can add as many tokens as you like using the same method used above.