Comment on page

Staking Rewards

Monthly distribution, calculation formula, and APY calculation for future rewards, many more details broken down below.

Staking Rewards

Staking reward distribution happens on a monthly basis. Rewards are distributed at the end of each month.
It is a four-step cycle:
  1. 1.
    Stake ZEN, in Month 1, you stake ZEN and obtain sZEN. Reward accumulation starts from Month 2.
  2. 2.
    Reward distribution for Month 2 occurs at the end of the Month 2.
    • Total staking reward available for distribution in Month 2 is based on Zenit Platform fee income that was collected and the daily distribution rate of the ZEN staking incentives for Month 2.
    • User’s share of staking rewards for Month 2 is calculated based on their sZEN balance at the start of Month 2 relative to the total sZEN supply at the start of Month 2.
  3. 3.
    Rewards for Month 2 can be claimed by users from Month 3 onwards. Users can also stake their ZEN rewards and increase their sZEN balance and future rewards.
  4. 4.
    Step 2 and 3 repeat every month till expiry:
    • Reward distribution for Month X occurs at the end of the Month X
    • Rewards for Month X can be claimed by users from Month X+1 onwards.

Calculation of Staking Rewards

MonthlyRewardDistributed,R=StakingIncentiveRewards+ZenitEcosystemFeeMonthly\: Reward \:Distributed\:,\: R = Staking \:Incentive \:Rewards + Zenit\: Ecosystem \:Fee
StakingIncentiveRewards=DailyIncentiveRewards30 Staking\:Incentive\:Rewards = Daily\:Incentive\:Rewards*30
ZenitEcosystemFee=TotalMonthlyZenitFee0.25ZEN.priceZenit\:Ecosystem\:Fee =\frac{ Total\:Monthly\:Zenit\:Fee\: * 0.25}{ZEN.price}
The above formula is an assumption, actual ZEN rewards from Zenit Platform Fee would differ based on the token price in the open market.
MonthlyRewardEarnedbyauser=sZEN.usersZEN.totRMonthly\:Reward\:Earned\:by\:a\:user =\frac { sZEN.user }{ sZEN.tot } * R
sZEN.user=UserssZENbalanceatthestartofthemonthsZEN.user = User’s\:sZEN\:balance\:at\:the\:start\:of\:the\:month
sZEN.tot=TotalsZENbalanceoftheprotocolatthestartofthemonthsZEN.tot = Total\:sZEN\:balance\:of\:the\:protocol\:at\:the\:start\:of\:the\:month
R=TotalZENRewardsforthemonthR = Total\:ZEN\:Rewards\:for\:the\:month
StakingAPR=(MonthlyRewardEarnedbyauser/ZENstakedbyuser)12100Staking\:APR = (Monthly\:Reward\:Earned\: by\:a\:user / ZEN\:staked\:by\:user)*12*100
StakingAPY=((1+(MonthlyRewardEarnedbyauser/ZENstakedbyuser))121)100Staking\:APY = ((1+(Monthly\: Reward\:Earned\:by\:a\:user /ZEN\:staked\:by\:user))^{12} - 1) *100%
Calculation of APY assumes that the monthly rewards are re-staked in the protocol.