Radix Staking Basics
TLDR: For most people, staking XRD tokens is all you need to do to help the network and receive incentive rewards. To do that, starting on the 28th July, download the Radix Desktop Wallet, load up the wallet with XRD, select the validator nodes you want to delegate your stake to, and delegate at least 100 XRD to start earning staking “emissions” rewards on the Radix mainnet.
However we strongly suggest you learn more about how staking and emissions works.
So let's dive into it...
The launch of the Radix mainnet marks the beginning of Radix as a fully decentralized platform. A key element of this decentralization is the use of a dPOS (delegated proof of stake) system where users “stake” their XRD tokens to validator nodes, defining how these nodes are selected by the network and how they conduct consensus on transactions.
When a user stakes XRD tokens, they must choose validator nodes that they want to stake to (called “delegation”). The staked tokens are not sent to the validator node – they are merely locked in place until the user unstakes them. The purpose of choosing validator nodes is that these stakes act as a kind of ongoing decentralized community vote for the operators of an open Radix network.
This means that to ensure a secure, performant network, the network protocol must include an economic incentive for holders of XRD tokens to stake their tokens to good nodes – and for node-runners to operate them.
The Radix network protocol creates these incentives through the minting of new XRD tokens called emissions. Emissions are provided to both stakers and node-runners – if each node is doing its job by correctly participating in consensus on transactions.
This guide provides the basics of how anyone can earn emissions rewards as an XRD holder or a validator node-runner. It also explains how to calculate the amount of rewards to expect (including a separate category of “subsidy” rewards specifically for node-runners).
For more general information and answers to common questions on staking on Radix, visit learn.radixdlt.com.
The creation of new XRD tokens as emissions rewards always happens at the end of fixed periods of network time called epochs. The exact length of an epoch varies a bit based on how fast the network is running, but they are generally under 2 hours long.
Note: The first epoch of the Radix network is a special bootstrapping epoch that will last about 2 weeks. This means that there will be no rush for stakers or node-runners to take action immediately at launch. More information is provided in this linked blog.
At the end of each epoch, the Radix protocol mints a fixed amount of XRD tokens as emissions. The amount of XRD emitted is set so that a total of roughly 300m XRD tokens are emitted over the course of one year.
The actual amount of emissions distributed to stakers and validator node-runners is reduced by a penalty factor applied if a given validator has failed to participate in consensus some of the time during the epoch. The penalty amounts are deducted from the emissions, and are effectively burned. This is important to ensure that stakers choose good, performant nodes – and that node-runners are incentivized to run them.
At the start of each epoch, the total amount of XRD staked to each validator node is checked, and a new validator set of 100 is automatically selected for the full duration of that epoch. This means that the total amount of XRD emitted at an epoch’s end is automatically distributed to stakers and node-runners based on the validator list and stakes set at the epoch’s start, using a set of rules that we’ll describe below.
Anyone with XRD tokens on the Radix network can participate in staking, and earn emissions rewards. Unlike many blockchain networks where most rewards are reserved for a relatively small set of “miners”, on Radix rewards to individual XRD stakers are actually the primary incentive – no need to run a physical node. Staking to protect network security is very important, so we’ve made it as straightforward and rewarding as possible.
Anybody may stake XRD (also called “delegation of stake”) at any time, to any number of validators of their choice. Staking XRD is done via a special type of transaction, and we’ve made this easy to do with just a few clicks in the Radix Desktop Wallet app. The current list of validators to choose from can be found on the Radix Explorer website.
To avoid issues with spamming a large number of small stakes, a minimum amount of 100 XRD per stake transaction is required – a small amount we expect will not pose a barrier to anyone who wishes to stake.
Choosing which validator nodes to stake your XRD to has important implications for both your own rewards and the security and performance of the network. Staking to a low-performance node may lead to reduced or no emissions rewards, for example. For more information about how to choose validators to best benefit yourself and the Radix network, see this article on learn.radixdlt.com.
After XRD are staked, starting with the next epoch that stake begins earning emissions rewards at the end of each epoch that follows.
Emission rewards (XRD) are automatically created in a staked state; they are emitted pre-staked to the same validator as the originally staked XRD and immediately begin earning emissions. This means that the holder does not need to continuously stake emitted tokens in order to “compound” their emissions earning.
Because emitted tokens are automatically staked, claiming rewards simply means unstaking some amount of staked tokens whenever the user chooses.
The Radix Desktop Wallet will show the user’s current stakes, including the amount of XRD added automatically to the stake by emissions, at any time.
A staker may request an unstake of any amount of their XRD tokens at any time, but must wait an unstaking delay time before they are available for use. This includes stake that the staker wishes to move to a different validator; they must perform an unstake, wait for the delay to complete for the XRD to become available, and then stake them elsewhere.
The unstaking delay is a fixed number of epochs (500 to be exact), that add up to a total of roughly 10-14 days of delay, depending on network speed. The delay is required for network security reasons; essentially there must be enough time provided to ensure that any bad behavior by a node (using the stake delegated to them) can be detected and punished. At initial mainnet launch, 10-14 days is estimated to be a sufficient time to confidently detect such bad behavior, but much shorter delays may be proposed to the community later once more automated mechanisms become available.
When a staker requests an unstake, they will stop receiving rewards for the stake starting in the epoch immediately following the unstake request. This means the stake will still earn rewards for the full epoch in which the unstake request was submitted.
Requesting an unstake of tokens will also be a matter of a few clicks in the Radix Desktop Wallet, selecting from a listing of current stakes.
Anyone may operate a node and register it as a potential validator on the Radix network. However, the consensus protocol selects only the top 100 registered nodes, by delegated stake, to participate in consensus as validators and receive rewards.
This makes validator node-running quite competitive and we expect the standards of operation will be very high. Most successful validator nodes will be run on high-availability cloud infrastructure by experienced systems administrators. For those who fit this profile, there are additional emissions rewards available.
For more information on configuring and operating a Radix node, please see our documentation site.
Staking for validator node-runners works nearly the same way as for any other holder (as described above). Node owners still stake to their own node from whatever address they prefer and can use the Desktop Wallet to do this easily. They earn emissions exactly as any other staker.
However there is a little more to it for node-runners because they can earn emissions not just via staking XRD but also by setting a validator fee (see below) on their node. When registering a validator node, the operator must specify an “owner address”. This is the address (such as a desktop wallet address) that they will stake to their own node from. Declaring this special staking account does two things:
In addition to staking XRD like other token holders, each validator node-runner may also specify a validator fee that they will receive. The validator fee is a % of the total emissions earned by stakers to the node, which is taken by the node-runner to incentivize their operation of a performant, reliable physical node.
XRD holders choosing who to stake their XRD to can see this fee % for each validator node (using the Radix Explorer website) before choosing to stake.
Earning and claiming emissions as an “owner” staker is exactly as described above for an individual XRD holder.
Validator fees are also distributed in exactly the same way to the owner account specified by the node-runner. This means that newly emitted validator fee XRD tokens are created in a staked state in the owner’s account, and rewards may be claimed via unclaiming part or all of this constantly updating amount of staked XRD.
Assuming the node-runner has set the owner account to an account in their Desktop Wallet (which we recommend), the current amount of XRD stake that can be withdrawn will be shown conveniently there.
Exactly as with an individual staker, a validator node-runner may request an unstake of their owner account staked tokens at any time, including the unstaking delay time.
As described above, a fixed amount of XRD tokens are automatically emitted by the Radix network protocol at each epoch’s end (such that emissions occur at a rate where roughly 300m XRD per year are minted).
The emitted XRD for an epoch are first allocated across the validator node runners in proportion to the relative amount of stake delegated to them. If a validator node has, for example, 1% of the stake, then 1% of the epoch’s emissions tokens are initially allocated to that node.
From this initial allocation, penalties are deducted (making them effectively burned). The penalty is calculated based on the % of the epoch that the node successfully participated in consensus (more technically, this is the % of the time that the node made a transaction “proposal” when its turn as leader was up). If the node participated 100% of the time, no penalty is applied. The penalty begins increasing as the node fails to participate in consensus and reaches 100% (no rewards received) when its participation in consensus for the epoch drops to 98% or below. This penalty is severe on purpose: a high rate of participation is necessary for the best possible network performance. But remember that the penalties only apply to the rewards for a single epoch (roughly under 2 hours).
Note: Because only validators in the “top 100” by stake actually participate in consensus for the epoch, only those top 100 nodes can create rewards for their delegators.
After any penalties are deducted, the node-runner’s validator fee is then deducted. If the node-runner has specified a fee of 2%, then 2% of the emissions allocated to that validator (after penalties) is minted to the node-runner’s owner address. The remaining emissions (98% in our example) are then minted to the individual stakers in proportion to their relative stake at that validator. XRD staked from the owner’s address also earns normal emissions here, just like any other staker.
Let’s do some quick examples for the emissions received by an individual XRD staker or a validator node-runner for each epoch.
If you are an XRD staker, you get a % of the total emissions for each epoch proportional to your % of the total stake. This is reduced somewhat if the node you’re staking to is taking a fee, or if they are penalized for not participating fully in consensus for the epoch.
You can calculate your emissions as a staker as:
E x S x ( 100 - P ) x ( 100 - F )
E = This epoch’s total emissions XRD (fixed)
S = Your stake’s % of total delegated stake (for this epoch)
P = Penalty % for the node you’ve staked to (for this epoch)
F = Fee % for the node you’ve staked to (for this epoch)
So let’s say you are staking 1,000 XRD, and there are currently 1,000,000,000 XRD in total that are staked (out of the total supply of 9,600,000,000 XRD). The node you are delegating to has set their validator fee to 2%. And that node has 100% participation in consensus (which a good node certainly should achieve!). Your share of the rewards for the epoch will be:
E x 0.000001 x ( 100% ) x ( 98% ) = 0.00000098 of total E
Over the course of a year of about 300,000,000 XRD emitted, this means you would receive 294 XRD – a return of 29.4% APY on your original stake!
Note: This ignores the fact that your emissions will be automatically staked at each epoch, but since this is the case for everyone else, your % of total stake stays constant leading to the same result, assuming that neither you nor anybody else is staking/unstaking.
A validator staking to their own node will receive rewards in exactly the same way as was just described (assuming, as with any other node, that your node is included in the active “top 100” validator nodes).
However, if you are a participating “top 100” validator node-runner, you may specify a validator fee that provides you as the owner with a portion of emissions. Basically your emissions will then be proportional to that fee % and (importantly) the relative amount of stake delegated to the node, both by yourself and others.
Note: This means that your best bet as a validator node-runner is to keep your fee % competitively low, but seek to draw as much stake into the network and have it delegated to your node as possible. Validator node-runners are Radix’s best advocates for everyone participating in XRD staking!
You may calculate your validator fee emissions as:
E x V x F x ( 100 - P )
E = This epoch’s total emissions XRD (fixed)
V = Your validator node’s % of total delegated stake (for this epoch)
P = Penalty % for your node (for this epoch)
F = Fee % for your node (for this epoch)
So let's say you have drawn 1% of the total delegated stake to your node. You have set your validator fee to 2%. Your node has 100% participation in consensus (of course!). Then your share of the rewards for the epoch will be:
E x 0.01 x 0.02 x ( 100% ) = 0.0002 of total E
Over the course of a year of about 300,000,000 XRD emitted, this means you would receive 60,000 XRD – a good incentive to run a high-quality node for a year!
In addition to emissions XRD, Radix Tokens Jersey Limited (RTJL) will provide an additional “subsidy” incentive specifically for validator node-runners. The subsidy will be drawn from a reserve of 600m XRD tokens, created at the genesis of the network and held by RTJL for purposes such as this. These subsidy rewards are not a feature of the network protocol and are provided directly from RTJL to the validator node-runner. To meet RTJL’s regulatory obligations, only node-runners that successfully complete KYC may be eligible for subsidy rewards.
Subsidy rewards are provided to cover the costs of running a validator node to ensure that anyone who has the technical skill and commitment to run a good reliable validator node can do so. The quantity of XRD provided will be continuously adjusted by RTJL in order to provide a USD-equivalent value to comfortably cover the costs of good node hosting and operation. To begin with, we expect this to be approximately $500 per month for full participation in consensus, but may be adjusted as we learn more about real costs.
In the same way as emissions, the quantity of subsidy XRD will be reduced by the penalty for missed participation in consensus.