Vault configuration step-by-step

Below best practices and vault setup algorithm is a guide you can use to configure your own Fusion Vault. All settings described below can be accomplished by using https://app.ipor.io/build-on-fusionarrow-up-right web application.

There is also a Quick Start Guide and a Video Documentationarrow-up-right available.

Access Management

See here.

Strategy

Strategy Configuration: Defining the vault’s strategy is the primary responsibility of Atomists and Fuse Managers. The following instructions provide a step-by-step guide to configuring the most critical aspects of the strategy settings.

Setting Up Fuses: Configuring fuses is the most critical process in defining the vault’s strategy and must be executed carefully. A list of available fuses for supported blockchains is available in the whitelist contract or the IPOR Labs repository (https://github.com/IPOR-Labs/ipor-fusion)arrow-up-right. Below is a step-by-step guide to configuring the key aspects of fuse settings.

1. Balance Fuses

Fuses are paired as "Balance Fuses" and "Functional Fuses." Balance Fuses track the vault’s asset balances after transactions, while Functional Fuses perform actions. Each fuse is identified by a unique marketId, assigned during deployment. All Functional Fuses must be paired with a Balance Fuse. If a Balance Fuse reads no balance, use the ZeroBalanceFuse (https://github.com/IPOR-Labs/ipor-fusion/blob/main/contracts/fuses/ZeroBalanceFuse.sol)arrow-up-right.

  • ERC20 Balance Fuse: Tracks ERC20 token balances held directly by the vault. Include this fuse in most vaults to monitor ERC20 assets.

  • Standard Balance Fuses: Market-specific fuses, including:

    • ERC4626 Balance Fuses: Configurable in two ways:

      • Separate ERC4626 per Market: Tracks each market’s balance individually for easier monitoring.

      • Single ERC4626 for All Markets: Simplifies integration and reduces gas costs but tracks balances as a single sum. Best Practices:

  • Always pair Functional Fuses with a corresponding Balance Fuse or ZeroBalanceFuse.

  • Use separate ERC4626 fuses for complex strategies requiring granular balance tracking.

2. Functional Fuses

Each market integration requires at least one Balance Fuse and typically one or more Functional Fuses. Some markets support multiple Functional Fuses for additional functionality (e.g., Morpho supports Deposit, Borrow, and Flash Loan fuses, plus an ERC4626 fuse for MetaMorpho deposits). Non-standard fuses include:

  • Universal Swapper Fuse: A flexible interface for complex transactions (e.g., aggregators, staking, DEX interactions). It validates:

    • Whitelisted assets (only substrate-defined assets).

    • Whitelisted markets (e.g., DEXes, aggregator proxy contracts, staking contracts).

    • Beneficiaries (default: the vault).

    • Allowed method signatures.

  • ERC4626 Fuse: Enables deposits to any ERC4626 vault, including IPOR vaults.

  • Custom Fuses: Built for unique scenarios (e.g., airdrops). Non-whitelisted custom fuses trigger alerts in the IPOR Fusion interface.

  • Rewards Fuses: Used by the rewards manager to harvest token incentives. Best Practices:

  • Whitelist all assets and markets for Universal Swapper transactions to ensure safety.

  • Add custom fuses to the whitelist to avoid user alerts.

3. Fuse Configuration

  • Substrates: Configure substrates (e.g., asset or market addresses) based on fuse requirements. Consult individual fuse documentation if managing substrates manually (outside the IPOR Fusion interface). Common substrates include asset addresses (e.g., for DEXes, Universal Swapper) or market addresses (e.g., for Morpho, ERC4626).

  • Price Feeds: All Balance Fuses, except ZeroBalanceFuse, rely on the Price Oracle and its feeds. Ensure matching price feeds are configured (see "Price Oracle" section below). Price feeds can be set via the IPOR Fusion interface.

  • Dependency Graph: Fusion caches asset balances for gas efficiency, updated when Alpha adjusts allocations or balances are manually refreshed. For some markets (e.g., DEXes), update related balances (e.g., ERC20 after a swap). Configure the dependency graph by selecting a market and defining additional balances to update. Best Practices:

  • Verify substrate compatibility with each fuse to avoid misconfiguration.

  • Configure the dependency graph for markets requiring multi-balance updates (e.g., DEX swaps).

4. Pre-Hooks

Refer to the dedicated pre-hooks documentation for configuration details. see a dedicated page on pre-hooks

5. Scheduled Withdrawals

Fusion vaults support two withdrawal types: Scheduled and Instant (both can be used in the same time). To disable scheduled withdrawals, set the withdrawal window to 0. Otherwise, define the withdrawal window (in seconds) before requests expire. Alpha should prepare assets well before expiration to allow LPs time to claim. Best Practices:

  • Set a withdrawal window that balances LP convenience and vault stability.

  • Ensure Alpha prepares assets early to avoid expiration issues.

6. Instant Withdrawal Order

Unallocated assets and specific fuses configured for instant withdrawals are available immediately. Define the order of markets for instant withdrawals via the IPOR Fusion interface. Important: Avoid including markets where withdrawals could cause liquidations (e.g., if assets are used as collateral for borrowing). Best Practices:

  • Exclude collateralized markets from instant withdrawals to prevent liquidations.

  • Use timelocks for changes to instant withdrawal configurations.

7. Fees

There are two types of fees:

  • Management fee

  • Performance fee

See also here.

The fees can also be split and sent to several different addresses.

By default, each vault charges a fixed management fee (0.3% annually) and performance fee (2% on profits) that goes to the Fusion DAO.

Atomists can define additional fees by specifying addresses and rates, ensuring total fees do not exceed 5% (management) or 50% (performance). Fees are displayed in the vault overview for LPs. Best Practices:

  • Use a multisig wallet for fee management to enhance security.

  • Clearly communicate fee structures to LPs to maintain transparency.

8. Price Oracle

Vaults include a standard Price Oracle middleware provided by Fusion, with verified price feeds from reputable sources (e.g., Chainlink). Additional price feeds or custom middleware can be added as needed. Best Practices:

  • Ensure price feeds match the assets and markets used by Balance Fuses.

  • Use verified price feeds to maintain reliability and security.

Last updated