Have you been having a hard time trying to stake your ICP tokens in order to earn rewards? Allow us to walk you through the process in this step-by-step guide.
ICP is the Internet Computer's utility token developed by the Dfinity Foundation. This Digital token runs on its own platform called the Internet Computer Protocol. Since its launch, developers can deploy their apps on the network which is totally safe, secure, and literally "unhackable". This allows people around the world to build an open internet.
Anyone can participate in the governance of the Internet Computer network and earn rewards by staking ICP utility tokens as voting neurons.
This beginner's guide provides a step-by-step explanation of how to stake ICP tokens in neurons using the Network Nervous System (NNS).
What is the Network Nervous System (NNS)?
The Network Nervous system is autonomous software that is used to govern or control the Internet Computer. In simple terms, NNS is a place where you can make democratic community based decisions for the Internet Computer. The NNS acts as an autonomous “master” blockchain with a public key to validate all ICP transactions.
How does the Network Nervous System Work?
The NNS puts proposals to a vote. For example, proposals like the following:
Proposals like these are later voted upon by holders of ICP utility tokens who have locked up their tokens who then gain rewards for doing so.
NNS Staking Basics
Maturity: The maturity of a neuron determines its ability to spawn a new neuron and corresponding locked balance of newly minted ICP. When new neurons are created, their maturity is zero. When neurons vote, over time the NNS increases their maturity to reward them.
Spawning Neurons: When the maturity of a neuron has risen above a threshold, it can be instructed to spawn a new neuron. This creates a new neuron that locks a new balance of ICP on the ledger. The new neuron can remain controlled by the same principle as its parent, or be assigned to a new principal. When a neuron spawns a new neuron, its maturity falls to zero.
Follow Neurons: Follow neurons to automate your voting and receive the maximum voting rewards.
Disburse: When the dissolve delay of the neuron is "0", its controlling principle can instruct it to disburse the neuron’s stake. Its locked ICP balance is transferred to a specified new ledger account, and the neuron and its own ledger account disappear.
Dissolve Delays: Users benefit the most if their neuron attains its maximum possible value. The long-term success of the network will best be served if neuron owners vote with a long-term view toward maximizing the value of the network in the distant future. For such reasons, the NNS incentivizes neuron owners to make their dissolve periods as high as possible by disbursing greater rewards to neurons with longer dissolve periods, which can be configured up to eight years.
How to Log into the NNS Via the Internet Identity
Step 1: You need an Internet Identity account. For that, go to the Internet Identity dapp on your browser and click "Register with Internet Identity".

Step 2: Provide a device name and click Register.
Step 3: Confirm the registration by choosing between USB Security or your Device Security.
After confirming the account, you need to set up a recovery option.
Step 4: Select a recovery option for this identity. Make a backup of this device by safely storing your backup keys by writing them down and or use an external USB for the security key.
Once you are done setting up a recovery option you will a screen like the one below. Now you have successfully created an Internet Identity account.

Step 6: Next, head over to the Network Nervous System (NNS ) dapp on the next tab and authorize this page using the Internet Identity page.
After authorizing, you have successfully logged into the Network Nervous System (NNS ) and this is what you will see:
How to Transfer ICP to the NNS
Step 1: Log in to Binance , Coinbase, or any other exchange where ICP is available.
Step 2: Buy ICP tokens.
Step 3: Withdraw ICP tokens by copying and pasting the wallet address from the NNS.
Step 4: After clicking withdraw and completing your security check you will receive them in your NNS Wallet.
Now you can see the tokens deposited in your NNS account
How to Stake ICP in a Neuron to Earn Rewards
Step 1: Click on the Neurons tab and click Stake Neuron.
Step 2: Enter the total number of ICP you want to stake, and click create.
Step 3: Set the dissolve delay to your preferred years of stake, and click update delay and confirm it.
Step 4: Next, select your topics of interest for the proposals you can vote for.
You are now done staking your neurons in the NNS
Video Tutorial Explaining the Staking Process
How to Vote on Proposals
The below interface shows where users can set and configure their neurons as well as vote on proposals submitted to the NNS.
The following actions can be initiated using the NNS app:
- Vote:
Have the neuron vote to either adopt or reject a proposal with a specified ID. - Follow:
Add a rule that enables the neuron to vote automatically on proposals that belong to a specific topic by specifying a group of followee neurons whose majority vote is followed. The configuration of such following rules can be used to:
a) distribute control over voting power amongst multiple entities;
b) have a neuron vote automatically when its owner lacks time to evaluate newly submitted proposals;
c) have a neuron vote automatically when its own lacks the expertise to evaluate newly submitted proposals.
A follow rule specifies a set of followers. Once a majority of the followees vote to adopt or reject a proposal belonging to the specified topic, the neuron votes the same way. If it becomes impossible for a majority of the followers to adopt (for example, because they are split 50–50 between adopt and reject), then the neuron votes to reject. If a rule is specified where the proposal topic is null, then it becomes a catch-all follow rule, which will be used to vote automatically on proposals belonging to topics for which no specific rule has been specified. If the list of followers is empty, this effectively removes the following rule.
How Voting Rewards for Staking are Calculated
Every day, the NNS calculates a fixed “neurons reward” according to a schedule, which it then divides among all eligible neurons according to their relative claims.
For neurons that have participated in all votes, their relative claim derives proportionally from the number of ICP tokens locked inside and the dissolve delay remaining before the locked ICP tokens will be released (more marginally, it is also increased by the age of the neuron).
Since many of the proposals submitted to the NNS are technical in nature, neurons can be configured to vote automatically by following the votes of other neurons, in an advanced form of “liquid democracy.” Neurons that vote automatically still receive their full share of the voting reward, as they enable the NNS to securely reach decisions quickly.
When neurons receive rewards individually, their “neuron maturity” increases. Once a neuron’s maturity is sufficiently large, it is possible to “spawn” a new neuron, which in expectation will contain a quantity of newly minted ICP tokens equal to a proportion of the locked ICP tokens, where the proportion is equal to the maturity number.
The spawning process can take as long as a day and is slightly non-deterministic in the sense that the actual quantity of ICP tokens obtained in the newly spawned neuron may be slightly increased or decreased from the expected amount, according to an inverse relationship with the volume of spawning taking place at that moment.
Neurons that have been configured with the maximum dissolve delay of 8 years are receiving up to 28.9% in annualized voting rewards (as of June 8, 2021).

To calculate returns on your staked ICP, follow this link
- Disclaimer: The views and opinions expressed on this website are solely those of the original author and other contributors. These views and opinions do not necessarily represent those of the Dfinity Community staff and/or any/all contributors to this site.*
Comments are for members only. Join the conversation by subscribing 👇.