# Eigenlayer Rewards
The EigenLayer Rewards protocol enables AVSs to make rewards to stakers and operators.
Operators earn rewards by opting in to AVSs that make Rewards Submissions to the `RewardsCoordinator`, a core protcol contract. Within a single Rewards Submission, an AVS can specify a time range for which the reward will be distributed, a relative weighting of LSTs and NativeETH for the reward, and an ERC20 token to make a payment in.
Operators will earn a flat 10% commission on rewards. The rest of the reward is passed on to the operator's delegated stakers.
Rewards proportional to
1. The amount of stake
2. The AVS's relative weighting of strategies in a rewards submission
Stakers and operators can set a claimer address that can claim rewards for the tokens they've earned. A staker/operator is its own claimer by default and *only the claimer address* can claim rewards. If a new claimer is set, the new address can claim *all of the previously unclaimed rewards*.
Rewards are calculated via an offchain process. Every week a merkle root is posted which represents the *cumulative rewards* across all earners. There is an additional 4 day delay after posting in order for the root to be claimable against with a valid merkle proof. The deterministic calculation of the distribution of rewards is specified in our [technical docs](https://github.com/Layr-Labs/eigenlayer-contracts/blob/dev/docs/core/PaymentCoordinator.md).
# Staker & Operator Rewards Overview
TODO: screenshots for claiming
- Claiming
- Setting Earner
# AVS Rewards overview
AVSs can make rewards submissions via the `RewardsCoordinator`. Each rewards submission specifies:
1. A time range for which the rewards submission is valid. Rewards submissions can be retroactive from the M2 upgrade and last up to 30 days in the future
2. A list of strategies and multipliers, which enables the AVS to weigh the relative payout to each strategy within a single rewards submission
3. An ERC20 token that rewards are denominated in
Payments MUST come from an AVSs ServiceManager contract. An example integration can be found [here](https://github.com/Layr-Labs/eigenlayer-middleware/blob/114243775f3abf595013a3722ffc9bbd574e4c98/src/ServiceManagerBase.sol#L63-L88).
Integration Notes:
- The rewards passed on to earners are calculated daily and posted on-chain weekly
- If the AVS does not have any operators opted into the AVS on a day of an active reward, those tokens *are not* distributed pro-rata to future days.
- Rewards cannot be clawed back by AVSs
- Operators will only be distributed rewards for days that that they have opted in entirely
- Due to the rounding in the off-chain process, we recommend not making range submission token amounts with more than 15 significant digits of precision. If more than 15 significant digits are provided, the extra precision will be truncated