Skip to main content

Overview

RewardsDistributor handles protocol-wide reward distribution. Stakers who lock ELTA as veELTA or in the StakeVault earn a share of protocol fees proportional to their voting weight.

Key Functions

Read

FunctionReturnsDescription
earned(address account)uint256Unclaimed rewards
rewardRate()uint256Current reward emission rate
totalWeight()uint256Total voting weight of all stakers
weightOf(address account)uint256Voting weight for an account
lastDistribution()uint256Timestamp of last distribution

Write

FunctionAccessDescription
claim()StakerClaim accrued rewards
distribute(uint256 amount)FeeManagerPush new rewards into the pool
notifyWeightChange(address account)VeELTA / StakeVaultUpdate weight on lock/unlock

Reward Mechanics

  1. Fees flow from FeeManagerRewardsDistributor
  2. Rewards accrue per-second based on each staker’s weight
  3. Weight comes from VeELTA (time-locked ELTA) and StakeVault
  4. Stakers call claim() at any time to collect

Events

EventEmitted When
RewardDistributed(uint256 amount)New rewards added to pool
RewardClaimed(address account, uint256 amount)Staker claims rewards
WeightUpdated(address account, uint256 newWeight)Staker weight changed