Tutorial:
This guide explains how to stake on Polkadot.
Kusama is the beta “CanaryNet” for Polkadot. It is a separate network with its own native KSM token, which is different from the Polkadot network and its native DOT token. More information on Kusama can be found here.
All of the mechanics described on this page apply to both Kusama and Polkadot. But always make sure you double-check which network you are performing actions on.
About Nomination on Polkadot
In Polkadot, nomination is the process of staking your tokens behind a validator to earn rewards. Validators provide security to the network and support the production of new blocks. In other DPoS networks, nomination is frequently called delegation, but we will use the Polkadot term “nomination” throughout our documentation for clarity and correctness.
NOTE: This guide was produced in June 2020. The Polkadot JS UI may change over time as upgrades are released.
Setup: Things You Will Need
Before you get started staking your tokens on Kusama or Polkadot, you will need the following things which the rest of the guide assumes:
- A stash and a controller account. For a discussion on stash and controller accounts, see this wiki article. You do not need a session account when nominating, as this is specific to performing the validator role in Polkadot.
- Access to the Polkadot JS UI. Make sure you are connected to the right network!
- Tokens for the network you want to stake on in the stash account, with a small amount in the controller account to handle transaction fees for operational staking actions.
Nominating on Polkadot
Connect to a Network
1Log into the Polkadot JS UI.
2Under the Settings tab, Choose Polkadot from the dropdown.
You can create new accounts for your stash and controller accounts and transfer funds to them, or you can import already-existing accounts with funds. If you are using the Polkadot portal for the first time, you will see a banner asking you to add accounts.
The image on the right is what the accounts look like under the Accounts area.
Stake Your Tokens
As of June 2020, bonding and staking tokens can be done in a single, fluid action. Previously, you needed to bond your tokens before you could stake them. Here’s how to bond and nominate one or more validators with the bonded tokens.
In order to bond your tokens, you will first want to decide how many tokens you want to stake. Make sure these tokens are in your stash account.
These tokens will need to be bonded (which prepares your tokens for staking). Be aware that staking tokens will lock them, so don’t bond tokens that you need immediate access to. It also puts them at risk if a validator that you nominated is slashed.
3Open the Polkadot portal. Go to the Staking tab and click on the Account Actions tab.
4Click the “+Nominator” button to start staking your tokens.
5Specify your stash and controller accounts from the drop downs. In the value bonded field, put how many tokens you want to bond.
Pay special attention to the dropdown that specifies the units you are working with. In my case, I am bonding 4.5 Dots. It is very easy to make an off-by-1000x mistake if you aren’t paying attention to the units.
6At the bottom, choose where to deposit your staking rewards from the “Payment Destination” dropdown.
In our case, we elected to deposit our staking rewards to the stash account and to increase the amount at stake. This will allow us to compound our earnings and maximize our return. However, you should choose the option that best suits your needs.
7Hit the “Next” button to proceed to the next step.
Nominating Validators
You can nominate up to 16 validators with your bonded tokens. When nominating more than one validator, Polkadot automatically handles how your tokens are allocated to validators. See here for a discussion of this algorithm.
11Next, you’ll need to select validators to nominate with your tokens. You will see a list of all the validators that can be nominated.
12Select a nominator from the dropdown, or paste a validator address into the text field and click to select that validator. Clicking on it will add that validator to your select list of validators.
Selections can only be made by clicking on the drop down entries, so use the text filter to narrow the list and click on the drop down list entry corresponding to the validator you want to nominate.
Nominate PureStake on Polkadot
For more information, visit the PureStake Polkadot Validator page.
Nominate PureStake on Kusama
For more information, visit the PureStake Polkadot Validator page.
At right, we have specified two validators to nominate.
13When you have added your validator(s), click the “Bond & Nominate” button.
You will be asked to enter your password to confirm that you want to perform the bonding & nomination action.
14Enter the password for your controller account to execute the nomination action and hit “Sign and Submit.” This will broadcast your nomination action to the network.
If your nomination was successful, you will a green “finalized” checkmark in the upper-right-hand corner of your screen, like the image at right.
Note that the bonded tokens under Account Actions now say that they are nominating. In this case, you can see that our nominations are “waiting,” which means the validators are not yet in the active set. (At the time of writing, Polkadot is still operating as a Proof of Authority network, which means all validators are currently “waiting” until the network switches to Proof of Stake).
The +Nominator action has been replaced with Stop, which allows you to stop nominating from that address. You can perform management actions such as changing your nominations by selecting the Set Nominee(s) option under the (…) icon.
Congratulations! You have now staked your tokens and are helping to support the security of the Polkadot network while at the same time earning staking rewards.
Feel free to join the PureStake Telegram group. We are happy to help walk you through the nomination process or answer any other questions you have.