Rewards
Rewards are the economic incentives provided by Services to Operators and Stakers for their participation in securing the Service network.
Participants in the Rewards System
💡
In the SatLayer ecosystem, Operators and Stakers are collectively referred to as Earners when discussing the rewards distribution process.
- Operators run the infrastructure and validation systems
- Stakers delegate their assets to Operators as part of the shared security model
- Services distribute rewards to both parties based on their contributions
Rewards Workflow
Distributing Rewards
The rewards distribution process follows these steps:
- Calculate Rewards
- Services calculate rewards for each Earner based on their own criteria
- These calculations are recorded in a
distribution.json
file that follows the schema - The file tracks accumulative rewards for each Earner
- Submit Distribution Data
- Services can submit their
distribution.json
file to thesatlayer-rewards
repository as a PR - GitHub Actions automatically generate and store the merkle tree in the repository
- This step simplifies the proof generation process for Earners
- Services can also generate the merkle root locally using the CLI from
@satlayer/cli
- Execute Distribution
- Services call
DistributeRewards
on thebvs-rewards
contract with the generated merkle root - Before execution, Services must ensure that:
- The reward tokens are available in sufficient amounts
- Appropriate allowances are granted to the
bvs-rewards
contract
Claiming Rewards
Earners can claim their rewards through this process:
- Generate Proofs
- Earners use
@satlayer/cli
to generate proofs - Proofs are specific to each Service and token pair the Earner wishes to claim
- Execute Claim
- Earners call
ClaimRewards
on thebvs-rewards
contract - The call includes the merkle proof, leaf index, and other required parameters
For detailed examples of claim request parameters and code samples, please refer to the SatLayer Rewards CLI documentation .
Last updated on