SuperVaults allow for leveraging assets without any additional capital.
For example, let's assume we are very bullish on an asset we are holding (e.g. WETH), and we want to enter into a 3x long position. After initializing a SuperVault, we could call leverage on our SuperVault to do this. The steps required to leverage our WETH, assuming we start with 1 WETH, would be to:
  1. 1.
    Take a flashloan of the additional amount of WETH we want to leverage. In this example, we want to leverage 3x, so we need to borrow 2 additional WETH to borrow from the flashloan.
  2. 2.
    Deposit the 3 total WETH (minus some flashloan fees) into a vault owned by the SuperVault contract
  3. 3.
    From this newly deposited WETH, mint PAR. The MIMO protocol enforces that we can mint a maximum of (Collateral Amount)/(Minimum Collateralization Ratio) worth of PAR. The Minimum Collateralization Ratio (MCR) for WETH is 1.3, so we can mint a maximum of (3)/(1.3), or about 2.3 WETH, worth of PAR.
  4. 4.
    Sell the newly minted PAR for WETH using an Aggregator (e.g. OneInch or Paraswap), and use the WETH to repay the flashloan + fees.
Note: Given a starting amount S, the total amount of an asset that we can leverage depends on the MCR of the asset defined in collateralConfig . Specifically, the additional amount we leverage must be less than S/(MCR - 1). This is derived in the Leverage Max Amount Derivation section.
If the price goes up after we leveraged, we can take advantage of the price increase through borrowing more PAR using or withdrawing more ETH. If we wish to cash out all of our leveraged ETH, we could use the emptyVault feature to:
  1. 1.
    Take a flashloan to borrow some ETH.
  2. 2.
    Swap the borrowed ETH to repay the outstanding debt in the leveraged vault.
  3. 3.
    Withdraw the leveraged ETH and repay the flashloan. If the price has increased, we will have more ETH than we initially started with after repaying the flashloan! See the emptyVault section for more details on how emptyVault is implemented.