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
  • Byz Vault Roles (ERC20 Vaults)
  • versionManager
  • depositWhitelistManager
  • depositLimitManager
  • curatorFeeClaimerRoleAdmin
  • Native Byz Vault Roles
  • EigenLayer Roles
  • delegationSetRoleHolder
  • Sym Byz Vault Roles (Symbiotic Modules)
  • hookSetRoleHolder
  • networkLimitSetRoleHolders
  • operatorNetworkLimitOrSharesSetRoleHolders
  1. Vault Creation
  2. Overview

Roles

This page summarizes all the role-related parameters that appear across the different initialization structs used when deploying a Byzantine Vault. These roles are critical for managing delegation, upgrades, fee claiming, whitelisting, and other access control logic.



Byz Vault Roles (ERC20 Vaults)

Defined in the ByzVaultParams struct.

  • Global administrator of all roles in the vault (except curator fee claimer roles).

  • Can grant/revoke any role and transfer its own privileges to a new address.


versionManager

Defined in the ByzVaultParams struct.

  • Can upgrade the vault’s logic to a new whitelisted version.

  • Can update vault metadata URI.

depositWhitelistManager

Defined in the ByzVaultParams struct.

  • Can manage deposit permissions (whitelist or public).

  • Can assign deposit rights to specific addresses.

depositLimitManager

Defined in the ByzVaultParams struct.

  • Can toggle the deposit cap (isDepositLimit) and update the actual depositLimit value.

curatorFeeClaimerRoleAdmin

Defined in the ByzVaultParams struct.

  • Admin for the curatorFeeClaimer role.

  • Can revoke or reassign the curator fee claiming rights.

Note: The curatorFeeClaimer role itself cannot be managed by roleManager, only by curatorFeeClaimerRoleAdmin.


Native Byz Vault Roles

The Native Byz Vault inherits all the same roles from the ERC20 ByzVaultParams struct. In addition:

  • It uses validatorManagers, which are a list of addresses managing the validator logic (only used for Solo Staker Vaults).

  • These addresses cannot be removed once set, so must be chosen carefully.



EigenLayer Roles

These roles manage the delegation of vault collateral to EigenLayer operators, allowing for secure restaking across EigenLayer’s decentralized infrastructure. All roles in this section are defined in the EigenParams struct.


delegationSetRoleHolder

Defined in the EigenParams struct.

  • Can delegate, undelegate, or redelegate the vault’s stake to an EigenLayer operator.

  • Manages the active operator assignment and updates the staking target.



Sym Byz Vault Roles (Symbiotic Modules)

These roles govern how stake is distributed and slashed in the Symbiotic ecosystem. They control delegation logic, hooks for reactive behavior, and per-network configuration through role holders.

Roles in this section are defined in the DelegatorParams and BurnerParams structs.


hookSetRoleHolder

Defined in the DelegatorParams struct.

  • Can set or update the hook contract that reacts to slashing events.

  • Must ensure role arrays (networkLimitSetRoleHolders, operatorNetworkLimitOrSharesSetRoleHolders) are updated accordingly.


networkLimitSetRoleHolders

Defined in the DelegatorParams struct.

  • Addresses allowed to configure delegation limits at the network level.

  • Used in NETWORK_RESTAKE, FULL_RESTAKE, and OPERATOR_SPECIFIC Delegator types.


operatorNetworkLimitOrSharesSetRoleHolders

Defined in the DelegatorParams struct.

  • Addresses authorized to manage operator-network delegation strategy.

  • Used in NETWORK_RESTAKE (shares) and FULL_RESTAKE (limits).

  • Optional for OPERATOR_SPECIFIC and OPERATOR_NETWORK_SPECIFIC types.

PreviousSymbiotic ParametersNextSingle Protocol Vaults

Last updated 1 month ago

🎛️