Symbiotic Parameters
Last updated
Last updated
This page outlines the parameters required to initialize a Sym Byz Vault, which integrates with Symbiotic infrastructure. These parameters enable configuration of key Symbiotic modules: the BurnerRouter, Vault logic, Delegator mechanics, and Slasher behavior.
These structs are initialization parameters required when deploying a Byzantine Vault with Symbiotic support—SymParams
being the top-level struct that groups all module configurations.
There is 1 main struct with 4 underlying:
SymParams
— Main struct passed to the vault initialization function.
BurnerParams
— Configures how 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.
This struct is the main container used to initialize a Sym Byz Vault. It aggregates the configuration for all Symbiotic modules: burner, vault, delegator, and slasher.
Defines how slashed funds are routed across different receivers based on priority (operator-network > network > global).
Admin of the BurnerRouter.
Can modify receivers and delay.
Must be a trusted address or set to address(0)
to make the configuration immutable.
Delay (in seconds) before new settings take effect.
Allows stakers to exit before changes if they disagree.
Default receiver of slashed funds.
Used only if no network-specific or operator-specific routes are configured.
Receiver routes for specific networks.
Takes precedence over globalReceiver
.
Highest priority routing: used when a specific operator-network pair is slashed.
Overrides all other routes.
Specifies ownership, implementation version, and epoch configuration for the deployed vault.
Implementation version to deploy.
Controls the specific version of the vault logic.
Epoch duration in seconds.
Defines the vault’s operational cycle.
Configures delegation logic and permissions for distributing stake across networks and operators.
Type of Delegator to deploy, among the DelagatorType enum.
Determines restaking logic structure.
NETWORK_RESTAKE
(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.
Operator and network allocations can be changed at any time by the respective role holders.
FULL_RESTAKE
(Type 1)Allocations to both networks and operators are absolute values.
Restaking is allowed both across networks and across operators within each network.
Operator and network allocations can be modified at any time by the designated role holders.
OPERATOR_SPECIFIC
(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.
Network allocations can still be updated by the vault’s curator.
OPERATOR_NETWORK_SPECIFIC
(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.
Optional slashing hook contract.
Called on each slash.
Must be added to the proper role holder arrays if set.
Address allowed to update the hook.
Also responsible for maintaining associated role permissions.
Authorized addresses to manage network delegation limits.
Used in NETWORK_RESTAKE, FULL_RESTAKE, and OPERATOR_SPECIFIC.
Can be left empty for OPERATOR_NETWORK_SPECIFIC.
Authorized addresses to manage operator-network delegation.
Used for NETWORK_RESTAKE and FULL_RESTAKE.
Optional for simpler delegator types.
Address of the delegated operator.
Used in OPERATOR_SPECIFIC and OPERATOR_NETWORK_SPECIFIC only.
Immutable once set.
Address of the delegated network.
Used only in OPERATOR_NETWORK_SPECIFIC.
Immutable once set.
Defines slashing behavior, including whether veto mechanisms are enabled and the timing of resolver updates.
Type of slashing mechanism.
Must match one of the SlasherType
enum values: INSTANT or VETO.
Time window (in seconds) to veto slash requests.
Used only if slasherType
is VETO.
Immutable once set.
Epoch delay for resolver changes to take effect.
Applies only to VETO slashing.
Immutable after setup.