Recommendation for changing the Curve stETH:ETH pool A Factor from 30→200

Principal author on this document: McNut, with special thanks to Sam_M in Lido Analytics and to Nagaking and the Curve team for helping with analytics and conversations.

Original post in the Lido Research Forums


Table of Contents


Curve Proposal: Change the stETH:ETH pool A factor from 30 → 200

Summary

Requesting an A factor change from 30 → 200 with a ramp-up period of 30 days on the steth pool, 0xdc24316b9ae028f1497c275eb9192a3ea0f67022

Motivation

We will be proposing to Curve governance to modify the stETH:ETH pool A factor to 200 from 30. Liquidity is an important feature of the stETH token. However, liquidity conditions have changed since withdrawals have opened. We believe modifying the stETH:ETH pool A factor to 200 is more suitable for this new paradigm because:

  1. This change will allow the Curve pool to route more trade volume at greater market depth
  2. It will attract more LPs over time into the pool by creating more attractive conditions to generate fees
  3. There are no major incremental risks relative to holding the A factor constant at its current value

Specification

Modify A factor on the steth pool (0xdc24316b9ae028f1497c275eb9192a3ea0f67022) from 30 → 200 with a 30 day ramp-up period

For

  • Deeper markets on curve
  • More attractive for LPs
  • No new incremental risks from the A factor change

Against

  • Change is hard

stETH liquidity in context of changing market conditions

Historically, stETH liquidity was used by a smaller number of users, but institutional users are accelerating their uptake of stETH, and have additional requirements. Previously, the primary risk to liquidity was arguably AMM pool balance, which directly impacted price stability and execution costs. At the time, prior to the Ethereum Shapella upgrade, withdrawals had not been enabled, and there was single pool concentration in Curve, which magnified risk with most secondary market liquidity on a single AMM.

To mitigate risk, governance parameter decisions in Curve were made to lower the A factor and decrease the efficiency of the pool. This would effectively lower the market depth in order to solicit arbitrageurs to rebalance the pool earlier. This parameter protects the pool against volatile markets, prioritizing future users over current users. Ultimately this decision served its purpose in the short run, but has come at the expense of pool utility in the long run.

Today, stETH has a different set of risks. Withdrawals are enabled, additional AMM pools exist, CEX liquidity is growing and a variety of OTC desks are available to support large swaps. stETH is by orders of magnitude the most liquid LST on the market. Even so, stETH liquidity can be meaningfully improved starting with a parameter change on the single largest venue for stETH by size (but not efficiency).

With the implementation of Shapella, stETH withdrawals were enabled, dramatically improving tail liquidity. While it’s not required, it is expected that stETH holders are rational enough to evaluate the optimal path to exit stETH. Explicitly, this means we expect some holders may elect to unstake in lieu of swapping. While not instant, as unstaking >50K stETH may require up to 76 hours, users will nevertheless receive 0% price impact. In comparison, secondary liquidity may deliver up to 200 bps in price impact on trades of this size.

The paradigm has shifted. With withdrawals enabled, rational users have tail liquidity of any size, with some lag time. However, the value of stETH liquidity comes from its instant, secondary market liquidity, not 3-5 day liquidity that every node operator can offer. Governance parameter changes on pools in the secondary market can build on these strengths to deliver much greater efficiency for current stETH users.


Arguably, before withdrawals, the A factor could have been lower and then increased after, rather than the other way around as Curve governance appears to have done. Pool falls into balance only as of May 2023, when withdrawals open.

A factor at 200 is better suited for the new paradigm

The A factor on the Curve stETH/ETH pool may be the most impactful and cost effective way to improve stETH liquidity. At the time of this writing, Curves ETH inventory is ~46k but market depth is effectively 7k ETH at 100 bps. In comparison the largest stETH pool on Uniswap v3 has ~8k ETH of inventory and provides nearly a full 8k ETH in market depth. This disparity in efficiency is due to AMM design but it’s not set in stone.

Curve pool will be able to route more trade volume at greater market depth

The table below is a curvesim simulation of A Parameters to estimate how much stETH is required to cause a 100 bps price impact. Effectively this is an estimation of market depth across A.

A Factor 20 25 30 35 40 45 50
stETH Required 4681 5780 6870 7948 9014 10065 11101
Depth Improvement 0 23% 47% 70% 93% 115% 137%
A Factor 55 60 65 70 75 80 85 90 95 100
stETH Required 12121 13123 14108 15073 16020 16947 17854 18742 19609 20457
Depth Improvement 159% 180% 201% 222% 242% 262% 281% 300% 319% 337%
A Factor 105 110 115 120 125 130 135 140 145 150
stETH Required 21285 22094 22883 23653 24405 25138 25854 26552 27233 27897
Depth Improvement 355% 372% 389% 405% 421% 437% 452% 467% 482% 496%
A Factor 155 160 165 170 175 180 185 190 195 200
stETH Required 28545 29177 29794 30396 30984 31558 32118 32665 33199 33721
Depth Improvement 510% 523% 536% 549% 562% 574% 586% 598% 609% 620%
A Factor 205 210 215 220 225 230 235 240 245 250
stETH Required 34230 34729 35215 35691 36157 36612 37057 37493 37919 38336
Depth Improvement 631% 642% 652% 662% 672% 682% 692% 701% 710% 719%
A Factor 255 260 265 270 275 280 285 290 295 300
stETH Required 38745 39145 39537 39920 40297 40665 41026 41381 41728 42069
Depth Improvement 728% 736% 745% 753% 761% 769% 776% 784% 791% 799%


Today, market depth is evaluated in aggregate, where Curve is but a single contributor. At 100m in market depth at 100 bps in the recent past, stETH liquidity is orders of magnitude higher than the nearest LST competitor.

Putting this in context, the simulations suggest that an increase in A factor could materially improve market depth today, upwards of 100% improvement and 100m of additional market depth (100% and 100m at A = 300, 75% and 75m at A = 200).

Slippage is a more complicated tradeoff as it is a factor of many parameters of the pool and swap itself. It is helpful to first visualize how an adjustment to A flattens the center portion of the bonding curve, therefore concentrating liquidity near the expected exchange rate.

image

The graphic above illustrates the evolution of AMMs to Curves’ Stableswap Invariant (dark purple line), which stETH uses. Notably, you see the curve flattens out along the Constant price (orange line). The A parameter controls the flat part of the curve, where users receive optimal execution. As you move to either edge past the flat part of the Curve, it is proportional with the pool falling out of balance and the respectively worse execution that follows.

This keeps the pool’s asset ratio balanced, where users are penalized for pushing the pool farther out of balance. In essence, the rounder the curve (lower A), the more users will be exponentially penalized for moving the pool up either end of the curve. It’s intentionally designed to be a self-balancing mechanism, but it comes at the cost of a large portion of the inventory in an AMM remaining unused. To use the AMM to the full extent of the curve in a low A design would be to subject a swap to extreme penalties. Conversely, this means that a flat curve will not only offer better execution to users, but also enable more inventory to be used, creating efficiency gains in terms of market depth.

What is not obvious from the curves above is that there are various points of parity in terms of price slippage for different pool designs. Specifically a high A pool that is far out of balance can be just as performant in terms of price impact as a low A pool that is nearly perfectly balanced.

A flatter curve (higher A factor) creates efficiency gains and a wider spectrum of scenarios that result in good user outcomes. Therefore such a design implicitly may cause the probability of imbalance to occur. Imbalance is not the cause, it is the effect. The risk to this system is not imbalance but negative price impact. A higher A factor decreases the probability of negative price impact across every input.

More LPs may be drawn into the pool over time

Another significant outcome of a change in A is the overall usability of the pool for daily volume. As A increases, it increases liquidity density (conceptually similar to what we see on clAMMs), which improves the pools ability to capture more router volume. Ultimately, this is not only a benefit for stETH users, but is a major step in the right direction for LP sustainability on Curve. The charts below again run a simulation that shows that sharp improvements in pool efficiency can be created with changes in A until we see the marginal improvement of density begin to level off near ~200 A.

The primary trade-off being made with an increase in the A parameter is the likelihood of pool imbalance. There are two primary risks of pool imbalance, generally speaking:

  1. IL exposure
  2. Slippage increase as a result of decreased liquidity density

While IL is a real risk for many LPs, it is less so for LPs of this ETH:stETH pool where there is a reasonable expectation for prices to mean revert towards 1:1. At one point this risk was more pronounced with all secondary depth concentrated in a single pool, but today liquidity can be sourced from multiple other venues or withdrawals themselves, reinforcing the pool balance.

With well functioning pools in existence today utilizing A factors ranging from 20 all the way to 2 million, it’s difficult to pinpoint what A factor is optimal. On one hand, it’s rational to assume that maximizing A = 2 million is the optimal point, maximizing market depth and minimizing price impact. But there are key constraints for most trading pairs that deter this design decision. In a scenario where A = 2 million and the pool is completely unbalanced all the way to 99.9% token A : 00.1% token B, there is no monetary incentive for anyone to rebalance the pool.

Practically this means that if you want to swap from token A to token B, there is no liquidity. The pool is performant, likely offering no price impact, but liquidity doesn’t exist here outside of the whims of market participants already holding token B deciding to swap into token A. It creates an unfortunate timing problem, dependent on the coincidence of wants and effectively eliminates any value of such a pool. This is the exact reason why a pool may elect a much smaller A factor, to create a negative price impact and financial incentives to keep some amount of balance (liquidity) in the system. But there is a middle ground between irrationally punitive (low A) and irrationally accommodating (high A).

Analytically, we see various signals that A = 200 may be where marginal utility is maximized. At approximately A = 200, liquidity the median and minimum liquidity density begin to spread, increasing the probability of worse outcomes. Further, if we couple this with the expected improvements in volume and LP profitability, we have additional data pointing to limited marginal utility beyond this point.

Anecdotally, in conversations with Curve researchers / contributors, the lower bounds where most LPs are happy is > ~80% pool balance (40% token x / 60% token y). This qualitative input is ultimately a reflection of difficult to quantify risk by LPs and often correlated to their fear of impermanent loss (IL). While IL is not a comparable risk in the stETH pool, the heuristic exists and LP preferences ought to be a key factor in this decision. Further, the stETH-ng pool, with A = 1500, is consistently the most profitable pool for LPs and often sits around 40 / 60 balance, a clear indication of the pools ability to be highly performant, even if not perfectly balanced. In light of the anecdotal evidence, we see that an A Factor of 200 expects the minimum balance to be > 86%, which provides a large buffer to the tune of ~ 43% further out of balance (or 6% in absolute terms).

Evaluation of low likelihood of incremental risks relative to holding the A factor at current value

The objective of this evaluation is to determine whether risk is materially altered from a change in the A parameter of stETH’s largest pool on Curve. It is prudent to note that liquidation risk exists today with Curve’s A Parameter set to 30. In summary, we believe the optimization target should be slippage and effectiveness of the pool to support market activity, not pool balance. At a lower A factor, a pool may stay more balanced, but as a result of negative price impact that occurs sooner and with less volume, providing an overall worse experience for users. Further, in evaluation of the many exogenous risks, an increase (or decrease) in the A factor is inconsequential in comparison to the material forces exerted by the market.

The risk factors leading to exchange rate volatility have been significantly mitigated today. Many lending protocols have gone as far as reading 1:1 values for the price of stETH relative to ETH, reflecting the ability to withdraw stETH at 0 price impact and deliver on efficient liquidations. Other lending protocols that don’t rely on hardcoded prices use an increasingly diverse set of markets as inputs, which rely less and less on Curve. Most importantly, with a well functioning withdrawal queue as a backstop, even if saturated, any major divergence in price should be swiftly picked up by arbitrageurs.

There may exist an increased likelihood of pool imbalance, caused by improved price execution at much wider levels of imbalance. However, the levers that exist to rebalance are equal regardless of A Factor (e.g. when price impact >2%, an arbitrager may elect to rebalance the pool). Even under highly stressed conditions, if it does not empty completely, it is likely to move out to the shoulders of the curve where there is sufficient illiquidity premium to stabilize the exchange rate, but at a much larger trade size. To wit, the Curve pool may be more capable of accommodating increased volume while providing better execution.

With respect to the incentive to arbitrage and organically maintain pool health, in normal market conditions, arbitrageurs will still be able to rebalance the pool, earning positive slippage. The only caveat is that the amount of $ required to create 2% positive slippage will go up, thereby creating more arbitrage opportunities on an absolute scale. Concretely, the risk premium traders may receive at the shoulders of the Curve is the exact same in terms of APR. That said, increasing the capital requirement through parameter modification may eliminate the window through which retail users could manually rebalance the pool and capture this discount

In tail event conditions where liquidity ceases to exist, arbitrageurs may have no incentive to arbitrage regardless of A factor. This is empirically supported by various tail events of the last cycle. Traders want to be delta neutral, earning arbitrage, not directionally biased in some kind of Grayscale basis trade. In short, traders care about risk premium and are unlikely to catch a falling knife in a tail event, regardless of the A factor.

However, it’s important to define controllable, endogenous risk vs uncontrollable, exogenous risk. It can be complex to evaluate how all the vectors of risk are interconnected, but our focus should largely be on evaluating risk that can be controlled and planned for.

The following types of risk are intentionally segregated in this analysis because they all present draconian outcomes for staking more generally. In such scenarios, an adjustment to the Curve pool is believed to be inconsequential to the impact on the scale of problems destined to arise. However, we will evaluate a few of the key ones:

  • Mass Slashing forces reliance on secondary market liquidity
    • Full utilization of the curve pool up until penalties = fair risk premium for holding risk of illiquidity
    • Historically this risk premium ~ 7-10%, which means the pool may find an equilibrium and wait for external factors to resolve themselves
    • With higher A, the pool provides 75% more liquidity before it hits equilibrium and waits for a liquidity event
  • Clogged withdrawal queue (large number of users demanding 1:1 withdrawals)
    • Minor price deviations in stETH may be expected, as traders who place a premium in exiting faster will deplete inventories of ETH:stETH across various venues
    • However, absent a structural lack of confidence in stETH, there is every incentive for long-term holders to arbitrage the difference and wait for the queue to subside
    • Having a higher A factor means that larger ‘impatient’ traders can exit without impacting the market price, and larger slugs of trades can be exchanged between market participants
  • Liquidations
    • Liquidators may begin to experience increased amounts of negative price impact to transact and may stall or delay
    • Since the enablement of withdrawals and continued diversification of liquidity venues, the exchange rate of stETH in ETH terms has held extremely tight
    • Further, many lending protocols have stETH explicitly hardcoded to the price of ETH. Inherently this means that the real risk to cascading liquidations is major price movements in ETH, not stETH alone, a price follower.
    • In the event of cascading liquidations, a higher A factor may actually materially improve the markets ability to absorb this volume
    • The best factor to mitigate a liquidation from cascading is sufficient liquidity (market depth) and increasing A increases the likelihood of absorbing any hypothetical cascades
5 Likes

Hi thanks for such an elaborate proposal that goes much deeper into the implications of the A parameter than probably any A param change proposal I’ve ever seen. Since you bring the topic of stETH and the broader ecosystem impact, there are some market trends I’ve noticed that have made me uneasy and I wonder what your read on it is and if Lido is doing anything to address these?

Referencing the stETH Liquidity Dune Dash, liquidity reserves are up modestly in $ terms since November from $243m to $289m, but stETH reserves are down from 147k to 104k. Curve makes up 70% of DEX liquidity and the decline in liquidity over that period is fairly consistent across exchanges.

Referencing the stETH Collateral Dune Dash, over the same time period stETH as collateral has increased from 3.029m to 3.081m stETH. The majority (83%) is on Aave, Maker, and Spark. The overall share in lending has decreased over the timeperiod from 34% to 31%, but this still represents a share of DEX:lending down from 4.85% → 3.38%. Eigenlayer has also gained popularity recently and constitutes the #2 defi protocol for stETH deposits at 17.2% of stETH in defi.

These trends don’t look good to me in terms of strong liquidity trends. stETH is the most liquid LST if I’m not mistaken, but its trajectory seems to be reduced relative liquidity compared to its widespread usage as collateral. It’s been suggested that stETH ought to be priced as ETH for lending protocols, but this seems irresponsible to me and places a high amount of trust in Lido to operate properly. Proposals such as this to increase A seem like a reasonable measure, but the underlying rationale for the proposal seems like a recognition that stETH does not have the liquidity it needs for the caliber of LST it is and how widely it has been adopted. Is Lido doing anything to address the underlying problem here?

4 Likes

Thanks for the detailed proposal. I’m just chiming in to second the proposal’s conclusions: this change would substantially increase liquidity density (i.e., increase market depth, reduce slippage) with very minimal additional risk.

Benefits:
Increasing liquidity near the peg is expected to increase pool volume by supporting larger arbitrage trades (reflected in the simulations) and improving execution for non-arbitrage convenience trades (not reflected in simulations). This is also likely to tighten the stETH-ETH peg.

Potential LP Risks:
Simulations and observation of the stETH-ng pool (A=1500) suggest that raising to A to 200 would have minimal effect on pool balance, and therefore pose minimal risks to LPs.

Potential Risks to stETH/Lido:
Liquidity will be increased roughly in the range of .98-1.02 and and slightly decreased outside of that range. This will generally increase peg support, especially given the large size of the pool. In theory, reduced liquidity outside of this range could be detrimental in the case of a severe depeg. However, this risk seems remote as stETH has maintained a price within this range since around October 2022, well before withdrawals were enabled.

4 Likes

Thank you for your comments @WormholeOracle ! We do disagree with some aspects of the framing. It ties to a ‘TVL view’ of liquidity rather than a ‘market depth’ view that we prefer and advocate. stETH continues to be objectively the most widely traded, most widely adopted, most liquid LST on the market.

In brief:

  1. stETH liquidity is shifting away from low volume - high artificial TVL to higher organic volume - organic equilibrium levels of market depth
  2. stETH liquidity market depth has been stable for quite some time and proposals such as this one can only optimize / improve it
  3. An organic market for stETH liquidity changes the risk dimensions favorably now that withdrawals are open

As can be seen in the Protocol Economics Dashboard, the DAO has shifted away from incentivizing high TVL pools despite low organic volume, itself a higher risk factor in stressed markets as the TVL has a tendency to evaporate on the first sign of trouble (this narrates exactly the historical TVL evolution of stETH on Curve and other venues)

The alternative mode is high organic volume attracting equilibrium levels of market depth. This is a much more robust foundation for liquidity and mitigates the risk of market depth evaporating as it suggests the marketplace of participants is more vibrant than before. A large part of this is thanks to the derisking that Shapella brought with withdrawals, making it possible to close the loop and withdraw stETH to ETH 1:1. Organic volumes have empirically become more robust, further supporting the now healthy state of liquidity on-chain:

LPs providing stETH reserves demand some moderate rate of return. Today, the amount of organic volume to sustain them implies a lower equilibrium of stETH reserves and we are gradually finding that point. That being said, we are actively working to study these key inputs and drive the equilibrium up through initiatives like this proposal where we expect to substantially increase pool volume, as mentioned by Nagaking.

A potentially more useful question to ask may be what amount of depth is sufficient in light of today’s market behavior? Notably this equilibrium ebbs and flows with the market volatility, but the logical KPI is likely driven by price impact. Empirically, we continue to evaluate the health of stETH execution using tools such as our Price Impact Dashboard.

The majority of stETH pools continue to be performant (outside of some outliers that could be cleaned if not in Dune) and is a lagging indicator of the approaching equilibrium, but it should be expected that LPs respond if we find the other side. In light of the recent uptick in activity, we may find this point sooner than later.

To be more concrete, a more certain risk would be a market artificially propped up by unsustainable economics. An ecosystem built around a facade of liquidity would be far more perilous than one moderated with a sound foundation, which is being pursued today.

It’s also worth clarifying the nuance of terms like market depth, price impact, etc. vs a somewhat undescriptive term like “liquidity” that can have many connotations. In review of the relevant data points like market depth, stETH has been relatively stable, albeit influenced by price appreciation as you imply. We are developing a dashboard for this view on Dune (VERY WIP), and we will gradually include comparative benchmarks against, for e.g. ETH.

With respect to liquidity in the context of lending markets, we believe that there is more than adequate market depth today to support a large swath of defaults and liquidations and the probability of such an event occurring would be dependent on there being massive correlation amongst all these borrowings amid a major price decline too quick for borrowers to remedy. Notably these marketplaces represent an entire ecosystem of loans, not one single, massive loan. Each one has its own risk factors and the health (or lack thereof) of one individual loan is not a reflection of systemic risk, but rather idiosyncratic risk by an overly aggressive borrower.

However, there is of course one additional risk subject to the price of stETH diverging from the price of ETH. Unlike years past, there is a healthy 1:1 withdrawal mechanism that underpins this correlation. The increase in organic volume is a healthy signal of a greater number of market participants eager to accept the basis trade for +1 days of illiquidity. That being said there are a number of tail events such as a major exploit or vulnerability in the stETH protocol itself that could cause there to be a justified divergence in price. In such a scenario, the logical conclusion is no amount of market depth would be sufficient until some equilibrium of illiquidity premium is reached. Notably, liquidity would likely dry up long before the health of these many loans were in jeopardy c.f. Curve pool TVL during Terra and FTX.

2 Likes

Well done for posting, my dear brother.