Liquidity Observation Lab (LOL): Liquidity Strategy and application to Curve stETH:ETH Pool



  • Relaunch the reWARDS Committee as the Liquidity Observation Lab
  • Explain to the community the rationale behind pulling LDO incentives
  • Explain to the community the ways in which new incentive programs will be deployed
  • Outline a selection of new incentive program that will be launched on September 1st

Introducing the Liquidity Observation Lab

stETH allows Ether staking and liquidity for diverse applications. However, certain applications may struggle with liquidity constraints, which can introduce friction for users. stETH users should be able to seamlessly interact across the Ethereum ecosystem should they choose to. We would like to introduce a revamped and redubbed approach relative to the “reWARDS Committee”, the Liquidity Observation Lab (LOL) to facilitate the emergence and sustainability of these applications.

The Liquidity Observation Lab is a community-driven initiative designed to:

  • Strategically boost liquidity in crucial stETH applications.
  • Identify and aid potential applications that can enrich the stETH ecosystem.
  • Promote temporary liquidity measures, targeting specific applications with defined outcomes.

The above will continue from the budget request approved in the Lido-V2 grant request, totaling 4m DAI in wstETH or stETH, allocated from June to December 2023. OP and ARB grants will continue to be managed by the LOL committee and accounted for separately.

LOL Principles

LOL is grounded in three core principles:

  1. The main goal for any LOL incentive activity is to be phased out and eventually for the LOL to disband if no further activities are suitable
  2. Liquidity should flow to its most efficient use to make stETH applications as frictionless as possible
  3. If an activity fails to drive a hypothetical outcome within a predefined time-frame, the activity will be recalibrated and relaunched or abandoned

Activities & Framework

The LOL community team will propose incentives provided that:

  • Liquidity issues are pinpointed with set, measurable goals.
  • Liquidity incentive applications are suitably targeted.
  • Outcomes are measured and evaluated regularly, followed by goal adjustments or shifts.

Summary of main changes

  • The committee format remains the same with more focus on analytics and impact analysis.
  • LOL will aim to drive more incentives to fewer, higher impact projects, rather than spray few incentives over more, smaller projects– the primary motivation of the committee is to strike a balance that optimizes the UX of stETH sustainably.
  • Activities are assumed to be temporary, only started if there is a deadline for evaluating effectiveness and terminated when either the objectives are met or the activity has been proved to be ineffective
  • Removal of LDO as a token for incentives, as the dilution experienced by token holders could not be justified by the behavior of LP recipients, who immediately dumped it (mostly for ETH), cf. our note on the subject

As a first initiative, we would like to introduce the framework we are developing to incentivize liquidity in one of stETH’s biggest venues, as an example of the type of evaluation process. Any community inputs are highly encouraged and welcomed.

How much TVL is suitable for the Curve stETH:ETH pool?

Enormous thanks to @pipistrella and the Lido Analytical community for their invaluable contribution to this framework.

An improvement on the distribution of incentives would be a feedback loop. We alluded to this possibility through the idea of a ‘skewer’ that targeted the stETH exchange rate. However, as we found in later research, the relationship between incentives and the exchange rate is tenuous at best.

We need to develop a way to target a range for pool TVL that is optimal for the amount of stETH in circulation. The Curve Pool, as the largest stETH pool (indeed, the largest liquid staking token pool and one of the largest pools overall) across DeFi, is a vital trading venue for large stETH swaps. Therefore, to ensure a positive UX we must develop a methodology to assess whether the Pool is performing sufficiently as well as a process to evaluate solutions.

Too little liquidity is clearly unsuitable for stETH utility, as price impact can significantly worsen the user experience of interacting with applications. Notably, since Lido v2 launched, ETH is always available through the withdrawal queue. Whales are already using this as a priority channel for exiting stETH, such as this 428,083 ETH withdrawal transaction in one go.

Too much liquidity is also unsuitable for Lido DAO as it would likely entail paying extraordinary amounts in incentives to drive LPs to the pool over the amount attracted to the pool organically.

→ We propose an ‘optimal’ Curve TVL can be defined as the pool size necessary to keep price impact under a target threshold for a maximum trade size.

Defining a target threshold

This target pool size can be defined only if we have the size of trade the pool has to support and level of price impact that will be acceptable for the trade.

Three approaches can give us an indicative trade to target and then apply this trade to a pool with different possible sizes to understand the level of the price impact.

Approach 1: Liquidations of (w)stETH collateralized positions with non-ETH debt on Aave

The instantaneous price drop, historically, has never been more than 15% for a 1 hour interval (dune query). For this price drop and current structure of Aave v2/v3 (w)stETH positions we could expect about 6,970 stETH liquidated in a hypothetical “first wave” of cascades.

Approach 2: One of the biggest holders swaps some % of their stETH position in the pool

A non-exhaustive list of the biggest (w)stETH holders is given below. Large stETH holders are more likely to prefer to withdraw stETH instead of swap it (e.g. whales withdrawn 33k stETH in July 2023 (1, 2, 3) or this 428,083 ETH withdrawal through the queue in one incredible transaction.

Address Holdings
Whale 1 261k stETH
Whale 2 ~215k stETH
Whale 3 212 wstETH
Whale 4 120k wstETH
Whale 5 85k wstETH

Approach 3: Daily amount Lido ETH buffer/withdrawal requests

The 30d median ETH amount in Lido buffer and 30d median amount of withdrawal requests has never exceeded 6,250 ETH and 6,720 ETH accordingly (dune query, dune query resp.)

→ We can define the target amount of stETH to be swapped in Curve pool as max value of calculation results mentioned above ~ 7,000 stETH.

Thanks to CurveSim, we can model backwards the required pool size for a given swap at various levels of price impact:

→ Although the target trade size is like closer to the 7k ETH range, we propose an initial threshold of 0.3% price impact to a much larger 20,000 stETH trade size, which implies ~ Ξ 400,000 as a total Curve TVL size (or 200:200 assuming full balance).

The rationale behind this larger threshold is to build some amount of sensitivity to future possible trades, rather than rely exclusively on historical trade values. In a next iteration of this model, we may consider total on-chain liquidity rather than focus narrowly on just one venue, such as the Curve pool.

Applying the threshold to an overall TVL model

The most difficult part of the approach is to apply incentives to a model that is:

  • constantly shocked by exogenous factors
  • where the instantaneous size of organic TVL is essentially unknown
  • where the instantaneous sensitivity of inorganic TVL response to incentives is also unknown

We propose a smooth brain approach which takes all of these variables as a given and simply applies an increment of incentives every period until the desired pool size is reached.


This means we are essentially tuning a very crude proportional controller to TVL size in Curve and adjusting based on a period-to-period basis whether to increase or decrease the distribution of incentives.

Our initial proposal for a first period of incentives would be to size it based on current pool TVL and search for a sensitivity. If the current pool (at time of writing) has a D parameter of approximately 210k ETH, assuming 0 volume, this would imply LPs would require an additional 4,620 ETH a year for LP to match stETH native rewards rates, or 385 ETH a month. As, of course, some trading can be expected, we propose to start with a distribution in increments of 50 ETH per period (month) and evaluating the results from there.

We are starting at a baseline value of 210k in unincentivized TVL and will measure the results over the next few months from that basis.

This is the bare minimum we think we need for stETH users to be able to enjoy frictionless interactions with applications of their choice and the incentives are the bare minimum we need for LPs to provide liqudity over alternatives they could seek out with their capital.

Hopefully, once this experiment is run, we can end up in a place where we have a better understanding of the amount of incentives needed to incentivize different levels of TVL based on varying market conditions, including drift from TVL and speed of change from target TVL:

→ We propose incentives in Δ slugs of ~50 stETH per month or ~12.5 stETH per week for Curve rewards, with a limit on 200 stETH per month

This same approach is applicable on other trading venues to identify those with the greatest sensitivity of TVL to LP incentive.

Results measurement and discussion

If the community broadly agrees with this proposed framework, we can move away from educated guesses and intuition and argue about the merits of parameter values, rather than the nature of overall policies.

On this dashboard by the Lido Analytics team, we can see that the overwhelming majority of orderflow for w/stETH is through aggregators. This is suggestive of the idea that we should be targeting a total amount of on-chain liquidity rather than look at specific venues.

We will aim to build an understanding of what that cost and effectiveness is for various venues such as Uniswap or Maverick in parallel to the Curve experiment. If we see that our total on-chain liquidity is increased faster on one venue versus another, we can redirect incentives accordingly and recalibrate our target to be total on-chain liquidity vs liquidity on any one given venue.

Further research could be done to investigate the price impact of large stETH trades at the protocol/aggregator level accordingly.

Other parameters worth exploring for relevance to this initiative are historical transaction volumes and how sensitive our targets should be to real-life swaps executed on-chain in the past N days.

Total projects | September 2023

Total Use-case 525,300 Ξ 320.0
Curve - stETH-ETH ETH 82,000 Ξ 50.0
Curve - wstETH-crvUSD-tbtc Curve 50,000 Ξ 30.5
Uniswap - wstETH-ETH ETH 50,000 Ξ 30.5
Uniswap - wstETH-USDC Stable 50,000 Ξ 30.5
Kyber - wstETH-USDC Stable 40,000 Ξ 24.4
Kyber - wstETH-ETH ETH 40,000 Ξ 24.4
Maverick - wstETH - ETH ETH 25,000 Ξ 15.2
Pancake - wstETH-ETH ETH 13,120 Ξ 8.0
Kyber <> Axelar - L2 <> L2 Bridge 9,840 Ξ 6.0
Raft Projects 16,400 Ξ 10.0
Olympus Projects 6,560 Ξ 4.0
Gas reimbursement Lending 3,280 Ξ 2.0
Sommelier Lending 3,280 Ξ 2.0
Gas reimbursement campaign Wallet 3,280 Ξ 2.0
Cian Wallet 3,280 Ξ 2.0
Kyber - wstETH-ETH ETH 9,840 Ξ 6.0
Kyber - wstETH-USDC Stable 10,280 Ξ 6.3
Curve - wstETH-ETH ETH 3,280 Ξ 2.0
Veledrome - wstETH-wETH ETH 9,840 Ξ 6.0
Vesta Projects 3,280 Ξ 2.0
Kyber - wstETH-ETH ETH 9,840 Ξ 6.0
Kyber - wstETH-USDC Stable 9,840 Ξ 6.0
Curve - wstETH-ETH ETH 3,280 Ξ 2.0
Kyber - wstETH-ETH ETH 9,840 Ξ 6.0
Kyber - wstETH-USDC Stable 9,840 Ξ 6.0
Neutron Projects 50,000 Ξ 30.5

Other projects not covered by the budget on Optimism and Arbitrum as part of the ongoing OP and ARB grants include:

Optimism Budget USD OP
Vesper 6,240 4,000
Beefy - Curve & Velodrome vault 18,720 12,000
Granary 15,600 10,000
Uniswap - wstETH-USDC 15,000 9,615
Synthetix 12,000 7,692
Arbitrum Budget USD ARB
Beefy 3,920 4,000

We fully support the relaunch of the reWARDS program with the principles outlined in this post, and we think this first initiative to define a framework for stETH’s liquidity in Curve is in the right direction.

In fact, we have done a similar analysis in the past that may be of interest to this committee and Lido’s community:

This analysis focuses on existing liquidity demand by backtesting potential Curve V1 pools (stableswap) of different sizes with past large trades in mainnet, and sizing the losses token holders would experience above certain price impact thresholds.

We hope this perspective enriches the important work LOL is doing, and we look forward to contributing with our experience to future initiatives like this.


“Bitget Wallet’s address to receive and distribute rewards are 0x030E05bF170422216A452F123bB25eba86d6E60b”

1 Like

I would rather see more wstETH-ETH and stETH-ETH integrations, instead of pairing it with USD. USD pairs are gonna be losing money each month to IL/price movements. Instead provide more liquidity for users to exit wstETH/stETH into ETH, and they can themselves trade the ETH for USD.

1 Like

Cian’s wallet address to receive and distribute rewards is 0xF8601586cda08387cEDCd43178013BAb740a6d8a

1 Like

Multisig Disclosure for Liquidity Observation Lab

Ethereum Mainnet: 0x87D93d9B2C672bf9c9642d853a8682546a5012B5
Spaydh: 0xD025BaD5f50f6925007952133A2E0c75EfDfDCCc
Shardyaco: 0x59d07dc34B135B17b87840a86BFF7302039E7EDf
McNut: 0xc7a8DE05264442A318189f2bd160d2830902C8CD
adcv: 0xcC692077C65dd464cAA7e7ae614328914f8469b3
Marin: 0x04e7C0350241b818eE5c92cc260008C9898F41cf
Alex Lykov: 0xB339918e75664a07BB650513427559920C0A0F6C
Kadmil: 0x9A3f38AF97b791C85c043D46a64f56f87E0283D4
GrStepanov: 0x8D0855047b59a5f11262f095ee724b5A59a89710

Optimism: 0x5033823F27c5f977707B58F0351adcD732C955Dd
Alex Lykov: 0xB339918e75664a07BB650513427559920C0A0F6C
Kadmil: 0x9A3f38AF97b791C85c043D46a64f56f87E0283D4
adcv: 0xcC692077C65dd464cAA7e7ae614328914f8469b3
gstepanov: 0x8D0855047b59a5f11262f095ee724b5A59a89710

Arbitrum: 0x8C2b8595eA1b627427EFE4f29A64b145DF439d16
Alex Lykov: 0xB339918e75664a07BB650513427559920C0A0F6C
Kadmil: 0x9A3f38AF97b791C85c043D46a64f56f87E0283D4
adcv: 0xcC692077C65dd464cAA7e7ae614328914f8469b3
gstepanov: 0x8D0855047b59a5f11262f095ee724b5A59a89710