YIP 72: Launch yETH
Author | 0xkorin, 0xPickles |
---|---|
Discussions-To | https://gov.yearn.finance/t/proposal-launch-yeth/13158 |
Status | Approved |
Created | 2023-04-21 |
Summary
Launch yETH - a permissionless and self-governing representation of a basket of ETH Liquid Staking Tokens (LSDs).
Abstract
If adopted, this proposal seeks to:
- Ratify the Design Specification of yETH and endorse its deployment.
- Specify the bootstrapping and implementation process.
- Specify parameters and initial configurations.
- Specify functionality during normal operations.
Background
Yearn ETH (yETH) is minted when users deposit into a basket of various ETH Liquid Staking Tokens (LSDs). yETH enables reclaiming the deposited value and, when staked, earning the associated Ethereum PoS staking rewards with a more blended risk/reward profile through diversification of LSDs.
With an ever-growing number of LSDs, each has different yield, risk, and decentralization profiles, as well as varying degrees of market liquidity. Diversifying and hedging staked ETH positions across these protocols to reduce the impact of one failing is challenging. Market pricing inefficiencies can lead to trading opportunities against the underlying backed ETH value of the protocol. Staked ETH in a standard liquidity pool is not ideal from a collateral perspective, as the pool is only ever as safe as the least safe LSD in it. Meanwhile, new LSDs may struggle to grow and attract enough usage and liquidity to be competitive against protocols with large market share.
yETH is conceived as a solution to these challenges.
yETH in a nutshell
- The protocol functions as a Curve-style stable asset pool containing a dynamic number of assets. Unlike a Curve pool, the pool composition can fluctuate only within predefined ranges - each asset has a target weight as a % of total pool assets and a band within which it can fluctuate. This helps protect yETH’s function as collateral in severe depegging or slashing events.
- Users deposit LSDs or ETH into the pool and receive yETH. Users burn yETH to receive LSDs.
- 1 yETH corresponds to 1 ETH staked in the underlying LSDs and owned by the yETH pool.
- Vanilla yETH does not earn yield. Instead, users stake yETH as Staked yETH (st-yETH) to earn compounded yETH according to the earnings of LSDs and other protocol rewards.
- Users can swap assets with the yETH pool, paying a fee to st-yETH holders.
- st-yETH holders govern all aspects of the protocol. They decide which LSDs to include in yETH, set the target composition of the pool, and configure protocol parameters.
- LSD protocols can use yETH as a liquidity source for their protocol. They can reward st-yETH holders for whitelisting the protocol in the yETH pool, for increasing the protocol’s relative weight in the pool, or increasing uptake and usage of their LSD.
Design Principles
The yETH protocol is designed to be:
- Self-governing. yETH token holders (via st-yETH) control the protocol in its entirety.
- Immutable. yETH is not upgradable. Improvements require deploying a new version.
- Trust-minimized. No third-party should be able to access funds or alter the state of the protocol. Users remain in control of their own funds.
- Autonomous. Critical operation of yETH should not rely on any third-party individuals, group, or entity.
Out of scope
Yearn contributors and YFI/veYFI token holders are not involved in:
- ETH staking.
- Operating ETH validators, Consensus Layer clients, or Execution Layer clients.
- Evaluating LSD protocols for yETH inclusion.
- Setting asset weights or altering yETH protocol behavior.
- Yield and product performance. This is determined by the protocol’s configuration, which is governed by its users.
Motivation
Use Case Examples
- As a user, I can hold yETH to potentially achieve a better risk-adjusted yield than any single individual LSD.
- As a searcher, I can arbitrage yETH when price imbalances arise to earn profits.
- As a DeFi protocol, I can accept yETH as collateral and enjoy greater guarantees around its value compared to any single individual LSD token.
- As an LSD protocol, I can incentivize my token’s inclusion in yETH to increase demand and usage while raising awareness of my product.
Future Possibilities
- Use yETH as collateral in other smart contract systems, including Yearn.
- Deploy yETH-related vaults and strategies.
- Allow third parties to optimize asset weights and allocation permissionlessly.
- Introduce new smart contract systems/protocols for various asset types.
Risks
Some potential risks include:
- An LSD in yETH experiences severe depegging, failure, or exploitation.
- A critical flaw in yETH’s design or implementation results in unintended behavior.
- Poor asset choices or incorrect protocol parameters by st-yETH voters lead to subpar performance and functionality.
- Unattractive yield due to increased competition in ETH staking, causing reduced demand.
Alternatives Considered
- Creating a Yearn-themed ETH LSD: Rejected due to lack of perceived competitive advantage over existing protocols.
- Utilizing an existing pool design: Rejected as no existing designs allow stable assets to be swapped within bands while their composition is dynamically updated.
- Granting veYFI governance power: Rejected to prevent yETH from becoming reliant on third-party operation and functionality.
Specification
1. Design Spec
- Approve the yETH protocol specification described in
SPECIFICATION.md
[#1].
2. Role Assignment
- Treasury: Yearn Treasury or an autonomous splitter contract directed by yBudget.
- Management: yChad, to execute st-yETH voters’ decisions only. Replaced by a smart contract after successful launch.
- Guardian: “yETH-guard”, a Gnosis Safe with a 2-of-7 signing threshold, consisting of Yearn contributors to monitor the protocol and trigger Pause mode if needed. Guardian participation is done on a gratuitous, volunteer basis–no duty of care or ongoing monitoring is assumed or implied.
3. Normal Operation Requirements
3.1 Epochs & Voting
- The duration of an Epoch is four weeks.
- Epochs start every Thursday at
00:00:00 UTC
, aligning with Curve’s veCRV epochs. - One week before the start of a new epoch is the voting period.
- At the start of the voting period, a snapshot of st-yETH holders’ voting power is taken, and st-yETH holders vote using this snapshot.
- st-yETH voting power increases asymptotically weekly.
- Vote weight of st-yETH tokens resets upon transfer.
- There are three types of governance proposals:
- Weight Allocations: The distribution of yETH asset weight based on voter preferences.
- Whitelisting Proposals: The selection of assets for yETH inclusion.
- General Proposals: Suggested parameter changes and other matters.
- Each voting period has one Weight Allocation vote and may have one Whitelisting vote (if there is at least one LSD protocol applying for inclusion), and any number of General Proposals to vote on.
- General proposal submission occurs in a dedicated Yearn governance forum section.
- Voting starts with Snapshot, transitioning to on-chain later.
- No quorum requirements.
- Fractional voting is permitted.
- Votes are final and irreversible.
- General proposals require a 2/3 qualified majority vote (66.66% in favor).
- General proposals execute in submission order; later proposals override earlier ones.
- No proposals are accepted during active voting periods.
- At the start of each epoch, new assets are whitelisted, approved proposals are enacted, and weight votes are applied.
- Yearn contributors may add proposal warning notes but are not required to. No proposal review process exists.
3.2 Whitelisting
- Whitelisting is the process of adding an asset to yETH’s composition.
- Only one new asset can be whitelisted per epoch.
- The maximum number of assets in yETH is 32.
- LSD protocols seeking whitelisting pay an application fee (in yETH) before the voting period starts.
- The application fee is distributed to the POL Contract.
- Application fees are used to seed whitelisted assets into yETH, gradually introducing them into the asset composition.
- The yETH used for seeding is distributed by the POL Contract to st-yETH holders as yield.
- During the voting period, st-yETH holders vote on asset inclusion (if any).
- Voters may choose not to whitelist any assets, maintaining yETH’s current composition.
- The option with the most votes is chosen as the outcome.
- LSD protocols may apply for whitelisting in multiple epochs, paying application fees for each attempt.
- Whitelisted assets start with a target weight near 0%, gradually increasing to the Initial Weight parameter, adjusting other assets accordingly.
- A Rate Provider contract must be deployed before the whitelisted asset’s inclusion.
3.3 Parameters
Default values of the parameters below can be changed by st-yETH token holders voting to pass General governance proposals:
Parameter | Description | Configurable Range | Default |
---|---|---|---|
t_half |
Time taken to accumulate half the voting weight | 7-365 days | 60 days (180 days to reach 75% voting power) |
Weight to be voted on | Weight allocated to each whitelisted asset for voting on reallocation per epoch | 1-33% | 10% |
Amplification parameter A |
Same property as in a typical Curve pool, determines the sensitivity to pool imbalances | N/A | 450 |
Tolerance range | Permissible deviation range of assets from their target weight (configurable per asset) | +/- 100% | +/- 5% for all assets |
Application Fee | Fee to apply for whitelisting as an LSD protocol | 0-10 yETH | 1 yETH |
Initial Weight | Initial weight assigned to a whitelisted asset | 0.1-1.0% | 1.0% |
Pool Swap Fee | Fee charged for swapping assets with the pool, paid to st-yETH holders | 0.00-1.00% | 0.03% |
Protocol Fee | Performance fee paid to Yearn Treasury | 5-20% | 10% |
3.4 Incentives
- yETH natively supports LSD protocols offering rewards as an incentive for st-YETH holders to integrate and support their respective protocols.
- Any asset can be offered as a reward for passing a specific outcome of a Governance proposal (Weight allocation, Whitelisting, or Governance proposal).
- Both positive (vote in favor) and negative (vote against) incentives are accepted.
- Inventives can be posted during the three-week interval between voting rounds.
- Incentives are not accepted during active voting rounds.
- If an outcome doesn’t occur, the poster can claim their incentive after the voting round concludes.
- If an outcome occurs, incentives are distributed to all st-yETH voters who participated, regardless of their vote.
- A 1% fee on successful incentive rewards is paid to Yearn Treasury.
Figure 1. Normal Operation Timeline
|--week1--|--week2--|--week3--|--week4--|--week5--|...
| epoch 0 | epoch 2...
| incentives for vote 1 | vote 1 | incentives for vote 2...
x st-yETH snapshot for vote 1
x update yETH according to vote 1 results
x distribute vote 1 incentives
4. Minting Permissions
Only three smart contracts are allowed to mint yETH:
- The Pool, holding LSD assets and minting yETH at a 1:1 ratio to the ETH equivalent of these assets.
- The Bootstrapper, used to launch yETH, with minting enabled only for a limited time period.
- The POL contract, providing protocol-owned liquidity in pools.
5. Bootstrapping Requirements
5.1 Whitelist
- Duration: 3 weeks
- To be included in yETH bootstrapping, LSD protocols must pay a 1 ETH non-refundable fee, which turns into yield for st-yETH users.
- Protocols then fill out a form with basic screening questions.
- Yearn contributors review responses, filtering out fraudulent applications without evaluating protocol quality. They may add warnings, but their absence shouldn’t imply support.
- Screened LSD protocols are whitelisted for the bootstrap phase.
5.2 Incentives
- Duration: 2 weeks, overlapping the final week of whitelisting.
- Incentive reward requirements resemble Normal Operation but prioritize votes for whitelisted LSD protocols during bootstrap.
5.3 Deposit
- Duration: 2 weeks, concurrent with the incentive phase.
- Future yETH users deposit ETH in the Bootstrapper contract, receiving 1:1 st-yETH.
- The contract logs its yETH debt.
- Bootstrap st-yETH is locked for 16 weeks, unless the yETH pool is ‘killed’.
- At the deposit phase end, Bootstrapper disables deposits and yETH minting.
5.4 Vote
- Duration: 1 week, following Incentives.
- Voting resembles Normal Operation but focuses on selecting LSD protocols for yETH at launch.
- The top 5 LSDs with the most votes are included.
- No single LSD can exceed 45% of the total pool weight.
- If fewer than 5 LSDs apply, protocols with votes are included, and pool weight is assigned based on vote share.
- Included LSDs have tolerance ranges of +/- 5%.
5.5 Launch
- Duration: 2 weeks (approx)
- Incentive rewards are given to st-yETH holders who participated in voting.
- Rate Provider contracts are deployed for each approved LSD.
- 90% of deposited ETH buys LSDs for the initial yETH composition, as determined by voters.
- LSD purchases occur via yChad, using CowSwap and the Yearn SeaSolver (when possible) for best execution.
- Bought LSDs enter the yETH pool, minting yETH.
- This yETH repays the bootstrapper’s debt (up to 90%).
- Surplus LSDs from market discounts are distributed as yield to st-yETH holders.
- The remaining 10% of deposited ETH serves as POL.
- A yETH/ETH Curve Pool is deployed.
- A yETH/ETH Curve Pool Gauge is requested.
- If a Gauge is approved, a yETH/ETH Curve yVault is deployed from the Yearn Curve Vault Factory.
Figure 2. Bootstrap Timeline
|--week1--|--week2--|--week3--|--week4--|--week5--|--week6--|--week7--|...
| Whitelist |
| Incentive |
| Deposit |
| Vote |
| Launch
6. Protocol Owned Liquidity
6.1 Initialization
- Transfer 10% of ETH acquired during Bootstrapping to the POL contract.
- The debt owed to Bootstrapper contract is repaid during POL operations or in case of a Full Redemption.
6.2 yETH Minting and Usage
- The POL contract can only mint yETH equivalent to its available ETH.
- yETH minted for POL is exclusively used to provide liquidity in various protocols.
- The POL contract burns yETH after providing liquidity.
6.3 POL Modules
- POL operations are managed via privileged function calls through POL Modules attached to the POL Contract.
- Function calls are executed by a Gnosis Safe multi-sig managed by the yETH yTeam.
- The POL Contract transfers minted yETH to POL Modules for operations.
- Call capabilities are limited to predefined operations for ongoing POL management, prohibiting arbitrary actions.
- The POL contract and POL Module contracts are immutable.
- POL Module contracts can be attached and detached to the POL contract with st-yETH voter approval.
- The POL contract can be replaced via governance proposal approved by st-yETH voters.
- At launch, there will be a yETH/ETH Curve pool POL Module and a Full Redemption Module.
6.4 Full Redemption Module
- If yETH pool enters “Killed” state (via st-yETH vote), the POL contract accepts redemptions.
- The POL contract unwraps LP positions and burns excess yETH.
- Users can send yETH to the POL contract to redeem ETH.
- Received yETH repays outstanding Bootstrapper debt.
6.5 Excess Assets
- Unused ETH from bootstrapping may be converted into LSD tokens and deposited into yETH, to improve yield for st-yETH holders.
- Excess resulting from POL operations can be:
- Divested to st-yETH holders as extra yield.
- Reinvested into expanded POL operations, such as additional liquidity pools or protocols to increase yETH liquidity.
7. Implementation
- After this proposal’s approval, yETH begins the bootstrapping phase.
- Yearn contributors are mandated to execute and deploy contracts according to the design specification in this section.
- Once yETH is operational and functioning correctly, Yearn contributors are mandated to codify all operations on-chain using smart contracts, achieving full immutability.
- The aim is to achieve full immutability within 90 days of yETH operation.
8. Use at Own Risk
yETH is designed to be governed by its token holders who decide on assets to onboard and configure the protocol. Yearn contributors and YFI token holders are not involved and will not compensate users for any critical failure or loss of funds resulting from yETH usage.
References
- https://hackmd.io/@0xkorin/BJDmRreMh
Changelog
- Apr 13: Original post
- Apr 17: Explicitly permit POL to convert ETH position into yETH (6.5.1), Add changelog section
Copyright
Copyright and related rights waived via CC0.
Information
Source: Snapshot
Name | Value |
---|---|
Snapshot Space | veYFI.eth |
Strategie(s) | veYFI, delegation |
Author | 0x2f5504C9AC9E3B26cBFd656627c3CbF39db7Bea6 |
IPFS | https://cloudflare-ipfs.com/ipfs/QmNxWT18NXKcvJJVbR63bYHSbKenw1oKP95wuzLM8dicrc |
Voting System | Single choice voting |
Start date | 2023-04-21 |
End date | 2023-04-26 |
Snapshot | https://etherscan.io/block/17094722 |
Results
Result | Value |
---|---|
Yes | 152 veYFI (100%) |
No | 0 veYFI (0.00%) |