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
    • Deployment guide
      • Vault Parameters
        • Byzantine Vault Parameters
        • Native Vault Parameters
        • EigenLayer Parameters
        • EigenPod Parameters
        • Symbiotic Parameters
    • 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
    • Restaking 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 Operators Guide
      • EigenLayer Operators Guide
      • Documentation to run the nodes
  • Claiming DV operator fees
Powered by GitBook
On this page
  • SymParams
  • BurnerParams
  • Breaking down the parameters
  • VaultParams
  • Breaking down the parameters
  • DelegatorParams
  • Breaking down the parameters
  • SlasherParams
  • Breaking down the parameters
  1. Vault Creation
  2. Deployment guide
  3. Vault Parameters

Symbiotic Parameters

PreviousEigenPod ParametersNextSingle Protocol Vaults

Last updated 7 days ago

This page outlines the parameters required to initialize a Symbiotic Byzantine Vault. These parameters enable the configuration of key Symbiotic modules: the , the , the , and the .

These parameters are specific to the Byzantine vaults that delegates their stake to operators and networks on Symbiotic.

SymParams

This data structure is the main container used to initialize a Sym Byz Vault. It aggregates the configuration for all Symbiotic modules: burner, vault, delegator, and slasher.

Parameter
Type
Description

BurnerParams

Configures where slashed funds are routed

VaultParams

Governs vault metadata, ownership, and epoch behavior

DelegatorParams

Handles delegation logic across networks and operators

SlasherParams

Configures the slashing and veto rules

BurnerParams

This data structure defines the settings of the contract tied to the vault. It configures where the slashed funds will be sent after a Symbiotic operator get slashed.

Parameter
Type

address

number

address

NetworkReceiver[]

OperatorNetworkReceiver[]

You can notice there are three different receivers in the router. Each of them have a different level of priority (1 being the highest) depending on the network and the slashed operator:

Breaking down the parameters

owner

Admin address of the BurnerRouter.

  • Can change the routes by modifying or setting new receivers

  • Must be a trusted address or set to address(0) to make the routes immutable

  • This address cannot be changed once set, so choose it wisely.


delay
  • When a new delay is set, it takes effect after delay seconds.

  • When a new route is set, it takes effect after delay seconds.


globalReceiver

Default receiver address of the slashed funds.


networkReceivers

Optional array parameter to define a specific route if a specific network is slashed.

  • Can be set as an empty array of NetworkReceiver[]

The NetworkReceiver data structure is made up of 2 addresses:

Parameter
Type

network

address

receiver

address

  • network: the address of the network where the slashing is triggered

  • receiver: the address where slashed funds will be routed if the network applies a slashing


operatorNetworkReceivers

Optional array parameter to define a specific route if a specific operator is slashed within a specific network.

  • Can be set as an empty array of OperatorNetworkReceiver[]

The OperatortNetworkReceiver data structure is made up of 3 addresses:

Parameter
Type

network

address

operator

address

receiver

address

  • network: the address of the network where the slashing is triggered

  • operator: the address of the operator that have been slashed

  • receiver: the address where slashed funds will be routed if the network applies a slashing to operator

VaultParams

Parameter
Type

number

number

Breaking down the parameters

version

Implementation version of the underlying Symbiotic vault that will be deployed.


epochDuration

Symbiotic vault's epoch duration (in seconds)

DelegatorParams

Parameter
Type

number

address

address

address[]

address[]

address

address

Before moving forward, it's important to understand the different delegator types available on Symbiotic in order to create the restaking strategy that best meets your needs.

Network Restake Delegator (Type 0)

  • Allocations to networks are set using absolute numbers.

  • Allocations to operators are expressed as shares of the network's total allocation.

  • Restaking is allowed across networks, but not across operators within a single network.

Full Restake Delegator (Type 1)

  • Allocations to both networks and operators are absolute numbers.

  • Restaking is allowed both across networks and across operators within each network.

Operator Specific Delegator (Type 2)

  • Stake is allocated to a single, fixed operator across one or more networks.

  • Restaking across networks is possible only if the operator has opted in to each network.

  • The operator is immutable once the vault is created.

Operator Network Specific Delegator (Type 3)

  • Stake is allocated to one specific operator on one specific network.

  • This is the most restrictive delegation mode: both operator and network are fixed and immutable.

  • No allocation changes are allowed after vault creation.

Breaking down the parameters

delegatorType

The type of Symbiotic Delegator to deploy:

  • 0 for NETWORK_RESTAKE_DELEGATOR

  • 1 for FULL_RESTAKE_DELEGATOR

  • 2 for OPERATOR_SPECIFIC_DELEGATOR

  • 3 for OPERATOR_NETWORK_SPECIFIC_DELEGATOR


hook

Optional hook contract to adjust delegations after a slashing event.

  • If set, called on each slash.


hookSetRoleHolder

Address allowed to set / change the hook contract.


networkLimitSetRoleHolders

Array of authorized addresses to manage network delegation limits.

  • networkLimit can be set only once networks have opted-in for the Vault (set a maxNetworkLimit higher than 0)


operatorNetworkLimitOrSharesSetRoleHolders

Array of authorized addresses to manage operator-network delegation.

  • For the operator-network stake to be accounted by the networks, operators must have opted-in for the networks and the vault.


operator

Address of the operator to delegate to.

  • Can be set to address(0) for the other type of delegators.

  • Cannot be changed after vault deployment.


network

Address of the delegated network.

  • Can be set to address(0) for the other type of delegators.

  • Cannot be changed after vault deployment.

SlasherParams

Parameter
Type

number

number

number

It exists so far two types of slasher on Symbiotic:

Instant Slasher (Type 0)

  • Common Slasher that receives slashing requests and instantly executes them

Veto Slasher (Type 1)

  • Only networks can set resolvers that can veto the slashing requests

  • If the Vault curator is not ready to provide a stake without the resolver, the curator may simply not allocate any stake to such networks.

Breaking down the parameters

slasherType

The type of Symbiotic Slasher to deploy:

  • 0 for INSTANT_SLASHER

  • 1 for VETO_SLASHER


vetoDuration

The slasher’s veto duration in seconds.

  • Can be set to zero to remove veto functionality


resolverSetEpochsDelay

The resolvers’ delay in epochs.

  • Can be set equal to a minimum of 3 epochs for users to be able to withdraw funds before the update.

More details can be found .

Can change the BurnerRouter's

Delay (in seconds) before new settings on the BurnerRouter take effect. It allows the stakers to withdraw their position if they disagree with the 's new configuration choice.

Funds are routed there only if no or are configured for the slashing event.

It is mainly the address of the token's .

Each network can have its own slashing policy and may choose not to burn the slashed funds, but instead .

Takes precedence over .

Each network can have its own slashing policy and may choose not to burn the slashed funds, but instead , for instance.

Takes precedence over .

This data structure defines the settings of the contract tied to the Byzantine Vault. It specifies ownership, implementation version, and epoch configuration for the Symbiotic vault.

Only the can migrate the Symbiotic Vault to newer versions

Defines the vault’s operational cycle. Learn more about epochDuration .

This data structure defines the settings of the contract tied to the Sym Byz Vault. It handles stake delegation logic across networks and operators.

The specific features of each Delegator type are explained in details in the . To sum it up, it exists 4 types of delegators:

Operator and network allocations can be changed at any time by the respective role holders ( and ).

Operator and network allocations can be modified at any time by the designated role holders ( and ).

Network allocations can still be updated by the vault’s curator ().

Examples of hooks can be found .

If not zero, the hook has to be appended to and so that the contract has the right to adjust the delegation strategy.

When the hook is changed, the new hook address has to be appended to and so that the new contract has the right to adjust the delegation strategy.

Used in , , and delegators.

Can be left empty for delegator (where vaults can only delegate to one unique network).

Used in (shares) and (limit) delegators.

Can be left empty for and (where vaults can only delegate to one unique operator).

Only used if the chosen delegator is or (where the address of the operator must be set during the vault creation).

This operator address has to be registered in the .

Only used in (where the address of the network must be set during the vault creation).

The network address has to be registered in the .

This data structure defines the settings of the contract tied to the Sym Byz Vault. It configures the slashing and veto rules (if enabled).

Allows to veto received slashing requests using

It is possible for the networks not to set a resolver, thus enabling an instant slashing mechanic similar to Instant Slasher.

All slashers have by default set to true to trigger the onSlash() function of the if slashing

Used only in slasher.

Defines a period after a slashing request creation for to veto the request

Used only in slasher.

This parameter defines a period that needs to pass after a network updates a for the resolver to be enabled for the network in the Slasher contract

🎛️
⚠️
BurnerRouter
Vault
Delegator
Slasher
BurnerRouter
operatorNetworkReceivers
networkReceivers
globalReceivers
here
delay
owner
networkReceiver
operatorNetworkReceiver
default Burner contract
use or redistribute them
globalReceiver
redistribute them to honest operators
networkReceivers
Symbiotic Vault
versionManagers
here
Symbiotic Delegator
Symbiotic Delegator section
networkLimitSetRoleHolders
operatorNetworkLimitOrSharesSetRoleHolders
networkLimitSetRoleHolders
operatorNetworkLimitOrSharesSetRoleHolders
networkLimitSetRoleHolders
here
⚠️
networkLimitSetRoleHolders
operatorNetworkLimitOrSharesSetRoleHolders
networkLimitSetRoleHolders
operatorNetworkLimitOrSharesSetRoleHolders
NETWORK_RESTAKE
FULL_RESTAKE
OPERATOR_SPECIFIC
OPERATOR_NETWORK_SPECIFIC
NETWORK_RESTAKE
FULL_RESTAKE
OPERATOR_SPECIFIC
OPERATOR_NETWORK_SPECIFIC
OPERATOR_SPECIFIC
OPERATOR_NETWORK_SPECIFIC
Symbiotic Operator Registry
OPERATOR_NETWORK_SPECIFIC
Symbiotic Network Registry
Symbiotic Slasher
resolvers
isBurnerHook
BurnerRouter
VETO
resolvers
VETO
burnerParams
vaultParams
delegatorParams
slasherParams
owner
delay
globalReceiver
networkReceivers
operatorNetworkReceivers
version
epochDuration
delegatorType
hook
hookSetRoleHolder
networkLimitSetRoleHolders
operatorNetworkLimitOrSharesSetRoleHolders
operator
network
slasherType
vetoDuration
resolverSetEpochsDelay
resolver