Uni v3 rETH-ETH Incentives - Gamma Strategies Proposal

Intro

This forum post aims to provide a solution for incentivizing concentrated liquidity for rETH-ETH liquidity on Uniswap v3 as indicated in this forum post here: IMC 2022/9/1-2022/9/29 budget.

Gamma Strategies is an active liquidity manager on Uniswap v3 that creates automated rebalancing strategies on behalf of LPs.

Gamma’s solution need not be the sole solution, but can be combined with other solutions such as the one proposed by xToken here. In fact having multiple managers of liquidity incentivizing the same Uniswap v3 pair can reduce 3rd party risk without segregating the liquidity.

Problem Statement:

  • Uniswap v3 LP tokens are non-fungible ERC-721 tokens, which make them more difficult to incentivize

  • The rETH/ETH pair is not 1:1 pegged, and the drifting peg requires active management

  • Price impact is currently 2.61% for a 10,000 ETH swap on 1inch. The desirable price impact would be 1% or less.

Benefits to using Gamma

  • Active management of the drifting peg of rETH against ETH around +/- 1.5% range (or 2%) around the current NAV price resulting in lower price impact (See appendix for the price impact calculations)

  • Creation of ERC-20 wrapper

    • LP token can be staked for RPL incentives via MasterChef staking contract
    • LP token can also be collateralized on lending platforms like QiDao and MakerDao.

Collateralizing LP positions can result in greater liquidity in the pair due to LPs recursively borrowing and providing liquidity

Why rETH-ETH as the pair?

  • Based on my observation of the discord conversations regarding liquidity incentives, it seems like most of the community would like ETH as the other side vs. wstETH due to having reduced counterparty risk

  • The 0.05% rETH-ETH pair on Uniswap Mainnet currently has the most existing liquidity that can be leveraged

Range Management

We have dealt with drifting pegs before, most notably with with managing Ribbon Finance’s rETH-THETA / ETH liquidity on Uniswap v3

How it works:

  • We center the liquidity range around the current NAV of rETH:ETH, not around current pool price.

    • Concentrating liquidity around the exchange value makes the peg stickier
    • It also allows for arbitrageurs to more easily arb the price back to peg as the liquidity would be thinner outside of the range
  • The exchange rate will be pulled directly from the contract here: https://etherscan.io/token/0xae78736cd615f374d3085123a210448e74fc6393#readContract

  • The range will be managed with a band of +/- 1.5% around the NAV of rETH in terms of ETH.

  • As the NAV price drifts upwards, the allocation of ETH in the pool will increase. For every 0.26% increase in the NAV price of rETH/ETH, a rebalance will automatically be triggered shifting the ranges to +/- 1.5% around the new NAV price.

    • This will help keep the allocation of assets to approximately a 50/50 ratio with +/-5% variances
    • Based on the current staking rate, this would produce a rebalance every 15 - 18 days

Gamma Specs

  • Liquidity providers who provide to our contracts are in full custody of their liquidity, and deposits/withdrawals are permissionless

  • No upfront fees. 10% of the swap fees are taken upon each rebalance to pay for rebalances & operational costs.

Security

Incentive Program:

  • [200] RPL over a [4]-week period → numbers in brackets subject to discussion
  • 200 RPL represents half of incentives allocated for the concentrated liquidity trial

Appendix:

  • This illustrates the capital efficiency and price impact of managing liquidity on Uniswap v3

  • With approximately $24M in liquidity concentrated in a +/- 1.5% range, we get around 0.08% price impact on a 1,000 ETH trade

  • Feel free to create a copy of the sheet and test different liquidity amounts, ranges, and swap sizes as indicated by the cells in red.

  • This article gives additional background on our infrastrastructure, strategies, and contracts
1 Like

Hi forum-goers: I wanted to post here that the IMC is talking with Gamma and we’re also looking for community feedback in this discord thread: https://discord.com/channels/405159462932971535/1029268817311977492.