The following information applies to the Polkadot network. If you want to nominate on Kusama, check out the Kusama guide instead.
Nominators are one type of participant in the staking subsystem of Polkadot. They appoint their stake to the validators, the second type of participant. By appointing their stake, they can elect the active set of validators and share in the rewards that are paid out.
While the validators are active participants in the network that engage in the block production and finality mechanisms, nominators take a slightly more passive role. Being a nominator does not require running a node of your own or worrying about online uptime. However, a good nominator performs due diligence on the validators that they elect. When looking for validators to nominate, a nominator should pay attention to their own reward percentage for nominating a specific validator - as well as the risk that they bear of being slashed if the validator gets slashed.
If you are a beginner, please watch the video below for detailed instructions.
Setting up Stash and Controller Accounts
Nominators are recommended to set up separate stash and controller accounts. Explanation and the reasoning for generating distinct accounts for this purpose is elaborated in the keys section of the Wiki.
You can generate your stash and controller account via any of the recommended methods, which are detailed on the account generation page.
Starting with runtime version v23 natively included in the client version 0.8.23, payouts can go to any custom address. If you'd like to redirect payments to an account that is neither the controller nor the stash account, set one up. Note that setting an exchange address as the recipient of the staking rewards is extremely unsafe.
Nominating vs Joining a Pool
Nominating is the action of choosing validators. It does not simply involve bonding tokens. Nominating is an active task, which implies that you regularly monitor that your stake is backing an active validator in all the eras and check if you are receiving your staking rewards. More importantly, ensure that the validators you chose always act in the best interests of the network protocol and have less chance of getting slashed. To nominate, you need a minimum of , and to receive rewards, you need at least a balance greater than the minimum active bond. Depending on your validators, if your active validator is oversubscribed, you will earn rewards only if your stake is within that of the top nominators. If the validator misbehaves, It is worth noting that your stake is subject to slashing, irrespective of whether you are in the top nominators or not.
As the minimum active bond is a dynamic value, it can make your nomination inactive when the threshold goes above your bonded balance. Hence, to be eligible to earn rewards while nominating, you would need to stake a much higher balance than the minimum active bond.
Nomination pools are a way to participate in staking with as little as 1 DOT and earn staking rewards. Nomination pools differ from custodial solutions (like staking through central exchanges) because they are non-custodial, native to Polkadot's protocol, permissionless, transparent, and run in a decentralized way by the community. Before joining a nomination pool, you must ensure that the pool is earning rewards and nominating the validators that match your preferences. Participating in pools is more of a set-and-forget action than nominating by yourself. It is worth noting that it is the pool operator that maintains the list of validators nominated by the pool, and so, in a way, you are trusting the pool operator to act in your best interests. However, it is advised to check the validators nominated by the pool from time to time and change the pool if necessary.
|Nominating||Joining a Pool|
|Minimum 100 DOT to nominate.||Minimum 1 DOT to be a member.|
|Rewards can be compounded automatically or sent to any account.||Rewards can be manually claimed to the pool member's account and be bonded in the pool again to compound them.|
|If the active validator gets slashed, all active nominators are subjected to slashing, also those that do not receive rewards due to the oversubscription issue.||If the active validator gets slashed, all pool members are subjected to slashing.|
|Can bond and stake DOT indefinitely.||Can bond and stake DOT until the pool exists.|
|Unbonding period of 28 days. Can switch validators without unbonding.||Unbonding period of 28 days. Need to unbond before switching to a different pool.|
|Maximum uncapped.||Maximum uncapped.|
|Should bond more than the minimum active nomination in an era to be eligible to earn staking rewards, although it can depend on multiple other factors outlined in the linked document.||A nomination pool earns rewards in an era if it satisfies all the conditions mentioned for the nominator (as the nomination pool is just a nominator from the NPoS system perspective).|
|Staked tokens can be used for participation in Governance.||Staked tokens cannot be used for participation in Governance.|
|Rewards payout can be triggered permissionlessly by anyone (typically done by the validator).||Rewards must be claimed by the pool member.|
|Bonded funds remain in your account.||Bonded funds are transferred to a pool account which is administered by the network protocol and is not accessible to anyone else.|
|Nominator is responsible for managing the list of staked validators (up to 16).||Nominations managed by the pool operator.|
Using the Polkadot Staking Dashboard
- Nominating: Stake your tokens, choose your best validators, and start your staking journey on Polkadot.
- Becoming a Pool Member: Start becoming a part of the Polkadot movement, keep Polkadot secure by staking minimum 1 DOT and receiving staking rewards.
- Dashboard Walkthrough: Become a Pro using the Staking Dashboard.
- After Staking: Nominating on Polkadot is not a set-and-forget action, learn what you can do with the dashboard after you started staking.
Why am I not receiving Staking Rewards?
Using Polkadot-JS UI
Using Command-Line Interface (CLI)
Apart from using Polkadot-JS Apps to participate in staking, you can do all these things in CLI instead. The CLI approach allows you to interact with the Polkadot network without going to the Polkadot-JS Apps dashboard.
Step 1: Install @polkadot/api-cli
We assume you have installed NodeJS with npm. Run the following command to
npm install -g @polkadot/api-cli
Step 2. Bond your DOT
Executing the following command:
polkadot-js-api --seed "MNEMONIC_PHRASE" tx.staking.bond CONTROLLER_ADDRESS NUMBER_OF_TOKENS REWARD_DESTINATION --ws WEBSOCKET_ENDPOINT
CONTROLLER_ADDRESS: An address you would like to bond to the stash account. Stash and Controller
can be the same address but it is not recommended since it defeats the security of the two-account
NUMBER_OF_TOKENS: The number of DOT you would like to stake to the network.
DOT has ten decimal places and is always represented as an integer with zeroes at the end. So 1 DOT = 10_000_000_000 Plancks.
Staked- Pay into the stash account, increasing the amount at stake accordingly.
Stash- Pay into the stash account, not increasing the amount at stake.
Account- Pay into a custom account, like so:
Controller- Pay into the controller account.
polkadot-js-api --seed "xxxx xxxxx xxxx xxxxx" tx.staking.bond DMTHrNcmA8QbqRS4rBq8LXn8ipyczFoNMb1X4cY2WD9tdBX 1000000000000 Staked --ws wss://rpc.polkadot.io
Step 3. Nominate a validator
To nominate a validator, you can execute the following command:
polkadot-js-api --seed "MNEMONIC_PHRASE" tx.staking.nominate '["VALIDATOR_ADDRESS"]' --ws WS_ENDPOINT
polkadot-js-api --seed "xxxx xxxxx xxxx xxxxx" tx.staking.nominate '["CmD9vaMYoiKe7HiFnfkftwvhKbxN9bhyjcDrfFRGbifJEG8","E457XaKbj2yTB2URy8N4UuzmyuFRkcdxYs67UvSgVr7HyFb"]' --ws wss://rpc.polkadot.io
After a few seconds, you should see the hash of the transaction, and if you would like to verify the nomination status, you can check that on the Polkadot-JS UI as well.