-
Notifications
You must be signed in to change notification settings - Fork 6
Rewards Calculation Logic
saumyakaran edited this page May 20, 2020
·
1 revision
- Total era points for given era (
net_points
) - Era points for given validator in that era (
points
) - Total rewards (in KSM) for given era (
net_rewards
) - Commission for given validator in % (
commission
) - Total stake on the validator in KSM (
total_stake
) - Stake Amount (
stake_amount
)
- Expected Daily Earning in KSM (
expected_daily_earning
)
First, we calculate the pool_reward
for given validator in the given era:
pool_reward = ( points / net_points ) * net_rewards
The pool_reward
is determined for the past 4 eras for each validator and summed up. Let's call it summation_pool_reward
.
Next, we determine the fraction of the pool which the user will hold if they stake stake_amount
KSM on given validator. Let's call this fraction user_stake_fraction
.
user_stake_fraction = stake_amount / ( stake_amount + total_stake )
Finally, to determine expected_daily_earning
, we subtract commission from summation_pool_reward
and multiply it with user_stake_fraction
:
expected_daily_earning = user_stake_fraction * ( summation_pool_reward * ( 1 - ( commission / 100 ) ) )