Polkadot Ledger Staking Guide

Staking Facilities
6 min readSep 11, 2020

--

Learn how to stake your DOTs on Polkadot using Polkadot JS and a Ledger Nano device.

How to Stake DOT using a Ledger device & Polkadot JS

Polkadot is now supported on the Ledger Nano S & Ledger Nano X. This means that you can now use these hardware wallets to secure your $DOT holdings. You can interact with the Polkadot blockchain through a User Interface such as Polkadot JS and your Ledger device, adding an additional layer of security.

In this step-by-step guide, you will learn how to use a Ledger Nano X with Polkadot JS as well as how to stake on Polkadot using a Ledger. While we were using a Ledger Nano X, the process when using a Ledger Nano S is the same.

This guide is divided into three parts:

  1. Setting up your Ledger device
  2. Importing your Ledger account into Polkadot JS
  3. Staking on Polkadot using your Ledger device

Before getting started, make sure to have the Ledger Live App installed on your computer. Furthermore, make sure the Ledger device runs the latest firmware — you can update your device through ledger live.

Step 1: setting up your Ledger device

Connect your Ledger to your computer. Unlock the device by entering your PIN. Then open the Ledger Live App on your computer and allow Ledger Live on your Ledger device.

Visit the “Manager” tab in the menu on the left on Ledger Live and search for “Polkadot”. Then click “install”. You will now find the Polkadot App icon on your device.

Install the Polkadot App on your Ledger

Step 2: importing your Ledger account into Polkadot JS

Visit Polkadot JS and head over to the “Settings” tab in the menu bar at the top. In the drop-down menu under “manage hardware connections” select “Attach Ledger via WebUSB”. Then click “Save” in the bottom right corner.

Please note that there is no Ledger support on FireFox — we highly suggest using the Chrome or Brave browser.

Allow the Ledger on Polkadot JS

Open the Polkadot app on your ledger device. Afterward, head over to the “Accounts” section on Polkadot JS and click “Add via Ledger” to connect your device. This will open a pop-up window with several options.

  1. Name your account.
  2. In the first dropdown menu, you can select an account type. Depending on which account type you choose, you will see different addresses later on. The account type defines the derivation path. With each type, you can choose different addresses (second dropdown menu).
  3. In the second drop-down menu, you can choose an address index.

Type & index define your address and you can have multiple accounts on your one Ledger device depending on which type & index you choose — if you’re not sure what to choose, go with the default (0/0).

You might have to approve the connection of your ledger through a pop-up in your browser.

The button now reads “Add via Ledger”

You will now find your Polkadot Ledger Account at the bottom of your accounts list. You find out the account address of your Ledger account by clicking on it. In the sidebar, you can also rename your ledger account according to your preferences by clicking the edit icon. Alternatively, you can directly copy the account address by clicking the icon to the left of your account name.

You can find Ledger address in the Accounts section

You can always prompt your ledger to display your Polkadot address on the device itself by clicking the three dots and then choosing “Show address on hardware device”. Confirm that it displays the same address as shown on Polkadot JS and then click “Approve” on your ledger device.

Confirm the address on your Ledger device

Properly fund your account, so that you can use it to stake with. Simply copy it’s address and withdraw to it from the exchange on which you bought your DOT tokens or send some funds over from another wallet.

Step 3: staking on Polkadot using your Ledger device

As of now, batch transactions are not supported on the Ledger device. Therefore, you have to execute two transactions when using a ledger account for staking.

Visit the “Staking” menu under the “Networks” tab on Polkadot JS.

Visit the Staking section on Polkadot JS

In the staking menu, head over to “Account actions” and then click on “+ Stash”.

Create a Stash Account under “Account actions”

In the pop-up menu, you can choose which account you want to use as your Stash and Controller account respectively. We recommend using your Ledger account as your Stash account as it adds another layer of security. You can choose another account for your controller account, this way you would not need your Ledger device to perform any actions on your account.

However, given that it is safer to use a hardware wallet, we chose the Ledger account for our Controller as well. Please note that currently, batch transactions are not supported on your Ledger device. Therefore, you might run into issues when trying to claim your rewards. If this is the case, you can switch your controller account to a non-ledger account to claim your rewards.

Choose a destination account for your rewards under “payment destination”. Then click “next” to bond your token.

Make sure to leave at least 1.5 DOT unbonded! Accounts with a balance of less than 1 DOT get reaped! Leaving a bit more unbonded grants you with enough funds to pay for transaction fees.

Click “Bond” and in the following pop-up click “Sign and Submit”. You are then prompted to confirm this transaction on your Ledger device.

Make sure to leave some funds unbonded!

After you successfully bonded, you will find your Ledger Account under “Account actions” in the “Staking” menu on Polkadot JS. Click “Nominate” to start the nomination process.

Click “Nominate” under “Account actions” to start the Nomination process

You can nominate up to 16 validators. Simply select the validators of your choice by clicking on them in the “candidate accounts” box. You can unselect them from the “nominated accounts” box by clicking on them again. Alternatively, you can also use the search bar in the top to look for specific validators by name or address. Then click “Nominate” and then “Sign and Submit” in the following pop-up menu. You then need to approve the transaction on your ledger to finish the nomination process.

Please note that you cannot specify the amount delegated to a particular validator. Your bonded DOTs will be spread out among the validators you selected according to the NPoS algorithm.

Our validator addresses:

Staking Facilities #1

15Sf82YbMQjtpgnExXFxzrwTsAXJKHVU9tzQV6WizAPo1dfL

Staking Facilities #2

165JpxmCRi28GwbFAjjrD74FTfGdLfHi1LUGMaYLjziDvi4r

Choose up to 16 validators to nominate — it’s good to choose as many as you can!

And that’s it, you are now a Nominator on the Polkadot network — congratulations! We have written another guide in which you learn how to create Polkadot accounts using the Polkadot Browser Plugin. You can find the guide here.

You can perform actions on your account such as unbonding, staking more DOTs, or changing nominations under the “Account actions” section of the “Staking” menu on Polkadot JS.

Thanks for your trust and nomination. In case you have any questions, need more assistance or simply want to chat, always feel free to reach out to us via Telegram, eMail, Twitter or LinkedIn!

--

--

Staking Facilities

We operate industry-grade architecture and offer non-custodial staking services. We’re advocates for web 3.0, set to accelerate its’ adoption!