Strategy for volatile pools
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.
Rebalancing happens like this:
If the spot tick deviates from the weighted average over the last timespanForAverageTick seconds, then the transaction is reverted. Otherwise, the current position of the spot tick relative to the interval boundaries is checked.
If the tick is not farther than the tickNeighborhood to any boundary of the interval, then a new position is minted, the center of which is equal to the nearest tick on the tickSpacing grid of the given pool, and the width of the interval remains the same.
For the exchange of tokens, 1inch AggregationRouterV5 is used, the data for which is received by the bot off-chain and transferred to the rebalance function. After the swap, the received number of tokens is compared with the expected one. The swap price should not deviate by more than swapSlippageD, and the number of swapped tokens should not deviate more than by swappingAmountsCoefficientD.
Value in strategy
address of 1inch AggregationRouterV5
address of buffer vault of the root vault system
address of vault that holds Uniswap V3 position
arrays of strategy tokens
Value in strategy
Additional coefficient for expected price impact of swap of tokens
Width of UniswapV3 position
Minimal required difference between tick and current position border to call rebalance
If the spot tick in UniswapV3Pool deviates from the average tick by a larger value, then rebalance reverts with LIMIT_OVERFLOW error
The time interval in seconds used to determine the average tick values and prices in UniswapV3Pool
Required number of tokens (wstETH in weis) that must be on the balance of the strategy to make a mint of a new Uniswap V3 position during the rebalance
Required number of tokens (USDC in weis) that must be on the balance of the strategy to make a mint of a new Uniswap V3 position during the rebalance
Permissible slippage level during swap
Permissible level of difference between the amount of expected tokens for swap and the exchanged ones during swap
Thresholds that cut off swap of an insignificant amount of tokens (in weis)