Cross Protocol Vault
SuperERC20Vault Curator Guide
This guide explains the curator-specific functionality of the SuperERC20Vault, which is a vault that splits deposits between Symbiotic and EigenLayer protocols. For information about curating the underlying vaults (Symbiotic and EigenLayer), please refer to their respective documentation sections.
SuperERC20Vault: Asset Flow and Operational Architecture

Curator Roles
The SuperERC20Vault has two main curator roles:
CURATOR_ROLE
: Allows managing the vault's asset distribution and rebalancingCURATOR_FEE_CLAIMER_ROLE
: Allows claiming curator fees from both underlying vaults
Key Functions
Rebalancing Assets
The curator can adjust the distribution ratio between Symbiotic and EigenLayer vaults through a two-step rebalancing process:
Initiate Rebalancing
function rebalance(uint256 _newSymRatio) external
_newSymRatio
: New target percentage (0-10000) to allocate to Symbiotic vaultOnly callable by addresses with
CURATOR_ROLE
Initiates withdrawals from both underlying vaults
Puts the vault in rebalancing mode
During rebalancing:
New deposits are accepted but held in the SuperVault
Withdrawals are tracked but not processed from underlying vaults
Assets will be distributed according to new ratio once rebalancing completes
Complete Rebalancing
function completeRebalancing() external
Only callable by addresses with
CURATOR_ROLE
Can only be called when rebalancing is in progress
Completes the rebalancing process by:
Completing withdrawals from both underlying vaults
Depositing assets into vaults according to new ratio
Reserving assets for pending withdrawals
Exiting rebalancing mode
Claiming Curator Fees
function claimCuratorFee(IERC20 token, address recipient) external
Only callable by addresses with
CURATOR_FEE_CLAIMER_ROLE
Claims curator fees from both underlying vaults:
Symbiotic vault fees
EigenLayer vault fees
token
: The token to claim fees forrecipient
: Address to receive the claimed fees
View Functions
function getDistributionRatio() external view returns (uint256 symRatio, uint256 eigenRatio)
Returns current distribution ratio between Symbiotic and EigenLayer vaults
Values are in basis points (0-10000)
function rebalancingStatus() external view returns (bool isRebalancing, uint256 targetSymRatio)
Returns current rebalancing status
isRebalancing
: Whether vault is currently rebalancingtargetSymRatio
: Target Symbiotic ratio after rebalancing (0 if not rebalancing)
Important Notes
The SuperVault manages the underlying vaults as private vaults, meaning only the SuperVault can deposit into them.
During rebalancing:
New deposits are accepted but temporarily held
Withdrawals are tracked but fulfilled after rebalancing completes
Assets for pending withdrawals are reserved before reinvesting
The curator fee structure is inherited from the underlying vaults, but the SuperVault acts as the fee claimer for both.
For information about curating the underlying Symbiotic and EigenLayer vaults, please refer to their respective documentation sections.
Last updated