➗Rewards calculation
Last updated
Last updated
Rewards are being paid in three tokens and each of these tokens have their own source. Therefore, payment frequency for each of these also varies between them. However, the mechanism for the share of each neuron's rewards is the same for each token.
The heart of the reward calculation is the sns_rewards
canister (canister id iyehc-lqaaa-aaaap-ab25a-cai
). This canister does several jobs
Scan each neuron's maturity on a daily basis and keep track of the accumulated maturity overall.
Distribute the rewards from a reward pool on a weekly basis to each neuron.
Participants in the Gold DAO governance receive rewards in three tokens
GLDGov
ICP
OGY
Each of these tokens have their own source, as shown in the graphic below
As GLDGov is supposed to be a deflationary token, 320mGLDGov are dedicated from the treasury for the payment of rewards. Every 4 years, the rewards are halved, starting at 40mGLDGov / year in year 1.
In the first year, 106’776 GLDGov are sent daily (39 million / 365.25 days - see details why 39 million and not 40 million here) from a reserve pool of the sns_rewards
canister to the rewards pool. After four years, this will be reduced to 20 million per year and so on.
The GLDGov reserve pool is the subaccount [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
of the sns_rewards
canister. Its balance can be checked here.
ICP rewards are coming from the seven NNS neurons that are staked on behalf of the Gold DAO. Whenever the maturity of one neuron reaches 1'000 ICP, a new neuron is spawned and after 1 week it's distributed to the differen wallets, including the rewards canister pool. Therefore, it can happen that in some weeks, there are no ICP to be distributed and in other weeks, multiples of neuron maturities are distributed.
The ORIGYN foundation has donated 500 million OGY to the Gold DAO to be staked in a 5 year neuron. All the rewards from this neuron are being distributed to the Gold DAO governance participants.
The Gold DAO has an integrated reward inflation of 0.1%. This allows each neuron to accumulate maturity based on its voting activity and voting power and let's the rewards canister of the Gold DAO allocate the correct amount of rewards to each neuron.
Each day, the sns_rewards
canister scans each neuron, stores its current maturity and adds it to an accumulated maturity in case it increased. The canister therefore keeps an ever increasing track of each neuron's maturity. Even if a user claims the maturity of the respective neuron (note: not claim its rewards), the sns_rewards
canister will still continuously add up the maturity.
Every week, the rewards canister checks the balance of the reward pool and distributes it to a subaccount dedicated to each neuron. The sns_rewards
canister holds the rewards dedicated to each neuron in a respective subaccount according to the neuron id.
For example, for a Gold DAO neuron with id 9787900086a09352e6802ac9a99fb947c816daabe819834a3ddb1b67459ff0a5
, the rewards will be collected in subaccount 9787900086a09352e6802ac9a99fb947c816daabe819834a3ddb1b67459ff0a5
of the sns_rewards
canister.
Rewards of the three tokens GLDGov, ICP and OGY are distributed independently. So even when there are no rewards for one token to be distributed (e.g. because there was no neuron which reached 1'000 ICP in that week), the other tokens will be distributed. The distribution algorithm will then consider all the missed weeks for the skipped token when the next successful distribution round is made.