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

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).
Verify on Symbiotic dApp
Open the Vault Page. Find Vault Reward data and claimed rewards in the corresponding section.
Staker Flow
- Acquire wstETH (Sample Tx)
- Deposit to Vault (via UI) (Tx 1, Tx 2)
- Claim Rewards via
claimVaultSnapshotRewards(Sample Tx)
Curator and Operator flows
- The
vault.owner()registers the curator inCuratorRegistry - 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.
- Implement Middleware, do not use EOA or multisig
- Expect fees to be deducted from the amount distributed. To perform fee-related calculations, use FeeRegistry and Rewards methods
