Manage a SuperVault

While SuperVault deployment is permissionless, only SuperVaults whose managers perform KYC and stake $UP in the Aggregator contract will be displayed on the Superform UI as valid vaults.

Once a manager becomes a validated curator, they gain full access to the tooling on the https://managers.superform.xyz/ site.

Creating and setting up a vault

Vaults can be created in SuperVaultAggregator by calling createVault using the following parameters.

function createVault(VaultCreationParams calldata params) external 
    returns (address superVault, address strategy, address escrow) {}

struct VaultCreationParams {
    address asset; // Address of the underlying asset
    string name; // Name of the vault token
    string symbol; // Symbol of the vault token
    address mainStrategist; // Address of the vault mainStrategist
    uint256 minUpdateInterval; // Minimum time interval between PPS updates
    uint256 maxStaleness; // Maximum time allowed between PPS updates before staleness
    FeeConfig feeConfig;
}

struct FeeConfig {
    uint256 managementFeeBps; // Management fee in basis points
    uint256 performanceFeeBps; // Performance fee in basis points
    address recipient; // Fee recipient address
}

Primary Managers

The primary manager has full control over strategy operations, including the list below as well as the functionality granted to secondary managers.

• Create vaults • Update secondary managers • Pause and unpause strategies • Update PPS expiration thresholds • Add and remove authorized callers • Add hooks to the strategy hooks root • Update vault performance and management fees

Control of Primary Managers

If a primary manager is found to be malicious, they can be replaced by either the secondary managers or SUPER_GOVERNOR through the following functions of SuperVaultAggregator.

Secondary Managers

The primary manager can add multiple secondary managers as backup accounts who have partial control over strategy operations.

• Skim performance fees • Whitelist yield sources • Update primary manager • Call executeHooks() to interact with underlying yield sources • Call executeHooks() to perform emergency withdrawals • Fulfill redeem requests • Fulfill cancel redeem requests

The list of secondary managers for a given strategy can be maintained as follows.

Upkeep Mechanism

Managers must deposit upkeep tokens to ensure that validators are compensated for the cost of updating onchain PPS for their vaults, this is done in SuperVaultAggregator. Upkeep token is configurable per chain ($UP on mainnet, WETH on L2s etc.)

Upkeep withdrawals are two-step and have a 24 hour timelock.

Strategy Management

Once vaults are created, managers automatically benefit from the list of hooks that are in the global hooks root. However, if more functionality is to be added, primary managers can propose a new strategy hooks root.

Once the hooks required to perform a given yield strategy are available in the hooks root, the managers can now run them through executeHooks()

The managers dashboard supports hook execution simulations, it is advised to run these before actual execution.

Strategy Pausing

Both primary and secondary managers can manually pause strategies in the event of an emergency.

Fee Mechanism

Fee Configuration

Managers can alter fee parameters through the following functions.

Fee Skimming

Performance fees on realized profit are obtained by periodically calling skimPerformanceFee()

The ideal frequency at which to skim fees depends on the TVL and PPS of a vault, but generally 24 hours is optimal. More precise simulations can be found on the managers dashboard and here.

User redemptions

User redemption and cancel redemption requests must be fulfilled manually by any authorized manager. It is advised to do so through the managers dashboard where there is tooling to aid controller sorting and totalAssetsOut calculations.

Last updated