Gm Compound DAO, Kenneth here. I am a DeFi protocol relations contributor at Lido DAO.
I am writing to get a temperature check before proposing formally the addition of wstETH onto the Compound v3 markets on:
wstETH is an asset that has been integrated into multiple money markets across different chains, such as Aave on Mainnet, Arbitrum, Optimism, and soon Base and also Radiant on Mainnet and Arbitrum. It is also the leading liquid staking token (LST) in terms of market cap and liquidity depth on Mainnet and Arbitrum.
wstETH has also been an integral component in multiple yield vault strategies that involve the use of leverage staking. As such, the inclusion of wstETH on the aforementioned v3 markets will bring value to the Compound ecosystem as it enhances the options available for such strategy vaults building on the respective chains.
Kenneth Tan - Defi Protocol Relations Contributor at Lido DAO
Email - firstname.lastname@example.org
Lido Finance is a family of open-source peer-to-system software tools deployed functioning on Ethereum and Polygon. It is mainly known for enabling users to stake their tokens with validators to receive rewards from validation activities on the blockchain while being able to use the token on-chain in various capacity including as collateral on money markets like Compound on ETH Mainnet.
Since its inception in 2020, Lido has gone on to have over 9m of ETH staked with Lido. stETH is also presently the token with the 8th highest market cap in all of crypto. The demand for stETH as an asset can be seen from its integrations into many facets of defi, including strategy vaults, money markets and more.
wstETH being an asset that generate rewards gives opportunities to people who want to take on extra leverage on an already productive asset. It is a collateral that has high demand especially for protocols that execute yield strategies.
When compared to ETH, wstETH is probably more ideal for people looking to lend out their ETH or take on leverage as it still gives them the staking rewards for holding onto ETH while allowing them to use it as a form of leverage.
Compound’s markets has been integrated into multiple yielding strategies such as InstadApp’s ETH v2 vaults and Yearn Finance’s WETH strategy vaults. Having wstETH on markets that aren’t available will open more doors for similar strategies and integrations especially on L2s.
Current marketcap of token: US $21b
Daily Volume: US $28m
Supply and Emission schedule: 9.2m, supply changes when people either stake or unstake their ETH with Lido. No stETH is premined. There is no emission schedule.
Volatility of Token: Directly related to ETH’s volatility
Largest Liquidity Pools on Ethereum Mainnet:
- Curve - US $250m, approx. 53k wstETH
- Uniswap - US $45.36m, approx. 11.38k wstETH
- Balancer - US $13.79m, approx. 3.86k wstETH in pool
Supply on Arbitrum: 116,843
Venue with the largest amount of Liquidity:
- Uniswap - US $48m, approx. 9.7k wstETH
- Curve - US $3.45m, approx. 646 wstETH
Supply on Base: 2674.58
Venue with the largest amount of Liquidity:
- Aerodrome - 10m or approx 1902 wstETH
Yes, the DAO can vote for the wstETH contract to be paused for crisis management. For a full description of the pausing functions, please refer to the docs here.
For stETH on Mainnet
- Holder of for stETH on Mainnet
For wstETH on Arbitrum
For wstETH on Base
Arbitrum and Base
Audits - GitHub - lidofinance/audits
Live Bug Bounty on ImmuneFi, maximum bounty of US $2m - Lido Bug Bounties | Immunefi
Yes, stETH can be wrapped to wstETH and then bridged onto other networks. Currently the DAO has recognized ownership of canonical bridges on Arbitrum, Optimism and Base
Contract Addresses on L2s
Does the token use a compiler version greater than 0.8.0 or SafeMath? If not, explain how the protocol deals with possible overflows and underflows
For wstETH on mainnet, it uses the compiler version 0.6.12, however, SafeMath is used.
For wstETH on layer-2s like Base and Arbitrum, it uses a compiler version >0.8.0
During the execution of the token’s functions, does the token execute external code chosen by the caller or receiver? If, so please explain the reasoning behind this decision
How does the token contract deviate from a standard implementation of ERC20? Any additional features that the Compound DAO should know about?
stETH is a rebaseable token and follows ERC-20, ERC-2612, ERC-1271 for its implementation. wstETH is a value accruing, non-rebaseable token that follows ERC-20, ERC-2612
stETH is burnable on redemption for ETH upon withdrawal
stETH has a fallback function that calls ‘submit()’, i.e. user stakes their Ether and gets stETH minted in return.
wstETH has a fallback function, that calls ‘submit()’ but stakes Ether, returning wstETH
There’s no fixed supply, anyone can deposit their ETH and mint stETH/wstETH
wstETH does not rebase and is denominated in stETH changes, anyone holding wstETH can convert any amount of it to stETH at a fixed rate and vice versa. The rate is the same for everyone at any given moment.
Is the contract performing arbitrary
delegatecalls? If the answer is yes, indicate who can make these calls and to what contracts
stETH is the proxy contract, so delegatecalls are used to call impl methods (not only token-specific, but required for the protocol to function)
wstETH is non-upgradeable plain contract and doesn’t perform delegatecalls.
It is possible to do a flashloan on Aave v2 with stETH, however there are certain caveats to it. For more information on how it works click here. However we are unaware of flashloan service providers specifically for stETH
Price feed for stETH is supported by ChainLink across Mainnet, Arbitrum and Base.
StETH token is the upgradable contract behind
AppProxyUpgradeable proxy at Lido: stETH Token | Address 0xae7ab96520de3a18e5e111b5eaab095312d7fe84 | Etherscan. Upon a successful DAO vote, Lido DAO can change the implementation to the token contract.
wstETH is non-upgradeable on L1. However it is upgradeable on L2s but only if it passes Lido DAO’s vote.
Lido DAO’s voting has two phases. Aragon voting lasts for 72 hours and has 2 phases. The main phase lasts for 48 hours and is the conventional voting phase, the second phase is the objection phase which lasts for 24 hours where one can vote against or change their vote from for to against. The objection phase works as a timelock.
Upgradeability is implemented either by the Aragon kernel and base contracts OR by the OssifiableProxy instances. To upgrade an Aragon app, one needs the
dao.APP_MANAGER_ROLE permission provided by Aragon. To upgrade an
OssifiableProxy implementation, one needs to be an owner of the proxy. As it was said previously, both belong either to the DAO
The following contracts are upgradeable by DAO voting
The proposal seeks to do a temperature check on the addition of wstETH as a collateral on the Ethereum USDC market, Base ETH market and Arbitrum USDC market.
Having stETH in the markets stated above could bring a wide array of strategies to the users of Compound. stETH is a suitable addition to these markets as it is the leader in the liquid staked tokens sector and is the most liquid and composable asset in that particular vertical.
By giving users the ability to utilise their stETH on these markets, users are exposed to more opportunities and flexibility. stETH is also relatively low risk given that it’s an asset that is dependent on the underlying - ETH.
Thank you for taking the time to read this proposal, I look forward to hearing your feedback!