Logo

🔎 How it works?

⭐ Validator APY

The APY calculations consist of two core steps:



1. Gathering of the Metagraph data


At the top of every hour, the Metagraph is queried to obtain validator data such as:

  • - current total stake
  • - total hourly yield

The most important data here is the total hourly yield, the sum of hourly yields calculated per subnet basis. The total hourly yield assumes a new block is mined every 12 seconds and is calculated as follows:


blocks per hour=300=60s60s/12sblocks\ per\ hour = 300 = 60s * 60s / 12s
hourly yield=validator subnet emissionblocks per hour/tempohourly\ yield = validator\ subnet\ emission * blocks\ per\ hour / tempo
total hourly yield=THY=1subnetsi=1subnetshourly yielditotal\ hourly\ yield = THY = \frac{1}{subnets} \sum_{i=1}^{subnets} {hourly\ yield}_i

To learn more about tempotempo clickhere

.



2. APY calculation


The APY for the selected time period (1h, 24h, 7d, 30d) is calculated by averaging APYs for hourly intervals that comprise the period, i.e.:

  • - 1 hour=11\ hour = 1 hourly interval
  • - 24 hours=2424\ hours = 24 hourly intervals
  • - 7 days24 hours=1687\ days * 24\ hours = 168 hourly intervals
  • - 30 days24 hours=72030\ days * 24\ hours = 720 hourly intervals

The exact formula for APY calculation is as follows:


annual compounding periods=ACP=8760=365 days24 hoursannual\ compounding\ periods = ACP = 8760 = 365\ days * 24\ hours
Validator APYper interval=[(1+THY/total stake)ACP]1Validator\ APY_{per\ interval} = \Bigl[(1 + THY / total\ stake)^{ACP}\Bigr] - 1
Staking APYper interval=Validator APYper interval18% taxStaking\ APY_{per\ interval} = Validator\ APY_{per\ interval} - 18\%\ tax
Staking APY=1intervalsi=1intervalsStaking APYiStaking\ APY = \frac{1}{intervals} \sum_{i=1}^{intervals} {Staking\ APY}_i

Note that the APY is calculated as compounded annual yield, assuming that hourly yield is being compounded every hour.


⭐ Wallet staking yield

The wallet yield feature showcases how much Tao a given wallet would earn in a selected period if the validator APY stayed the same throughout the period.


This is calculated by the following formula:


yield=wallet stake[[(Staking APY+1)selected period length in hours/(36524)]1]yield = wallet\ stake * \Biggl[\Bigl[(Staking\ APY + 1) ^ {selected\ period\ length\ in\ hours / (365 * 24)}\Bigr] - 1\Biggr]