Prologue
I’ve been a liquidity Provider (LP) on Uniswap, Sushiswap, Balancer, 1Inch and Bancor at various times since late 2020. I’ve also been heavily involved in INDEXcoop where the liquidity of our products ($DPI, $MVI, $ETH2-FLI and $BTC2-FLI) is a critical part of their success in capturing market share.
Within INDEXcoop, I have been involved in designing and monitoring our liquidity mining campaigns for both $DPI and $MVI on Uniswap v2 following our framework. Such liquidity mining is one of INDEXcoops largest expenses and so always provokes active discussions.
With the launch of Uniswap v3, there is an opportunity for liquidity to capture higher fees due to concentration and so there is a potential for deep liquidity close to the market price (desirable for traders and other extrinsic users) without continuous incentives from INDEXcoop. A small team has reviewed v3 and how INDEXcoop can use it to maintain customer benefits and reduce our costs.
It’s early days in Uni v3, and many people (myself included) are still learning the best way to control risks and increase fees. While there are some automated liquidity managers available, only time will tell which are the best.
In order to learn about uni v3 from an LP’s perspective, I’ve started an experiment, this blog captures my learning to date.
The Pool
I decided to look at the MVI:ETH pair (This was one that we had identified as not having sufficient trade volume on v2 to support a deep pool on v3). When I started, there was a moderate (~$3m) v2 pool, and a very small (<$50 K) v3 pool charging 0.3% fee.
Currently, the pool stats are:
So, the v3 pool is capturing some trade volume, but overall it’s only about x2 the volume to AUM ratio of the v2 pool. Note that in addition to the trade fees, staked LPs are learning INDEX tokens from liquidity mining. This is currently ~25% (annualised) additional income for v2 LP’s.
If you look at the v3 pool, the swaps include a mixture of:
parts of larger trades split by aggregators
Arbitrage with the v2 pool.
The Plan
My plan was pretty simple:
Unstake my MVI:ETH LP position (~$35,000) from the INDEXcoop contract and remove half the liquidity.
The remaining 50% of Uniswap V2 LP tokens were immediately restaked into the INDEX rewards contract as a control.
The other 50% was placed into the (very) small Uni v3 pool for MVI:ETH charging 0.3% fees.
Looking at the historical market for MVI, I chose a range from 0.0143 ETH to 0.0211 (which was -14% to +26% of the spot price at the time).
Then I monitored the performance of both LP positions.
The Results
Note, that due to the non-symmetrical positioning of the v3 liquidity, the total value was slightly less than v2. The performance of each is compared to their respective starting values.
Also, values were manually noted at varying times of the day so there is not exactly 24 hours between each data point (and a huge gap at the start).
Uniswap v2 (+ Liquidity mining INDEX tokens)
Table 2 shows my logged data for the v2 Uniswap liquidity position. This includes the number and value of each underlying token and the INDEX rewards accrued. “v2 hold” shows the value if the starting tokens had been held in a cold wallet, and the % performance to the Staked LP token vs holding. “v2 unstaked” is the value for the MVI and ETH in the LP token, without the INDEX rewards. The % here shows the performance of the unstaked LP token vs holding (i.e. + fees - Divergence losses)
Note: INDEX rewards stopped on the 12th July 2021, and will resume at some point on the 13th.
I should note that the timing of this experiment was poor, as the 70% gains in MVI (Thank you Axie) resulted in significant divergence loss causing the unstaked LP to lose 2.7% over 16 days. The INDEX rewards for liquidity mining reduced this. However, the position still lost 1.7% vs holding over the 16 days.
Even so, the behaviour of the pool was entirely predictable based on a xy=k AAM.
Psychology of being a constant ratio LP
I must admit that this is the first time that I’ve monitored an LP position on a daily basis. I’m aware that such pools constantly sell the gaining token for the losing one, and I normally pick pairs that I’m happy to hold both long term. However, it is disconcerting to see the number of $MVI dropping when I know the price is increasing.
Uniswap v3
Table 3 shows my logged data for the v3 position. What stands out is the rapid drop in the number of MVI tokens as the price ratio increases (much much quicker than v2). The continued gains in MVI price (compared to ETH) mean that after 11 days the liquidity was 100% ETH and no longer earning fees.
At this point, I needed to remove the ETH (and collect the fees), swap ETH for MVI, and then reposition. As I felt that MVI could continue to outperform ETH, I decided to allocate the liquidity over a range +52% and - 18% to the market price.
I initially checked the Tokensets.com site to check if MVI was at a premium to NAV, and whether exchange issuance (ETH —> Tokens —> MVI) would be more cost-effective (Arbitrage via exchange issue currently hits at > 400 MVI). At the time Uni v2 was the best option.
Even so, the repositioning cost ~$1,000 in gas, price impact, premium to NAV and fees and took ~40 minutes.
With the continued gains by MVI compared to ETH, the ratio has continued to increase after the repositioning. While the second position has collected $224 in fees, the divergence loss compared to holding is over $547. Overall the second v3 position has lost $887 compared to $562 in 6 days.
Currently, MVI is 0.028 ETH, and my position is 72% ETH and 28% MVI. A further 18% gain vs ETH will leave me 100% ETH and needing to reposition:
Psychology of being an uni v3 LP
When I started this experiment I thought that -14% to +25% was wide and while I wasn’t sure how much volume or fees I would get I didn’t expect to need to rebalance or suffer significant divergence losses so quickly. Seeing my position being converted to 100% ETH with only ~$200 in fees was not pleasant.
Losing a further 3% during the rebalance adds to the pain of such an approach.
Comparison Between Positions
Holding MVI and ETH since the 26th of June 2021 has been a good move, when the values of each actual/theoretical position are normallised to 100, the worst performing option achieved a 32% gain.
However, when comparing the three-LP strategies (v2, v2 + staking and v3) to holding the tokens in a cold wallet, then the impact of the divergence in prices is clear. Overall the v3 position is down 12.5% vs doing nothing.
Final Thoughts
Overall there were a number of choices I made that contributed to this loss.
Being a whale in a small, secondary pool is fun. However, it’s not ideal as most of the trade volume goes to the pool with more depth at the market price.
Having a larger position which would make exchange issuance cost effect may have reduced losses on rebalancing.
Starting with a different range would have helped.
Even so, the small (< $50,000) v3 pool is actually participating in L1 trades, and even with my non-expert range positioning it is capturing double the % fee income compared to the larger v2 pool. So the concentration of fees is possible on v3.
However, when there is a significant price deviation (currently 70%). Then the concentrated liquidity acts to concentrate the effect of divergence loss with quite dramatic effects for the LP’s capital.
This reinforces my belief that being an LP on uniswap v3 takes skill and attention. For any pair that can suffer significant price divergence, then concentration for the divergence loss becomes painful.
While other DEX’s provide an almost equal playing field for different size LP’s, it’s clear that larger LP’s who can afford to be more active will have the advantage on Uniswap v3.
Automated liquidity managers should offer smaller LP’s an option to use v3. However, they will face similar challenges in optimising positions for non-correlated pairs and there is unlikely to be a vault for small tokens.
Uniswap v3 has certainly changed the game for DEX’s. However, given the additional complexity, I still see plenty of opportunity for the other designs (v2, Sushiswap, Bancor, Balancer etc).
Disclosure and Disclaimer
I’m a long term investor in cryptocurrencies including DeFi. I am an active member of the INDEXcoop which manages the $MVI fund.
This is not financial advice, all investments are risky, crypto investments are riskier than most. Do your own research. Do not invest more than you can afford to lose.
My raw data can be found here.