Glossary
Last updated
Last updated
Vaults are smart contracts that put liquidity into different underlying protocols. The underlying protocol could be some well-known DeFi protocol like Uniswap, Sushiswap, Yearn, Compound, etc., or just a plain ERC20 token vault.
The tokens managed by Vault are fixed and immutable, i.e. Vault cannot start managing additional tokens or stop managing existing tokens. Each Vault can only put liquidity into one fixed underlying protocol.
Examples of the Vaults are:
Vault that puts ETH and USDC into Uniswap V3;
Vault that puts WBTC, DAI and USDT into Aave;
Vault that puts ETH into Yearn.
See for details.
Vault system is a set of Vaults ready for accepting deposits and be managed by a . It has an that combines several Vaults as subvaults. The subvaults are immutable and cannot be modified.
The deposit process looks like this:
Each Vault assesses its own minimum and maximum TVLs (sometimes using oracles).
The TVL for deposit is the sum of all maximum TVLs
Then deposited tokens are aligned in the same proportion as that of the deposit TVL (the leftovers are not used in the deposit)
The proportion of the deposited tokens to the depositTVL is calculated and LP tokens minted.
Deposited tokens are transferred to 0 subvault (which is required to be ERC20 vault)
The withdrawal process looks like this:
Each Vault assesses its own minimum and maximum TVLs (sometimes using oracles).
The TVL for withdrawal is the sum of all minimum TVLs.
The required withdrawal amounts are calculated based on LP tokens for withdrawal and withdrawal TVL.
The withdrawal request is fulfilled and all leftovers are put back into the ERC20Root vault.
Aave Vault kind – manages deposits and withdrawals to Aave;
Yearn Vault kind – manages deposits and withdrawals to Yearn;
UniV3 Vault kind – manages deposits and withdrawals to Uniswap V3;
UniV2 Vault kind – manages deposits and withdrawals to Uniswap V2;
ERC20 Vault kind – manages deposits and withdrawals of simple ERC20 tokens;
ERC20Root Vault kind – manages deposits and withdrawals to other multiple Vault kinds.
Put ERC20 tokens (like wETH, USDC, ...) into the vault and receive newly minted ERC20 LP tokens back
Put LP ERC20 tokens (burn it) and receive ERC20 tokens (like wETH, USDC, ...) back
More often than not, Strategy would be a smart contract. However, manually managed strategies are also possible.
Then withdraws ERC20 tokens to itself from each subvault until it can fulfill the withdrawal request.
A Vault group is a set of contracts that manage of a specific . It is used to create a new or manage params.
Vault kind is an underlying DeFi protocol for a . Currently, the following Vault kinds are implemented:
ERC20Root Vault combines other into one . Additionally, it allows:
See for details.
Strategy is an entity that actively manages the liquidity in the . It's usually a set of smart contracts that conducts liquidity management according to parameters predetermined by the . Managing means that it can withdraw liquidity and put it into another of the .
aims to earn profits for Vault liquidity.
Strategist is an entity that deploys and maintains the .
Liquidity Provider is a user who would put liquidity into a with the purpose of earning potential profits generated by a .
Governance is a Mellow Protocol DAO multi-signature wallet that can alter parameters common for all .