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
  • 1. Determine the type of Native Vault you want
  • 2. Construct the NativeByzVaultParams struct
  • 3. Configure EigenParams struct
  • 4. Prepare EigenPodParams struct
  • 5. Call the Factory
  1. Vault Creation
  2. Single Protocol Vaults
  3. EigenLayer Vault

Eigen Native Vault

TODO

Not live yet

This flow is for launching vaults that accept native ETH as collateral, including DV, Partner Validated, or Solo Staker Vaults.

1. Determine the type of Native Vault you want

Choose the type of Native Vault you want, based on how you want the staking validation to be handled. there are 3 types of vaults :

  • Solo Staker Vault

  • Partner Validated Vault

  • Distributed Validator Vault

Refer to Types of Native Vaults section for more details on the types of vaults.

2. Construct the NativeByzVaultParams struct

You must populate:

  • byzVaultParams: Same structure as for the Eigen ERC20 Vault creation.

  • operatorId: The value corresponds to the hashed identifier of the type of vault you have chosen in section 1:

    • hash("distributed.validator.vault") for DV Vaults

    • hash("company.name") for Partner Validated Vaults

    • bytes32(0) for Solo Staker Vaults

  • validatorManagers: Required only for Solo Staker Vaults. Addresses of validator managers. Cannot be changed after creation.

3. Configure EigenParams struct

4. Prepare EigenPodParams struct

Set the following:

  • eigenPodOwner: Controls pod checkpoints and withdrawal credentials

  • proofSubmitter: (optional) Can submit withdrawal proofs

5. Call the Factory

Call the following function from the Byzantine Factory with your parameters:

function createEigenByzVault(
    NativeByzVaultParams calldata _nativeByzVaultParams,
    EigenParams calldata _eigenParams,
    EigenPodParams calldata _eigenPodParams
) external returns (address eigenByzVault);

Once called, the factory:

  • Deploys a proxy contract for the native ETH-compatible vault

  • Initializes the vault with the provided configuration

  • Configures delegation and pod interaction with EigenLayer

✅ The function returns the new vault address. You can now deposit native ETH.

PreviousEigen ERC20 VaultNextSymbiotic Vault

Last updated 4 days ago

Refer to the full specification for detailed usage guidelines.

Same fields and logic as described in the section

Refer to the section for details on how to populate these fields.

🎛️
2. EigenPodParams
NativeByzVaultParams
3. Configure EigenParams struct