Liquidity management on Uniswap V3 for wstETH-WETH and wstETH-USDC pools
Mellow Protocol is a platform for building automatic trustless DeFi strategies. The system is permissionless and open for builders to implement their own strategies.
The protocol beta was launched mid November ‘22. The platform is audited by Chainsecurity and BlockSec. At the moment, Mellow has 4 major families of strategies in production working with different assets:
- Pulse – protocol liquidity management on DEXes with LM rewards compounding (the strategy is in production for zkBob Protocol to manage volatile pairs with BOB token)
- Boosted – generates additional yield on top of UniV3 maintained positions by deploying part of the capital to Yearn or AAVE V3
- Fearless Gearbox – leveraged farming on Convex with liquidation protection
- Voltz LP optimizer – Voltz tooling to simplify LPing for users of the protocol (entirely built by Voltz Protocol on top of Mellow)
We propose to launch two strategies for liquidity management on Uniswap V3 for wstETH-WETH and wstETH-USDC pools.
Detailed descriptions of the strategies can be found in the docs.
The strategy is designed for the wstETH-WETH pool, utilizing the corresponding Uniswap V3 pool with a 0.05% fee. The strategy maintains two positions within the pool, actively updating and rebalancing the liquidity between them based on the current market price.
The strategy utilizes Cowswap integration to get improved results for rebalancing swaps.
The strategy operates with three vaults, one ERC20 vault, and two UniV3 vaults. Each of those UniV3 vaults holds a Uniswap V3 position on the WSTETH/WETH pair.
One portion of capital (initially set to 5%) is supposed to be stored inside the ERC20 vault, whereas the remaining part is supposed to be distributed between UniV3 vaults based on formulas presented in the strategy documentation). The positions are maintained so the current tick would be inside both positions, so the strategy normally earns fees from both of them.
When the price deviates significantly and the current distribution of capital becomes irrelevant for the pool tick, the rebalance is performed as described in the docs. The strategy uses UniV3 pool price estimations from the Mellow Oracle, which utilizes the Chainlink STETH/ETH oracle for determining the current tick price (the strategy doesn’t use spot price to avoid possible manipulations).
Mellow Pulse strategy will maintain a position for the wstETH-USDC Uniswap V3 pool with a 0.3% fee. This strategy utilizes an interval with a width of 4200 ticks. When the price of the wstETH-USDC pair approaches the current interval margin, the strategy automatically rebalances the liquidity to a new interval by swapping funds and providing liquidity to a new interval. If there is no need to rebalance, the strategy collects and compounds the fees into the current position. The strategy utilizes integration with 1inch, which leads to reduced swap fees for rebalances.
The strategy works with two vaults – ERC20Vault and UniV3Vault.
All capital of the strategy is held in the Uniswap position. Calculations for the strategy are made using the spot tick of the corresponding pool. When rebalancing, the deviation of the pool spot tick from the average tick for the last timespanForAverageTick (60 seconds) is checked. If the deviation is more than maxDeviationForVaultPool (50 ticks), then the rebalance will not be executed. When the spot tick of the pool approaches the border of the Uniswap position on tickNeighborhood (500 ticks), a new position of the same width is minted, with the center in the current tick.
There are several potential risks for these strategies:
This is the risk of hacking the vaults and strategies contracts. The Vaults system was audited by Chainsecurity and BlockSec. Also, the Vault system is used as a base layer of security as it’s designed to restrict and prevent potentially harmful actions of the strategies.
The initial version of Tamper strategy was audited by Chainsecurity (prev. L-strategy), however, the contracts had several improvements after the audit.
Pulse strategy went through the internal audit and is already used in production to manage the liquidity of zkBob protocol.
The audits are published in Mellow GitHub.
Price risk and IL
The strategy contains two underlying risks: price risk and impermanent loss risk. These risks stem from the fluctuations in the prices of wrapped staked ETH and wrapped ETH. The price risk, which is considered the first-order effect or “delta,” is relatively limited due to the stable nature of the price. On the other hand, the impermanent loss risk is considered the second-order effect or “gamma” and is more substantial as the strategy’s liquidity is heavily concentrated in Uniswap v3.
These are rebalancing strategies, so every rebalance realizes some of the incurred IL from the volume of rebalance.
For Tamper strategy we analyzed the data for the period from 15 Jul 2022 to 1 Oct 2022 and according to the backtest, the annual IL can be around 5%. Nevertheless, the IL depends on current market conditions.
For incentives distribution we utilize Synthetix smart contracts that were audited and broadly utilized by other products.
The deployed smart contracts source code for incentives can be found in Mellow GitHub.