Byzantine Finance
Website - Home🖥️ For Developers
  • 👋Introduction
    • What is Byzantine Finance?
      • Permissionless strategy vaults
      • Strategy layer & infrastructure layer - Explain Like I'm 5
      • Architecture Overview
    • Explanation of terms
    • Restaking explained
  • Media kit
  • 🔑Byzantine Vaults
    • What are Byzantine vaults?
    • Features of Native Vaults
      • Byzantine Oracle
      • Best practices for Validator Managers
    • Types of Native Vaults
      • Solo Staker Vaults
      • Partner Validated Vaults
      • Distributed Validator Vaults
  • ↔️Vault Interaction
    • Deposit
      • Deposit to ERC20 Vaults
      • Deposit to Native Vaults
    • Withdraw
      • Withdraw from ERC20 Vaults
      • Withdraw from Native Vaults
    • Claim Rewards
      • Restaking Rewards
        • EigenLayer Rewards
        • Symbiotic Rewards
  • 🎛️Vault Creation
    • Overview
      • Vault Configuration Guide
      • Vault Parameters
        • Byzantine Vault Parameters
        • Native Vault Parameters
        • EigenLayer Parameters
        • Symbiotic Parameters
      • Roles
    • Single Protocol Vaults
      • EigenLayer Vault
        • Eigen ERC20 Vault
        • Eigen Native Vault
      • Symbiotic Vault
        • Sym ERC20 Vault
        • Sym Native Vault
    • Cross Protocol Vaults
      • Eigen Layer / Symbiotic ERC20 Vault
  • 🤖Curation
    • Overview
    • Curator Related Roles
    • Vault Management
    • Strategy Management
      • EigenLayer Strategy
      • Symbiotic Strategy
      • Cross Protocol Vault
    • Curation Fee Management
  • 🌐Node operators
    • Operators in the Byzantine ecosystem
    • Register as a Staking Operator
    • Staking
    • Restaking Operator
      • Symbiotic
      • EigenLayer
      • Allocation to existing Restaking Operators
      • Creation of on-demand Restaking Operators
  • Claiming DV operator fees
Powered by GitBook
On this page
  • Overview
  • High Level Design
  • Checkpoints in Symbiotic Rewards Calculation
  • Step-by-Step Process For Staker Rewards
  • Fees For Curator
  1. Vault Interaction
  2. Claim Rewards
  3. Restaking Rewards

Symbiotic Rewards

Restaking rewards distribution from Symbiotic to Byzantine stakers and curators

PreviousEigenLayer RewardsNextOverview

Last updated 2 days ago

This section explores the detailed technical structure of the contract which handles the restaking rewards on Symbiotic, focusing on how restaking rewards from Symbiotic are distributed to the Byzantine stakers and curators.


Overview

  • Every creation of a contract automatically deploys a SymbioticManager contract.

  • Every inherits from SymbioticManager.

  • All , Sym Byz vault stakers and curators interacts directly with SymbioticManager to distribute and claim rewards.

  • The is used in both rewards distribution and claiming stages.

  • Unlike the Eigen rewards, Symbiotic rewards do not use Merkle tree.


High Level Design

Symbiotic Reward Claiming Flow

A simplified and high level flow is as follows:

  • Networks interact directly with the SymbioticManager to distribute rewards in a specific token at a particular timestamp.

  • Stakers claim rewards from SymbioticManager.

  • Curator claims their fees from SymbioticManager.

The SymERC20ByzVault contract extends the SymbioticManager contract. This means that interacting directly with SymERC20ByzVault allows the caller to access the features and functions of SymbioticManager.


Checkpoints in Symbiotic Rewards Calculation

The use of the checkpoint system in Symbiotic rewards:

  • At every rewards distribution, the network provides a timestamp to retrieve the vault's active shares at that specific timestamp (activeSharesAt) and logs it in the contract. Along with this, the timestamp and distributed amount are also stored in the contract.

  • At every rewards claim, the stored timestamp is used to retrieve the active shares of the staker at that specific timestamp (activeSharesOfAt).

  • The activeSharesOfAt, along with the distributed amount and activeSharesAt of the vault, are used to calculate the staker's eligible reward amount. The formula is as follows:

stakerRewards=activeSharesOfAt∗distributedAmount/activeSharesAtstakerRewards = activeSharesOfAt * distributedAmount / activeSharesAtstakerRewards=activeSharesOfAt∗distributedAmount/activeSharesAt

Step-by-Step Process For Staker Rewards

1

Rewards distribution by networks

Function to invoke:

function distributeRewards(address network, address token, uint256 amount, bytes calldata data) external;

All networks who have opted-in to the Sym Byz vault should calls this function to distribute rewards for the stakers of the vault. As explained in the last section, the timestamp as input to the function (encoded in data) is used to retrieve the relevant checkpoints to mark the vault's total active shares and the staker's active shares when claiming rewards.

The final distributed amount is the amount of rewards that is left after subtracting the curator fee from the actual earnings.

2

Rewards claim by stakers

Function to invoke:

function claimRewards(address recipient, address token, bytes calldata data) external;

A staker calls this function to claim rewards distributed by the networks.

Stakers must specify the token and the network they want to claim rewards for.

To claim all rewards distributed by various networks in different tokens from a Sym Byz vault, multiple calls to claimRewards are required.


Fees For Curator

Function to invoke:

function claimCuratorFee(address recipient, address token) external;

The curator of an Sym Byz Vault can set and adjust the curator fee percentage. They call this function claim all cumulative fees distributed in a specific token for a particular vault at once.

Each time a network calls the distributeRewards, the curator fee amount is increased and stored in the contract.

Three checkpoints are created at every deposit and withdrawal of the Sym Byz Vault: , and . The new value is added to the list of existing values.

↔️
activeStake
activeShares
activeSharesOf
SymbioticManager
SymERC20ByzVault
SymERC20ByzVault
Symbiotic networks
checkpoint system
Checkpoint creation and usage within a timeframe