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:
- Base’s ETH market
- Mainnet’s USDC market
- Arbitrum’s USDC Market.
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.
Resources and Info
Website: https://lido.fi/
Docs: https://docs.lido.fi/
Socials: https://twitter.com/LidoFinance
Token Contract Address:
Mainnet
Base
Arbitrum
Author of Proposal
Kenneth Tan - Defi Protocol Relations Contributor at Lido DAO
Email - kenneth@lido.fi
About Lido Finance and stETH
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.
How would Compound benefit from the listing on these Markets?
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.
Market Risk Assessment and Token Metrics
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
wstETH on Arbitrum
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
wstETH on Base
Supply on Base: 2674.58
Venue with the largest amount of Liquidity:
- Aerodrome - 10m or approx 1902 wstETH
References:
Privileged Roles in the token contract (Whitelisted EOAs, Multisigs, DAOs)
Full description of protocol settings controllable by the DAO here.
Is it Pausable?
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.
Is there a Blacklist?
No
Largest stETH holders
For stETH on Mainnet
- Holder of for stETH on Mainnet
For wstETH on Arbitrum
For wstETH on Base
Smart Contract Risks
Github Repository:
Mainnet:
Arbitrum and Base
Audits and Bug Bounties:
Audits - GitHub - lidofinance/audits
Live Bug Bounty on ImmuneFi, maximum bounty of US $2m - Lido Bug Bounties | Immunefi
Test Suite:
Will the token include implementations on other networks?
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
Arbitrum
Base
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
No
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
Is it burnable?
stETH is burnable on redemption for ETH upon withdrawal
Does the token contract have a fallback function? If so, when does it revert?
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
Does it have a fixed supply? If no, who can mint?
There’s no fixed supply, anyone can deposit their ETH and mint stETH/wstETH
Does it implements any transfer hooks? Or hooks on any method?
No
Is it a rebasing token?
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.
Does the token charge fees on transfers?
No
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.
Is it flash mintable? If yes, please provide more information on this feature
No
Is it flash loanable? If yes, please indicate who offers the service
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 Behaviour
Price feed for stETH is supported by ChainLink across Mainnet, Arbitrum and Base.
Upgradability
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.
Can an upgrade happen instantaneously or is there a time-lock delay?
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.
Who manages the upgrades and how do the upgrades work?
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 Voting
or Agent
apps.
Which components are upgradeable?
The following contracts are upgradeable by DAO voting
LidoLocator
Lido
StakingRouter
NodeOperatorsRegistry
AccountingOracle
ValidatorsExitBusOracle
WithdrawalVault
WithdrawalQueueERC721
LegacyOracle
Conclusion
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!