How to stake Polkadot (DOT)

In this guide, we’ll be walking you through how to set up your own Polkadot wallet, move your DOT tokens off the exchange into your own DOT wallet, and set up staking to start earning even more DOT tokens in no time. The entire process take about 10 minutes. It may take a few minutes longer if your exchange takes longer to process your token transfer request. The good news is that this is a one time setup. Once you’re set up, your DOT wallet will start earning DOT daily and you can check every so often to see how your stash grows. So if you have 10 minutes to spare and don’t mind earning some extra DOT tokens while you sleep, let’s get to it.

This basic guide is structured in 3 main steps. This is all you need to stake DOT.

  1. Create a DOT stash account
  2. Create a DOT controller account
  3. Allocating DOT tokens and set up DOT staking

Step 1: Create a Polkadot (DOT) stash account

  1. Go to https://polkadot.js.org/apps. You can use any browser to get your account set up quickly.
  2. Click on Accounts tab > Accounts menu

3. Click on Add Account button at the top

4. On the modal screen that comes up, make sure you write down and save your mnemonic seed phrase in a safe place. Do NOT lose this and do NOT share it with anyone. You’ll need it to access your account using other methods besides browser. Leave all other Advanced creation options as is.

5. Once you have saved your mnemonic seed, check the box “I have saved my mnemonic seed safely” to enable the Next button. Click Next to go to next step.

6. Enter a name for your stash account and create a strong password. Make sure you write down and save this password in a safe place. Do NOT share this password with anyone. Also save your account address as you may need it for other purposes, but you won’t need it for what we do here.

7. When you’ve saved your password, click Next.

8. On the next screen, verify your seed phrase. Make sure “derivation path” shows <none provided>. You don’t want to derive your account from any other account to be safe.

9. Once you’re done, click “+Save” button. Notice that a JSON file has been automatically created. Make sure you save this JSON file in a safe place. To re-setup your account on another computer / browser, you’ll need a combination of this backup file + your password above. Don’t worry, if you didn’t save this JSON file at this time, you can always generate a backup file at a later time. Just make sure you remember to do it and save the file in a safe place.

10. At this point, you’re done creating your Stash account. You’ll now repeat these same steps to create your 2nd account which you’ll use as a Controller account.

The concept of Stash / Controller account is used to enhance security by separating the bulk of your savings (your Stash) from an account where you will handle a lot of commands and activities (your Controller). Think of this set up like a Checking and Savings account. Your Stash account is like your Savings account, where you’ll put most of your DOT tokens for staking. Your Controller account is like your Checking account.

Step 2: Create a Polkadot (DOT) controller account

  1. Follow the same steps as Step 1 above to create a 2nd account which you’ll use as a Controller account.
  2. Name this 2nd account as CONTROLLER instead of MY STASH as shown above when you create your Stash account.
  3. Make sure you save the mnemonic seed phrase, password, and JSON backup file for this Controller account in a safe place also and do NOT share these with anyone.
  4. Once you have your 2 accounts, Stash and Controller set up, you’re ready to start transferring funds and Staking.

Step 3: Allocating DOT tokens and setting up staking

  1. To start staking, you’ll need to transfer some DOT funds from your exchange account to your new DOT wallets. Different exchanges handle token transfers differently so I won’t cover it here. Make sure you follow your exchange steps to withdraw funds. Use the account address you set up above as your transfer destination.
  2. For staking DOT on your own wallet, you’ll need between 110–130 DOTs in your bonded Stash account to self-stake. This minimum amount fluctuates daily depending on how many stakers vs. validators there are. Check here to see what’s the minimum DOT you need to stake. In addition, I normally recommend you have 3 DOTs in your Controller account to handle fees for running commands / requests + 2 DOTs in your Stash account to pay for any transaction fees when issuing staking request + the minimum DOT needed to stake. Transaction fees are usually very small, anywhere from 0.010 DOT to 0.030 DOT, but it’s good to plan ahead. Round it up 1–2 DOT and you’ll need about 115-135 DOT total between your Stash and Controller accounts to self-stake.
  3. To start the staking process, simply go to Network tab > Staking menu

4. Then click on Account actions

5. On the Account actions screen, click on “+ Nominator” button

6. On the next screen, you’ll see something like below.

7. Select your Stash account name in the Stash account selection box

8. Select your Controller account name in the Controller account selection box

9. You can select the payment destination type. I usually leave the default “Stash account (increase the amount at stake)” so that as I earn new DOT, those new DOTs are then also staked and I get the compound interest over time.

10. Once you have the accounts selected, click Next button to go to the last step.

11. On this screen, you’ll select your validators. You can select up to 16 validators. Anywhere between 10–16 is a good set of validators. Clicking on a validator on the left box will add them to your validator set on the right. You can also search for a specific validator by entering their validator name or address in the search box. For example, I search for EARNSTASH and the matching validator shows up on the left candidate box. I can then click on EARNSTASH and EARNSTASH/02 to select them and they’ll move into the right box, which is my set of 16 validators.

Our validator node: EARNSTASH and EARNSTASH /02

Validator address: 15SPD9eHQPxwKFn6dBLewyDuoo4wcQeByocub1DTWyXjx5k3

1jmx768pECdLBqMiotrrBatybwAoqUjqMqJoPe3UtoX3ton

If you find this guide helpful, support us by nominating our 2 validators in your set of 16 validators.

The validators in your nominated set will rotate around during each staking era which is a 24 hours period. You won’t be able to allocate a specific amount to a validator. In each era, the DOT algorithm will automatically select the best validator in your set to use.

12. Once you’ve selected your validators, click “Bond & Nominate” to complete this step. Your screen should look something like below.

13. The next screen will ask you to confirm your staking selection by signing your account and submit the request. Enter the password you created for your Controller account at this step and click “Sign and Submit”.

14. Congratulations! You have now staked your DOTs on the Polkadot network. After you completed these steps, your validators will show as Inactive nominations or Waiting nominations. This is normal. It’ll take 24 hours (the time period for 1 era) for your selection to take effect.

Some common questions

Q: I set up staking a few days ago but haven’t seen any rewards yet

There are a few reasons. It’s likely because you didn’t stake the minimum DOT needed for staking. In that case, your DOT will be sitting in your account, but not actively staked. Check here to see the minimum DOT needed for staking.