Skip to content

Calculating Nominator returns

A “Bittensor day” consists of 7,200 blocks. While the actual time may fluctuate slightly, this measurement is used because hotkeys are drained every 7,201 blocks.

Stake added during a hotkey epoch is considered “non-viable” and ineligible for nominator rewards during that epoch. This prevents system abuse where nominators might add stake just before drainage to receive higher rewards.

stake_before_reward: Nominator’s stake on the block before validator’s hotkey drainage
non_viable_stake: Nominator’s non-viable stake on the block before validator’s hotkey drainage
stake_after_reward: Nominator’s stake on the block of validator’s hotkey drainage
Important: Verify no stake/unstake actions occurred on this block

viable_stake = stake_before_reward - non_viable_stake
profit = stake_after_reward - stake_before_reward
multiplier = 1000 / viable_stake
nominator_return_per_1000_tao_per_day = profit * multiplier
apr = nominator_return_per_1000_tao_per_day * 365