Validator rewards in the form of gMITO tokens are distributed for both collateral and staking contributions for each epoch. Collateral rewards go to the validator’s designated reward manager, while staking rewards are distributed to users who staked to the validator. These rewards are distributed by the ValidatorRewardDistributor, which ensures fair distribution based on each validator’s contributions to block building in the consensus layer.

Reward Schedule

Epoch Duration

Mainnet: 1 week per epoch
Consistent reward periods for predictable distributions

Claim Availability

Processing Time: Up to 3 days after epoch ends
Rewards become claimable once calculations are complete

Claim Delegation

  • Users can delegate claim permissions to another address
  • Allows other addresses or third parties to claim validator rewards on behalf of users
  • Enables the creation of various derivatives based on gMITO rewards

Contribution Tracking

The reward distribution system relies on accurate tracking of two types of contribution ratios that determine how rewards are allocated across the network.

Validator Contribution Feeder

ValidatorContributionFeeder is the off-chain service responsible for monitoring consensus layer activity and calculating contribution metrics for each epoch:

  1. Inter-Validator Contribution Ratios: Determines each validator’s share of total network contributions based on:

    • Block participation and commitment rates
    • Voting power during successful block proposals
  2. Intra-Validator Contribution Ratios: For each validator, calculates the split between:

    • Collateral Contribution: Portion attributable to validator’s own collateral
    • Staking Contribution: Portion attributable to user stakes

ValidatorContributionFeed

The ValidatorContributionFeed contract serves as the on-chain repository for calculated contribution data:

Stored Data:

  • Each epoch’s contribution percentages for every validator
  • Collateral vs staking contribution breakdowns for reward splitting

Data Flow:

  1. Validator Contribution Feeder monitors consensus layer during epoch
  2. At epoch end, calculates all contribution ratios
  3. Submits finalized data to ValidatorContributionFeed contract
  4. ValidatorRewardDistributor queries this data for accurate reward allocation

Transparency & Verification

  • Anyone can independently verify contribution calculations against consensus data
  • All contribution ratios are deterministic based on verifiable consensus layer activity
  • Historical data enables retroactive auditing of reward distributions
  • Transparent calculation framework ensures fair and accurate reward allocation
  • Planned integration with beacon root (EIP-4788) for cryptographic verification

Reward Calculation Framework

For each epoch, there is a predetermined total amount of gMITO tokens allocated as rewards for all validators, determined by the GovMITOEmission contract. This fixed reward pool is then distributed among validators based on their contributions during that epoch period.

The validator reward calculation involves three main steps:

  1. Validator Reward Allocation - Calculate each validator’s total reward for the specific epoch based on their consensus participation and voting power during that period
  2. Reward Manager Distribution - Operator’s designated reward manager receives collateral rewards and commission from staking rewards
  3. Staker Reward Distribution - TWAB-based fair distribution to users who staked to the validator

1. Validator Reward Allocation

Each validator’s reward is determined by their contribution to block building during each epoch. The calculation process works in three steps:

Step 1: Block-level Contribution
For each block, a validator’s contribution depends on whether they successfully committed to that block:

Contributionblock={VotingPowerblockif committed to the block0if not committed to the blockContribution_{block} = \begin{cases} VotingPower_{block} & \text{if committed to the block} \\ 0 & \text{if not committed to the block} \end{cases}

This means validators only earn contribution points when they actively participate in consensus and successfully commit to blocks. Missing a block results in zero contribution for that specific block.

Step 2: Epoch-level Aggregation
A validator’s total contribution for an epoch is the sum of all their block contributions:

EpochContribution=Contributionblock for all blocks in epochEpochContribution = \sum Contribution_{block} \text{ for all blocks in epoch}

Validators who consistently participate throughout the epoch will have higher total contributions than those who miss blocks or have downtime.

Step 3: Proportional Reward Distribution
The final validator reward is calculated proportionally based on their contribution relative to all other validators. The total reward pool for the epoch (EpochReward) is distributed among all participating validators:

ValidatorReward=EpochReward×EpochContributionEpochContributionallvalidatorsValidatorReward = EpochReward \times \frac{EpochContribution}{\sum EpochContribution_{all validators}}

Where EpochReward represents the total gMITO reward pool available for distribution to all validators during that specific epoch period.

This ValidatorReward represents the total reward allocated to the validator for the epoch, proportional to their actual contributions to network security and block production. However, this total amount is not given entirely to the validator operator. Instead, it gets distributed between two recipients:

  • Reward Manager: Receives collateral rewards + commission from staking rewards
  • Stakers: Receive the remaining staking rewards after commission is deducted

The following sections explain how this total validator reward gets split and distributed.

2. Reward Manager Distribution

The validator’s designated reward manager receives rewards with two components: collateral rewards and commission from stakers. The system prioritizes collateral contributions to incentivize validators to maintain skin in the game.

Separating Collateral vs Staking Contributions
At each block, the validator’s total contribution is divided between collateral and staking portions:

CollateralContributionblock=min(CollateralAmountblock,Contributionblock)CollateralContribution_{block} = \min(CollateralAmount_{block}, Contribution_{block}) StakingContributionblock=ContributionblockCollateralContributionblockStakingContribution_{block} = Contribution_{block} - CollateralContribution_{block}

This split ensures that collateral always gets priority up to the collateral amount, with any remaining contribution attributed to staking. If a validator has 1,000 MITO collateral but 5,000 total voting power, then up to 1,000 contribution points go to collateral, and the remaining 4,000 go to staking.

Calculating Reward Proportions
After aggregating contributions across the entire epoch, we determine how much of the validator’s total reward should go to collateral vs staking:

EpochCollateralContribution=CollateralContributionblock for all blocks in epochEpochCollateralContribution = \sum CollateralContribution_{block} \text{ for all blocks in epoch} CollateralReward=ValidatorReward×EpochCollateralContributionEpochContributionCollateralReward = ValidatorReward \times \frac{EpochCollateralContribution}{EpochContribution} StakingReward=ValidatorRewardCollateralRewardStakingReward = ValidatorReward - CollateralReward

Final Reward Manager Payout
The reward manager receives all collateral rewards plus a commission from the staking rewards:

RewardManagerReward=CollateralReward+(StakingReward×CommissionRate)RewardManagerReward = CollateralReward + (StakingReward \times CommissionRate)

This structure ensures that validators are directly rewarded for their collateral commitment while also earning commission on the staking services they provide to users.

3. Staker Reward Distribution

After the commission is deducted from staking rewards, the remaining amount is distributed among all stakers based on their time-weighted contributions. This system ensures fair distribution that accounts for both stake amount and duration.

Time-Weighted Average Balance (TWAB)
Rather than using simple snapshots, the system calculates each staker’s time-weighted average balance throughout the epoch. This means if you stake 1,000 MITO for half an epoch, your TWAB would be 500 MITO-equivalent for the full epoch period.

Individual Staker Reward Calculation

StakerRewards=StakingReward×(1CommissionRate)×TWABsTWABiStakerReward_s = StakingReward \times (1 - CommissionRate) \times \frac{TWAB_s}{\sum TWAB_i}

Where:

  • TWAB_s = Time-weighted average balance of staker s during the epoch
  • Σ(TWAB_i) = Sum of all stakers’ TWABs for that validator during the epoch
  • (1 - CommissionRate) = The portion remaining after commission is deducted

This approach prevents gaming through last-minute large stakes and rewards consistent, long-term participation.

Example Calculation

Let’s walk through a complete example using Validator 2 from the diagram above:

Scenario Context

  • Total Validators: 3 validators competing for epoch rewards
  • Validator Contributions:
    • Validator 1: 30% share (300 VP, 100% uptime)
    • Validator 2: 50% share (1000 VP, 50% uptime) ← Our focus
    • Validator 3: 20% share (250 VP, 80% uptime)

Validator 2 Configuration

  • Collateral: 100 MITO
  • Total Staked by Users: 2,000 MITO
  • Commission Rate: 5%
  • Voting Power: 1,000 (limited by 10x leverage ratio)
  • Max Leverage Ratio: 10x (100 MITO collateral × 10 = max 1,000 voting power)

Step 1: Validator-Wide Reward Distribution

Validator 2 earns 50% of the total epoch reward pool based on their contribution share.

Step 2: Collateral vs Staking Split

With the 10x leverage limit, the validator’s voting power is capped at 1,000 MITO:

  • Collateral Contribution: 100 MITO (10% of 1,000 VP)
  • Staking Contribution: 900 MITO (90% of 1,000 VP)

Step 3: Reward Manager Distribution

The reward manager receives:

  • Collateral rewards: 10% of validator’s total reward
  • Commission from staking: 90% × 5% = 4.5% of validator’s total reward
  • Total to Reward Manager: 10% + 4.5% = 14.5% of validator’s reward

Step 4: Staker Distribution (85.5% of validator reward)

The remaining 85.5% goes to stakers based on their TWAB shares:

Individual Staker Distribution:

  • Staker 1: 10% TWAB share (200 MITO staked)
  • Staker 2: 30% TWAB share (600 MITO staked)
  • Staker 3: 60% TWAB share (1,200 MITO staked)

Final Distribution Summary From Validator 2’s total epoch reward:

  • Reward Manager: 14.5%
  • Staker 1: 85.5% × 10% = 8.55%
  • Staker 2: 85.5% × 30% = 25.65%
  • Staker 3: 85.5% × 60% = 51.3%

This example demonstrates how leverage limits can negatively impact staker rewards. Despite having 2,000 MITO staked, only 900 MITO contributes to the validator’s voting power due to the 10x leverage ratio cap. The remaining 1,100 MITO of staked tokens don’t contribute to earning rewards.

Key Insight for Stakers: It’s more beneficial to stake with validators that have sufficient collateral relative to their total staked amount. Validators with inadequate collateral cannot fully utilize all staked tokens for reward generation, reducing the overall reward rate for stakers.