Uniswap v2: Still a Good Deal for Liquidity Providers? A Retrospective of 2023

Atis E
10 min readJan 22, 2024

This article looks into the Uniswap v2 WETH/USDC pool on the Ethereum mainnet, examining it from three angles: divergence loss, loss versus rebalancing (LVR), and the nature of order flows. The findings indicate that v2 remains a viable option for low-risk investors, successfully recapturing the majority of LVR as LP fees, with most volume originating from organic trading.

Uniswap v2 was launched in May 2020, and Uniswap v3 in May 2021. For most of its lifetime, v2 has coexisted and remained competitive with is successor. This has surprised many, including Uniswap’s inventor:

A popular opinion is that Uniswap v2 and other simple AMMs are suitable only for long-tail assets, and that for major pairs like ETH/stablecoin and ETH/WBTC pretty much all volume comes from MEV bots.

For what it’s worth, this is not a universal view; the original LVR paper authors looked at Uniswap v2 in 2021-2022 and concluded that it was pretty good for the LPs. However, it’s worth noting that 2023 saw much lower crypto trading volumes.

Divergence loss perspective

2023 saw ETH starting just under $1200 and closing near $2300. This movement resulted in a relatively high divergence loss (DL; also known as impermanent loss). Specifically, the DL for 2023 was almost precisely 5% — that is, a 50% ETH/50% USDC holding position would be 5% more valuable at the end of the year compared with an LP position in the v2 pool, if the LP had not collected any fees.

Yet, when accounting for fees, LP returns outperformed the 50:50 HODL strategy for most of the year. The graphs below show that they achieved over 4% relative profit by October, ending the year between 1 to 2% profit.

ETH price history and Uniswap v2 WETH/USDC LP returns in 2023
Uniswap v2 WETH/USDC LP returns over HODL

In another year with less directional price movement, the returns for LPs would have been more favorable.

LVR perspective

A short recap on LVR. Divergence loss is an intuitive metric because it describes the LP returns compared to a simple alternative strategy that any LP can realize without much effort. However, the realized DL depends on the market movements, and therefore on luck. LPs who hedge their market exposure can remove this luck component, and DL stops being a relevant metric to measure their returns. Moreover, LVR is relevant even to LPs who don’t hedge, as the expected value (EV) of DL can be modeled as a function from price volatility, and is deterministic (i.e. does not depend on luck). This expected value of LP returns is what the LVR metric aims to capture.

Divergence Loss mixes two things: market risk (which can be hedged by running a delta-neutral strategy) and another, AMM-specific risk which comes from the AMM’s trading function itself.

Loss versus rebalancing (LVR) is designed measure the specific risk associated with AMMs. Theoretically, LVR represents the maximum profit that arbitragers can extract from the LP. For Uniswap v2 pools, we can calculate the loss per unit time as a fraction of the pool’s market value using this simple formula:

where P is price and V(P) is the pool’s value function. The graph below, which includes 7-day averaged values of σ and the corresponding LVR, provides a visual representation of this.

Volatility of ETH in 2023 and the associated expected LVR, 7-day averages

LP returns from the LVR perspective. In 2023, ETH/USDC liquidity provisioning on Uniswap v2 remained a positive expected value game. The fee income consistently exceeded the theoretical LVR.

Observed fee returns vs. theoretically expected LVR in the WETH/USDC pool

Moreover, the fee income on the average day is higher by around 0.01%. This margin allows us to estimate the maximum hedging costs an LP can incur while staying profitable. If average hedging costs are below 0.02% daily (since only half the position’s value needs hedging), the strategy remains viable. (For what it’s worth, one typically can earn by shorting ETH if they want to, as crypto funding rates usually are positive.)

Contrast this with Uniswap v3 pools (see below). Here, a passive full range position typically earns in fees about what it loses to LVR, suggesting that the expected value of such positions hovers around zero. To profit in v3, one needs to accurately predict price ranges or directional movements, aligning it more with active trading than passive income.

Observed fee returns vs. theoretically expected LVR in the WETH/USDC pools on v2 and v3. For v3, full range positions are used.

Remember, LVR is the theoretical maximum loss under ideal conditions for CEX/DEX arbitragers. It assumes LPs don’t earn any swap fees from these trades, which isn’t the case in reality. A portion of the LVR is recaptured by LPs through swap fees, while some revenue leaks to the network via fixed-cost transaction (tx) fees. The exact distribution depends mainly on two factors:

  • the pool’s swap fee (0.3% for Uniswap v2)
  • the friction caused by the fixed-cost transaction fees.

This friction is inversely proportional to the pool’s liquidity depth. Thus, it’s practical to express this in basis points (bps) of the value locked in the pool. The v2 WETH/USDC pool, with $50M to $100M locked, has relatively low relative transaction costs even on the Eth mainnet. Using a simple model with a 30 GWei gas price and 150,000 gas per transaction, the costs in bps are illustrated in the graph below.

Simple swap transaction cost, as bps from the liquidity in the pool. Assumed gas price: 30 GWei, assumed gas usage: 150,000 per transaction.

The model shows that the costs are likely to fall in the 0.0005 bps to 0.002 bps range. Using this range and the average volatility of the asset, we can simulate both the APR of the theoretical LVR and ARP of the fee incomes from the arbitrage transactions alone.

Using σ=3% daily (on the high side for ETH in 2023) we get 4.1% expected LVR and 3.2 to 3.6% expected fee income; see the graph below.

LVR estimated and LVR recaptured as swap fees depending of the fixed cost of a swap transaction. Assumed volatility σ: 0.03 per day.

This simulations implies that the pool is able to recapture around 80–85% of the LVR in swap fees.

This implies that another metric is relevant to measure the LP metrics: the proportion of toxic_flow/all_flow in the pool. With toxic_flowhere I mean all trades that create LVR by arbitraging the pool against CEX liquidity. Consider this: if x % from the LVR created by the toxic flow already are compensated via swap fees from the flow itself, then it follows that another (100 — x) % must be compensated from other types of volume of liquidity mining rewards, for the LP to compensate all their expected losses from LVR.

Here, ~80% of LVR is already compensated, therefore at least 20% of the volume in the pool must be created by non-toxic swaps for the LPs to remain profitable. Now, what are the real proportions in the pool?

Trading flow perspective

Classification of trading flows is not an easy task. Fortunately, an approximate answer is good enough in this case.

To separate the different types of trades going through the pool, I wrote a script that looks at the sender and to addresses of each swap event, and checks whether these addresses belong to:

  1. A list of known router and aggregator addresses. This type of trades are denoted as “Core” volume, following the convention from Gauntlet’s analysis.
  2. A known list of MEV bot addresses. The MEV bot traffic is further separated in sandwich volume and other arbitrage volume.

This script is unlikely to be close-to-100% accurate, but provides some idea on the types of flows. Additionally, not all of the arbitrage trading is going to be toxic for LPs in the pool; some of that is atomic arbitrage that potentially picks up other pool LPs or backruns core traders.

The graph below shows the total volume in the v2 pool. The large spike corresponds to the USDC depeg event in March.

Uniswap v2 WETH/USDC pool volume classification

The graphs below shows the same normalized by daily volume.

Uniswap v2 WETH/USDC pool volume classification, normalized daily volume

Finally, pie chart aggregates the information for the whole year.

Aggregate Uniswap v2 WETH/USDC pool volumes in 2023

As shown in the figures above, most of the volume in this pool interacts with the first list of addresses. Only a few percent of volume belong to sandwich transactions, due to the relatively high 0.3% swap fee in the pool.

Summing up the core and sandwich volume we can conclude that at least 78% of the volume is not toxic for the LPs. Clearly, this is a much higher number that the required minimum of 20%, which was previously estimated as the lower bound for LP profitability.

These results are in sharp contrast to v3 pool results, which sees a much higher proportion of arbitrage trading. See below:

Uniswap v3 WETH/USDC 0.3% pool volume classification
Uniswap v3 WETH/USDC 0.05% pool volume classification
Uniswap v3 WETH/USDC 0.3% pool volume classification, normalized daily volume
Uniswap v3 WETH/USDC 0.05% pool volume classification, normalized daily volume
Aggregate Uniswap v3 WETH/USDC 0.3% pool volumes in 2023
Aggregate Uniswap v3 WETH/USDC 0.05% pool volumes in 2023

As shown in the figures above, MEV bots dominate v3 pool volumes. It’s also noteworthy that the 0.3% v3 pool has very little sandwich volume compared to the 0.3% v2 pool. The virtual liquidity in the v3 pool is much deeper, therefore larger swaps are needed to move the price enough for the attack to be profitable. The 0.05% pool has even deeper virtual liquidity, but due to the reduced swap fees it’s in fact very attractive for sandwich traders.

Discussion

Before concluding, it’s worth discussing a couple of potential objections to the analysis above.

  1. Hidden forms of arbitrage lead to under-counting of the toxic flow.

The argument is essentially that many swaps could be are routed through this pool by DEX aggregators, who pick up stale quotes to ensure best prices, and that these swaps should essentially be counted as form of CEX/DEX arbitrage swaps.

More analysis is needed to definitely answer this. However, ~80% of the “Core” volume interacts with Uniswap’s router contracts, which means it’s unlikely that these swaps come from custom solvers. For comparison, only ~10% touches 1inch contracts.

Another data point against this hypothesis is the increased arbitrage proportion of v3 pools. My scripts show that MEV volume constitutes 70–75% of the total in these v3 pools. For comparison, Gauntlet’s recent analysis estimates just 37–46% MEV volume in the same v3 pools — a very big underestimate compared with my numbers!

More advanced hypotheses can be formulated and investigated to explain why the v2 pool is less popular with MEV bots; however, the “hidden arbitrage” theory to my knowledge remains unproven.

2. V2 remains competitive only because of lower gas fees.

Counterargument: a simple USDC/ETH swap is likely to consume more gas on v2 than on v3 (figure below), so the increased activity on v2 cannot be explained by gas fees alone. One reason is that price oracle updates consume more gas in v2 pools.

Gas fees for a sample of 20,000 transactions that swap through v2 and v3 pools. Most v2 transactions consume more than 200,000 gas, and are more expensive than v3 ones.

3. V2 is in decline.

The numbers from 2023 don’t confirm v2 declining yet, but eventually it must happen. I think there are several ways how v2 might finally lose its relevance. Some of them good for the LPs, while some are bad. For instance:

  • Good: Another DEX picks up the torch and offers the benefits of v2 without most of its drawbacks. It could be Uniswap v4 with a v2-like mode + hooks; or one of the already existing novel DEXes; or it could be a completely new design.
  • Bad: UniswapX or a similar aggregator becomes the leading way how to do on-chain swaps, while continuing to utilize liquidity that is mostly off-chain. As Doug Colkitt argues on Twitter, Uniswap X doesn’t actually contribute to decentralizing liquidity — at least not at the moment.

Conclusion

This article examines the Uniswap v2 WETH/USDC pool from three angles — divergence loss, fee income, and source of trading volume — concluding that the pool remains a favorable option for LPs.

  1. The pool is able to beat the 5% divergence loss and remains positive vs. 50:50 HODL for most of the year, despite ETH price doing almost 2x.
  2. The fee income exceeds the theoretical LVR almost all of the year, averaging to approximately 0.01% per day.
  3. At least 63.8% of the volume in the pool comes from swaps that interact with DEX or aggregator smart contracts, while just 28% to 32% of the volume comes from arbitrage bots. Around 80% of the DEX and aggregator contract volume interacts specifically with one Uniswap router contracts.

The results show that Uniswap v2 remains competitive even for short-tail assets, specifically ETH. Given its low-risk profile and proven returns, liquidity provisioning in a pool like this is a compelling option for retail participants, presenting a viable alternative to other DeFi activities, including ETH staking.

Code. Available is at: https://github.com/atiselsts/uniswap-analytics/, in the v2-analysis directory (unfortunately its messy). Pool event data must be downloaded from BigQuery using the scripts provided.

Disclaimer. This post is for general information purposes only. It does not constitute investment advice or a recommendation or solicitation to buy or sell any investment and should not be used in the evaluation of the merits of making any investment decision. It should not be relied upon for accounting, legal or tax advice or investment recommendations.

--

--