Skip to content
LogoLogo

Distribute Rewards

Networks use Rewards system to compensate Stakers, Operators, and Curators for providing security and network operation.

This guide highlights practical steps and contract touchpoints to distribute and claim rewards.

To reproduce this flow, follow the Quickstart: Network with Staking guide first.


The rewards implementation is available in the Symbiotic Rewards Repository. There are 3 smart contracts:

  • Rewards: Main contract for distributions and claims.
  • FeeRegistry: Registry for operator and curator fees.
  • CuratorRegistry: Registry mapping vaults to curators.

Vault Snapshot Rewards

Network rewards distribution diagram

Vault Snapshot Rewards implement fully on-chain, snapshot-based distributions using historical vault fee split and state at specific timestamps.

Actions (Contract | Interface):

  • Distribution entrypoint: distributeVaultSnapshotRewards() - used by network to distribute rewards.
  • Claim entrypoints for stakers, operators and curators:
    • claimVaultSnapshotRewards()
    • claimOperatorFees()
    • claimCuratorFees()

Reward Workflow

Rewards contract addresses are listed on the Addresses page.

Distribute Rewards

For msg.sender, use the Network Middleware account (see Quickstart: Network with Staking).

  • Increase token allowance (Sample Tx)
  • Distribute rewards by calling Rewards via distributeVaultSnapshotRewards() (Sample Tx)

Verify on Symbiotic dApp

Open the Vault Page. Find Vault Reward data and claimed rewards in the corresponding section.

Staker Flow

Curator and Operator flows

  • The vault.owner() registers the curator in CuratorRegistry
  • Curator sets curator and operator fees in FeeRegistry.
  • Curator and operator claim via Rewards.sol

For more details, see Curator: Manage & Claim Fees and Operator: Claim Rewards.

Production considerations

This guide uses testnet and simplified EOAs for ease of replication. In production, plan the security-aware setup accordingly.

Next Steps

Slashing

Learn how to integrate the slashing mechanism into your system if needed.

Relay On-Chain

Proceed to developing your protocol's on-chain components using Relay smart contracts.