SuperVaults

Introduction

SuperVaults are Superform’s flagship earn product, designed to optimize fund allocation and maximize yield across multiple vaults listed on Superform. Built on Superform infrastructure and leveraging Yearn v3, SuperVaults enable the automated movement and optimization of funds between different vaults, ensuring users benefit from the best possible returns.

A SuperVault manages multiple Superforms (Superform positions linked to vaults) and incorporates mechanisms for rebalancing, whitelisting, and deposit limits, providing users with a streamlined and secure way to maximize their yield across DeFi.

Core Concepts

Building on top of Yearn v3, many core ERC-4626 functions are implemented directly in the tokenized vault strategy which you can learn more about here: https://docs.yearn.fi/developers/smart-contracts/V3/, including the core _deployFunds and _freeFunds functions. However, there are a few features that SuperVaults build upon to match logic to Superform's contracts:

Whitelisting Vaults

SuperVaults maintain a list of approved vaults to ensure only compatible vaults are used. Vault IDs must be whitelisted to participate in fund allocation or rebalancing operations.

Key functions performable by the SuperVaultManager role includes:

  • setWhitelist: Adds or removes vault IDs from the whitelist.

  • getWhitelist: Retrieves the current list of whitelisted vaults.

  • getIsWhitelisted: Checks if specific vault IDs are whitelisted.

Rebalancing

SuperVaults allow users to redistribute funds dynamically across vaults based on changing conditions or strategies. Rebalancing ensures optimal allocation of assets and aligns with the weights assigned to individual vaults.

Rebalancing is performed via the SuperVaultsStrategist role:

  • rebalance: Facilitates the redistribution of funds across selected vaults, using weights and slippage parameters. Struct is composed of the following:

    • superformIdsRebalanceFrom: Vault IDs to withdraw from.

    • amountsRebalanceFrom: Corresponding withdrawal amounts.

    • finalSuperformIds: Target vault IDs for redistribution.

    • weightsOfRedestribution: Redistribution weights.

    • slippage: Maximum allowable slippage for transactions.

Deposit Limits

Deposit limits control the total assets a SuperVault can hold, safeguarding against over-exposure and ensuring risk management.

Key functions performable by the SuperVaultManager role includes:

  • setDepositLimit: Updates the maximum deposit limit for the SuperVault.

  • availableDepositLimit: Calculates the remaining deposit capacity based on the current holdings.

Users may deposit/redeem at any time, with returns subject to profit calculations present in Yearn v3's codebase. No fees are currently charged in either Yearn's implementation or in SuperVaults.

At any time, users can see where the SuperVault is allocate in the Superform frontend or by calling getSuperVaultData() which returns the list of vault IDs and their corresponding weights.

Last updated