ARC: Add support for stETH (Lido)

Rationale

An updated proposal to list Lido’s stETH on Aave for lending and borrowing.

This is an updated proposal to: https://governance.aave.com/t/proposal-add-support-for-steth-lido/2123/14

Items of note since the last proposal:

  • ChainLink Oracles for stETH/ETH & stETH/USD are now live
  • Multiple audits for stETH have been completed
  • TVL has increased 400%
  • Unique holders has increased 500%
  • 4 liquidity pools have been added in addition to Curve: Balancer, SushiSwap, 1Inch, Bancor
  • We published a blog post addressing liquidity risks

Relevant Links

Summary

Lido allows users to earn staking rewards on the Ethereum beacon chain without locking Ether or maintaining staking infrastructure. This is done through the stETH token. stETH tokens represent a tokenized staking deposit and can be held, traded, or sold.

Motivation

There is strong interest in using stETH to earn additional yield without taking a lot of risk. This is evident through the growth of the stETH/ETH pool on Curve Finance, which has become the most liquid pool on Curve with a liquidity of $3.8 billion.

The addition of stETH on to Aave can work to attract a larger audience to both Aave and Lido. More ETH staked with Lido would subsequently benefit the decentralization and security of the Ethereum network, to the benefit of the community as a whole. stETH would likely bring new borrow demand to Aave as market participants look to borrow against their staked ETH or lend their stETH for a yield.

We want people who want to be responsibly long ETH (i.e. via taking leverage on AAVE) to be able to put some extra staking rewards on top.

Specifications

  1. What is the link between the author of the AIP and the Asset?

    Jacob (jbeezy) is a full time member of the DAO working to facilitate integrations for st-Assets across defi in protocols such as Aave among others.

  2. Provide a brief high-level overview of the project and the token

    Lido Background

    The Lido Protocol, built on Ethereum’s beacon chain to start, allows users to earn staking rewards on the beacon chain without locking Ether or maintaining staking infrastructure.

    Lido was announced in November 2020. The testnet was released in late November.

    Lido today has 3 products (stETH, stSOL, bLuna) managed by 4 teams in separate organizations. Across these products is a multi billion dollar TVL and has pushed Lido to #8 on DeFi Llama rankings. stETH has also been accepted as part of Nexus Mutual’s treasury as part of their risk management strategy.

    Lido has begun the process to move over to a fully non-custodial solution. Details can be found here: Withdrawal Credentials in Lido

    Lido manages the liquid staking protocol by deciding on key parameters (e.g. setting fees, assigning node operators and oracles) through the voting power of governance token holders.

    Lido has been audited by Sigma Prime, Quantstamp and MixBytes.

    stETH Background

    Lido allows users to deposit ETH and receive stETH. The deposited ETH is then pooled and staked with node operators selected by the Lido DAO. stETH represents the user’s staked ETH balance of the beacon chain along with staking rewards accrued or penalties inflicted on validators in the beacon chain. When transactions are enabled on the beacon chain, stETH can be redeemed for unstaked ETH and accumulated rewards.

    Unlike beacon chain ETH, stETH can be freely transferred and traded. Onboarding stETH to Aave would allow users to lend and borrow against stETH.

    stETH tokens represent a tokenized staking deposit. stETH tokens can be held, traded, or sold. The balance of stETH is based on the total amount of staked ETH plus total staking rewards minus slashing applied on validators. stETH rebases daily.

    The stETH supply stands at 1,274,802 - worth $4.2BN using current stETH prices.

  3. Explain positioning of token in the AAVE ecosystem. Why would it be a good borrow or collateral asset?

    stETH as DeFi collateral is beneficial for a number of reasons.

    • stETH is almost as safe as ETH, price-wise: barring catastrophic scenarios, its value tends to hold the ETH peg well;
    • stETH is a productive asset. Earning rewards on collateral effectively lowers the cost of borrowing. This could make borrowing more attractive on Aave and help to increase market utilization (and therefore Aave’s protocol revenue from stablecoin reserve factors).
    • stETH is a very liquid asset with over $3.8 billion in liquidity locked in the Curve stETH/ETH pool.
  4. Provide a brief history of the project and the different components: DAO (is it live?), products (are the live?). How did it overcome some of the challenges it faced?

    Lido protocol background is listed in Question #2.

    There is a DAO and it is live. The Lido DAO consists of, amongst others, Semantic VC, ParaFi Capital, Libertus Capital, Terra, Bitscale Capital, StakeFish, StakingFacilities, Chorus, P2P Capital and KR1, Stani Kulechov of Aave, Banteg of Yearn, Will Harborne of Deversifi, Julien Bouteloup of Stake Capital and Kain Warwick of Synthetix.

    The Lido treasury has been recently diversified and DAO members now include Paradigm, Three Arrows Capital, DeFiance Capital, Jump Trading, Alameda Research, iFinex, Dragonfly Capital, Delphi Digital, Robot Ventures, Coinbase Ventures, Digital Currency Group, The LAO and angels.

    The Lido suite of products consist of st-assets which represent the underlying staked collateral on various protocols. Currently this is stETH, bLuna and stSOL and is managed by 4 teams in separate organizations to further mitigate centralization risk.

    There are further wrapped versions to address platform limitations around rebasing assets or bridging to other ecosystem. These wrapped assets are minted/burned based on locking of the st-asset. Currently there is wstETH (non-rebasing) and bETH (Terra representation of stETH).

    Early challenges were overcome with DAO member support, speed of execution and utility of st-assets. The last one is particularly critical in the success of any liquid product.

  5. How is the asset currently used?

    stETH as DeFi collateral is used in a number of ways.

    • a productive asset (e.g. in Nexus Mutual Treasury risk management strategy);
    • compounding yield strategies in DeFI (AMM, autofarms, soon Lending :wink:) (e.g. Convex, Yearn, Harvest);
    • multichain lending (e.g. bETH on Terra in Anchor);
  6. Emission schedule

    There is no emission schedule. Similar to DAI, stETH is minted on demand when users lock ETH into the protocol.

  7. Token (& Protocol) permissions (minting) and upgradability. Is there a multisig? What can it do? Who are the signers?

    • Counterparty risks

    Lido relies on a set of oracles to report staking rewards to the smart contracts. Their maximum possible impact is limited by the recent upgrade (limit oracles report change by 10% APR increase in stake and 5% decrease in stake), and the operators of oracles are all well-known entities: Stakefish, Certus One, Chorus, Staking Facilities, and P2P.

    Read further in Lido documentation.

    stETH token is the upgradable contract behind AppProxyUpgradeable proxy at https://etherscan.io/address/0xae7ab96520de3a18e5e111b5eaab095312d7fe84. Lido DAO can change the implementation with the successful DAO vote.

    The roles and addresses can be checked in the Aragon UI https://mainnet.lido.fi/#/lido-dao/permissions/app/0xae7ab96520de3a18e5e111b5eaab095312d7fe84

    • Staking risks

    stETH faces staking risks, specifically validator risks including slashing and hostage risks. To mitigate these, Lido works only with best-in-class validators with a track record of success.

    • Withdrawal risks

    To mitigate withdrawal risks, Lido staking went live on December 18th through a withdrawal key ceremony. Chorus One, Staking Facilities, Certus One, Argent, Banteg (yearn.finance), Alex Svanevik (Nansen), Anton Bukov (1inch), Michael Egorov (Curve/Nucypher), Rune Christensen (MakerDAO), Will Harborne (DeversiFi), and Mustafa Al-Bassam (LazyLedger) came together over a four-day event to generate threshold signatures for Lido’s withdrawal keys in a secure environment on air-gapped machines. Lido has already migrated to a non-custodial solution and >50% of all stETH already uses this. Details can be found here: Withdrawal Credentials in Lido

    • Price feed risk

    The Beacon chain oracle has “sanity checks” on both max APR reported (no more than 10%) and total staked amount drop (no more than 5%). The oracle is run by highly respected node operators. The Beacon oracle has no interaction with the ChainLink price feeds.

  8. Market data (Market Cap, 24h Volume, Volatility, Exchanges, Maturity)

    Market Cap $4.25B

    Volatility - Best in class peg. Analytics by @eliasimos.

https://dune.xyz/eliasimos/Eth2-Liquid-Staking

The past couple weeks has seen the stETH/ETH peg slip ~2% and since recover partially. The reasons for the slip were twofold.

  1. The referral program was being abused and resulting in one-sided liquidity additions to the primary curve pool. This is being addressed with the whitelist proposal here: Switch Referral Program to Whitelist Mode

  2. There were some recent projects that have been offering high APR on native ETH and the liquidity swarm removed ETH out of the curve pool as well (similar to one sided staking). These have already decayed drastically as the rewards have turned off and will take a week or two to distribute back to the ecosystem. A portion of that is likely to flow back into the curve pool.

Recovery of the peg since then was swift:

https://dune.xyz/embeds/36557/72603/f7914c2e-ab1c-4bfc-bd85-7e90703c5344

Lido is working on increasing utility (proposals such as this one and Maker) and incentivizing tighter liquidity bands (Uni V3).

Volumes and DEXs

Balancer (wstETH/WETH)

Liquidity: $198.6M

Volume (24h): $100,247

https://dune.xyz/embeds/153863/304423/684fdf22-161c-4352-a41d-81ce8a705c01

SushiSwap (wstETH/DAI)(DAI-wstETH | SushiSwap Analytics)

Liquidity: $35.9M

Volume (24h): $997,218

Utilization: 2.02%

https://dune.xyz/embeds/153729/304165/5c53e046-47ef-485d-9767-6ec188a5629e

Curve (stETH/ETH)

Liquidity: $3.8B

Volume (24h): $11.3M

Utilization: 0.31%

https://dune.xyz/embeds/153374/303383/9c8cb193-4538-497e-a774-c33e78bcd34d

  1. Social channels data (Size of communities, activity on Github)

    Discord - 5500 members

    Twitter - 39.1K followers

    GitHub - Active and managed

  2. Contracts date of deployments, number of transactions, number of holders for tokens

    Date of Deployment: December 18th, 2020
    Number of Transactions (stETH): 76,634+

    Unique Depositors

https://dune.xyz/LidoAnalytical/Lido-Finance-Extended

Unique Holders

https://etherscan.io/token/0xae7ab96520de3a18e5e111b5eaab095312d7fe84

Risk Assessment

Proposed Risk Parameters

These have been modified a bit since the last proposal. The reasons are described below. Generally, the functions of stETH have held consistent during growth and market volatility.

  • LTV: 70%
  • Liquidation Threshold: 75%
  • Liquidation Bonus: 7.5%
  • Reserve Factor: 10%

A LTV of 70% is higher than the 56% average LTV across non-stablecoin assets and 10% lower than ETH’s 80% LTV. This gives the protocol more room to safely liquidate stETH with a volatility profile similar to ETH.

Interest Rate Model:

UOptimal: 60%

Base: 0%

Slope 1: 8%

Slope 2: 200%

As stETH is more suited as collateral instead of a borrowing asset we adjusted the utilization rate to 60% and doubled slope 2 in order to safe guard enough liquidity in the event of market consolidation and liquidation events.

stETH liquidity and risk considerations

  • stETH inherits all of ETH’s market risk, so they should be considered together for the purpose of evaluating market risk
  • stETH value is defined and backed by the value of Ether and expectations on the beacon chain withdrawals timeline. As the expected merge gets closer, stETH risk will drop down significantly.
  • stETH is one of the most liquid tokens in crypto with low exchange volumes and extremely high liquidity
  • stETH liquidity is ensured by Lido’s strategy incentivizing a consistent stETH peg

We will open a snapshot after ~5 days to allow for community feedback.
Thank you.

13 Likes

I think the Risk Parameters are reasonable as initial values and that it is right to have the LTV allowing some extra (10%pts) on the ETH LTV of 80%. Also these numbers are aligned with the WBTC risk parameters.
Assuming stETH is adopted then I think we should monitor for any further downwards divergence from the ETH price in future and maybe revisit the risk parameters if needed in later reviews

Regarding smart-contract risk, some considerations could be added. E.g. lido strongly depends on Aragon’s battle proof codebase, which has been audited several times (Aragon - Blockchain Security DB) and has implemented various security measures ($350M TVL, $250k bug bounty program GitHub - aragon/aragonOS: (Aragon 1) Reference implementation for aragonOS: a Solidity framework for building complex dApps and protocols). The “D” maturity level could be somewhat too punishing.

2 Likes

In the interest of transparency, we (Lido) wanted to notify the AAVE community about a recent vulnerability that was discovered. On Oct 5, 2021, a vulnerability was reported via the Lido bug bounty program on Immunefi by an anonymous whitehat (who later turned out to be Dmitri Tsumak, the founder of Stakewise). The vulnerability could only be exploited by a whitelisted node operator and potentially allowed stealing a small share of user funds.

It is currently mitigated, no funds are at risk, and a long-term solution is under development.

We will provide further updates regarding the vulnerability nature and the proposed long-term mitigations for the Lido protocol as soon as all affected protocols and services implement their mitigations and green light the disclosure.

In light of this we have temporarily postponed the snapshot vote until we can close the loop on this.

3 Likes

Contrary to other productive tokens already supported by Aave (like xSUSHI), stETH’s productivity comes in the form of rebasing as you mentioned (staking yield is expressed as a growing balance of stETH instead of as a growing value per token)


How would a rebasing token work in lending and borrowing?

Case 1
A borrower of 1 stETH via Aave would be liable to pay back:

  1. The 1 stETH + the interest accrued from the borrowing itself (plus incentives);
    OR
  2. The 1 stETH + the interest accrued from the borrowing + incentives + the stETH yield in the form of rebased balance?

Case 2
(Same thought as above)
A depositor of 1 stETH in Aave is entitled to:

  1. The 1 stETH + the interest accrued from the lending (plus incentives);
    OR
  2. The 1 stETH + the interest accrued from lending + incentives + the stETH yield in the form of rebased balance?

Following the normal contract structures that are in place for other assets in Aave, would it be option 1 for both cases (1 and 2).
In this scenario, the borrower of stETH would receive the staking yield and the stETH depositor would only deposit if the deposit APY was greater than lido’s staking APY.

@jbeezy is the proposal to add stETH to Aave under options 1 ou 2 for each case? Would the choice of option 2 require a significant amount of changes to the existing Aave contracts used for the other assets?


Case 3
[Only in case the proposal is to add stETH to Aave without taking into consideration it is a rebasing, productive token - i.e. opting for option 1 in case 1 and case 2]:

Since positions are overcollateralized, in every Aave market there is a higher balance of deposited tokens (market size) than borrowed tokens (total borrowed).

How would stETH’s staking yield of the difference work in these cases (the yield in the form of rebasing of the amount of tokens corresponding to market size - total borrowed)?

2 Likes

We are opting to launch without borrowing of stETH initially. We will make a decision after some initial data on whether borrowing should be activated. We expect stETH, similar to ETH to have a very small borrowing market.

Case 1 – given we enable borrowing:
It would be option 1, meaning if the user has borrowed 1 stETH they have to pay back 1 stETH + interest rate, and get to keep the stETH yield.

Case 2 - again, given that borrowing is on:
It is option 2, except only the token representing the ‘unborrowed’ stETH in the lending pool rebases.

Option 2 in the second case involves significant changes to the AAVE debtToken, and it is very similar to ones made previously by AMPL.

1 Like

Quick update here. As we have a clear way forward regarding the mitigation, we have decided to begin the snapshot period which will run for 3 days. We are still planning to release a full report on the mitigation once all the audits have been completed in the coming week(s).

Snapshot Vote

Please provide any additional feedback during this period if there is any.

1 Like

I disagree with Option 2. Even though the rebase rate is fairly predictable and minimal, I think that treating the borrowed asset differently from the lending asset is fundamentally incompatible with the AAVE lending market. The AMPL market’s volatility around rebases is not something to aspire to imo. This is not a desirable market for organic lenders and borrowers. Most borrowers are simply arbitraging the rebase, and borrowing simply drops close to zero when negative rebases are expected.

Option 2 actually would not require significant changes to the AAVE debt token. In fact, AFAIK, there are no changes to the debt token at all, and the standard debt token contract is used for AMPL. Only the aToken implementation is altered to rebase, so this in effect makes option 2 happen. Option 1 would require altering both the debt token and aToken implementation to rebase if I’m correct about how the AMPL contracts function.

Hey, Gregory from Lido here,
actually, technical design for aToken and debtToken are still being discussed, and you are right about how debtToken for option 2 would require minimal changes. Here’s the spec draft if you want more details.

However, for now, we are pretty positive about how we want debtToken to not rebase. In case we want to enable borrowing for stETH, we believe the non-rebaseable debtToken to be a more intuitive UX. We do expect APY for depositors to be a bit lower than from just holding stETH, but at the same time, lending out stETH would be some kind of ‘derisked’ ETH staking. I mean, regardless of slashing and penalties, depositors would still reive their AAVE APR.

1 Like

Have there been developments in this stETH listing on Aave? Haven’t seen updates since the snapshot passed a couple months ago. Curious about the progress!

cc: @jbeezy

The vote is officially live! Now we need to reach quorum and we will be listed on AAVE: Aave - Open Source Liquidity Protocol

1 Like

Hi,

Can we add stETH to ethereum L2s (optimism and arbitrum) now that Lido has support for L2 stETH tokens?