What yield are you seeking?

Skate (previously Range Protocol)
9 min readMay 17, 2023

--

The term APY became famous with the rise of decentralized finance in the summer of 2020 when many platforms offered high APYs to attract users and liquidity providers. However, it is not always a reliable indicator of the actual returns that an investor can expect, especially in the volatile and complex crypto market. One of the factors that can affect the real yield is impermanent loss, which occurs when the price of the assets in a liquidity pool changes relative to each other. Impermanent loss reduces the value of the liquidity provider’s share of the pool, and it can sometimes outweigh the rewards from fees or incentives.

With Uniswap v2 and similar AMMs with xy=k , there were mainly 3 factors in play —

  1. Trading Fees Earned
  2. Liquidity Mining Incentives
  3. Impermanent Loss

LPs need to quantify the potential gains from fees and incentives with the potential losses from impermanent loss.

But with the launch of Uniswap v3, the calculation of real return got even further complicated. Uniswap v3 introduces the concept of concentrated liquidity, which means that liquidity providers can choose a specific price range for their assets, instead of providing liquidity across the entire curve. This can increase their capital efficiency and potential returns, but it also introduces new challenges and trade-offs, such as amplified impermanent loss risk, more active management required, and more exposure to price movements.

Compared to the 3 factors mentioned above regarding LP’s yield in Uniswap v2, LPs in Uniswap v3 have to be even more careful because -

  1. The narrower the Liquidity provider sets liquidity for their position, the more fees they can earn but impermanent loss also amplifies.
  2. The narrower the position range is, the higher the frequency and cost of rebalancing for any active liquidity deployment strategy.
  3. In situations of volatile market swings, liquidity in the pool could be thin around the current price leading to higher slippage for rebalancing.

In this article, we want to focus on one subset of the current defi liquidity infrastructure and provide awareness to the liquidity providers on the yield they are seeking and the associated risks.

Before we move forward, it is important to illustrate how impermanent loss gets amplified in Uniswap v3 and similar concentrated liquidity AMMs compared to Uniswap v2 like xy=k curve AMMs.

Uniswap v2

Suppose you add 1 ETH and 1800 USDC to Uniswap v2 when the price of ETH is 1800 USDC. The pool requires the assets to be of equal value, so your initial deposit is worth 3600 USDC.

Now suppose the price of ETH goes up to 2000 USDC. This means that there will be more demand for ETH and more supply of USDC in the pool, as traders swap USDC for ETH. The pool will automatically adjust the ratio of the assets to maintain a constant product (x * y = k).

As an estimate, consider that now your portfolio is 0.9 ETH and 1900 USDC
If you decide to withdraw your liquidity at this point, the value of your withdrawal is (0.9 * 2000 + 1900 = 3700 USDC).

However, if you had just held your assets instead of providing liquidity, you would have 1 ETH and 1800 USDC, which is worth (1*2000 + 1800 = 3800 USDC)

So if the liquidity mining incentives during this period are worth less than 100 USDC, you are net losing money compared to holding on spot, no matter how lucrative the APY number appears on the Farming page frontend.

Uniswap v3

Uniswap v3 amplifies this risk by putting impermanent loss on steroids. How strong the steroids are depends on how narrow the liquidity position is. For an Uniswap v3 LP, consider he/she provides the same liquidity, i.e. 1 ETH 1800 USDC for ETH-USDC pool in price range 1790–1810 when ETH price was 1800. The initial deposit is worth 3600 USDC.

Now suppose the price of ETH goes up to 2000 USDC. This means that at 1810, the whole position is converted to 100% USDC. Estimating for trading fees earned during this period, say the 1 ETH was converted to around 1820 USDC. So the current position is worth (1820 USDC + 1800 USDC = 3620 USDC)

However, if you had just held your assets instead of providing liquidity, you would have 1 ETH and 1800 USDC, which is worth (1*2000 + 1800 = 3800 USDC)

The numbers above are again random and exact numbers will depend on trading fees accrued but this will give a perspective on the higher risk for LPs

Active Liquidity Management Products

The faster change in asset composition of your liquidity position makes it difficult for passive LPs to be able to quantify their return and actively rebalance the position themselves. This gave rise to active liquidity management platforms that help LPs optimize their returns. Some of the current big players in this space are Arrakis Finance, Gamma etc.

Both Arrakis and Gamma provide a fungible wrapper on top of Uniswap v3 LP position enabling the similar liquidity mining incentive models that used to work with Uniswap v2 like AMMs.

We will do a brief overview of the approach these two platforms have taken with their strategies and then elucidate our vision with Range Protocol and what we are trying to build with our active liquidity management product.

For a similar frame of reference, we will consider the most liquid ETH USDC vault’s performance for the two protocols -

  1. Arrakis’s ETH USDC 5 bps Uniswap Pool Vault on Optimism (1.04 million TVL)
  2. Gamma’s ETH USDC Dynamic Fee Narrow Quickswap Pool Vault on Polygon (5.26 million TVL)

For our analysis, we have looked into a volatile price window for ETH-USDC pair. The time window is taken to cover the first two weeks of April

Both these protocol show APY on their frontend by extrapolating trading fees earned over a certain period to an annualized number. We feel that this doesn’t depict the real return that LPs are making. For our analysis, we will use the similar approach to Uniswap v2 by comparing against if you were just holding the assets on spot instead of providing liquidity.

Arrakis Finance

Arrakis Finance uses a conservative approach for their strategies by providing liquidity in a wide range and being relatively passive when it comes to rebalancing positions. For the Arrakis’s ETH USDC 5 bps Uniswap Pool Vault on Optimism, the liquidity is currently provided over a price range of [ 1 ETH = 999.3022 USDC , 1 ETH = 3001.904 USDC ]

Because their position is relatively conservative, the performance and the way position’s asset composition is quite similar to interacting with an Uniswap v2 pool.

Arrakis ETH/USDC 5 bps Uniswap Pool Vault on Optimism

Compared to holding the assets on spot, the vault’s performance was around -1.18% for this time period.

Plot 1 : Price and Liquidity Range , Plot 2 : % of USDC in the position , Plot 3,4 : Return

Gamma

Gamma has two strategies active, one passive which provides liquidity in a wide range and one aggressive, which provides liquidity in a narrow range. The Wide strategy follows a similar liquidity range and performance to Arrakis’s vault (price range around [0.5x , 2x] if x is current ETH price)

We will focus on the narrow strategy. Gamma does not hedge back the exposure by swapping on the pool even for the narrow strategy but actively keeps moving the liquidity with triggers for rebalancing set pretty close to the centre of the their liquidity range.

Because of being in narrow range, the rate of change of position’s composition is high. For the initial hold composition, we take the genesis of the vault in January where composition was around 50% ETH — 50% USDC by notional value.

For the volatile time window we are looking at, the vault ratio got skewed significantly towards holding a higher percentage of USDC and due to that, any price increment in ETH would further amplify the impermanent loss for LP compared to holding on spot.

Gamma ETH USDC Quickswap Vault on Polygon

For the same time window, the Gamma vault’s performance was -9.58%

Plot 1 : Price and Liquidity Range , Plot 2 : % of USDC in the position , Plot 3,4 : Return

Our Vision

Over the past one year, a lot of discussions have taken place about the significant risk of impermanent loss for Uniswap v3 LPs but there is still a lot of confusion among passive LPs about the real return they are making.

At Range Protocol, we have worked closely with Private Market Makers and Trading Partners to look into how we can tilt the scale a little in the favor of Liquidity Providers.

For our v1 strategies with Tokka Labs, we are focusing on these key optimizations —

  1. Using volatility prediction models to stay passive during trending periods

The Liquidity Providers in Uniswap v3 lose the most money during volatile price swings in trending markets. Other active liquidity management vaults always keep the liquidity active in the Uniswap v3 pool. We have done extensive research on how we can optimize LP’s return by being passive in trending markets.
https://www.rangeprotocol.com/files/active-liquidity-management.pdf

2. Maintaining Base Asset Exposure for the vault

The benchmark for Liquidity providers is the return they can get by providing liquidity instead of just holding the assets in spot. Our strategies are designed so that we try to optimize for the following equation when our liquidity is actively deployed in the pool -

Trading Fees Earned > Impermanent Loss + Rebalancing Costs

And during passive windows, we maintain the base asset exposure (like ETH exposure in ETH USDC vault) for the pool as a whole. This will reduce the correlation of vault’s return with the base asset’s price movement and also lays foundation for enabling single sided staking on top of Uniswap v3 pools.

3. Optimizing Rebalancing using RFQ quotes executed in a trustless manner

The biggest reason for other active liquidity management vaults to take the design choice of either being conservative by providing liquidity in a wide range (Arrakis) or not hedging back exposure and expect market to follow mean reverting characteristics (Gamma Narrow Vaults) is that if a vault running on top of a Uniswap v3 pool is incentivized, then all rational LPs providing liquidity to that vault will provide liquidity through the vault to not miss out on incentives. But the dynamics of that is that the vault may become a significant % of the pool.

We try to optimize this by creating a payment for order flow model where different PMMs, arbitrage bots can place bids to do the rebalancing efficiently and in a trustless manner by providing Just in Time liquidity on the pool. This will enable us to provide liquidity in narrower price ranges and earn a more significant share of trading fees. We will share more details on this in a separate article.

This illustration depicts the following optimizations of our strategy for the same time window

Proof of Concept Strategy running on mainnet wallet 0xC41Af85502Fc24fc1e645B1082BAA73851970a67

For the same time window, the strategy’s performance was +1.99% compared to just holding assets in spot

Plot 1 : Price and Liquidity Range , Plot 2 : % of USDC in the position , Plot 3,4 : Return
Real Return compared to holding on Spot

To summarize, passive LPs need to be more aware of what the real return they are earning by providing liquidity to Uniswap v3 pools. Many protocols only show the trading fees earned as an indicator of return but you might be losing money compared to just holding the assets in spot due to impermanent loss.

--

--