# 🍄 1UP: A public good liquid locker for veYFI
## tl;dr
**1UP** is a boost aggregator for Yearn's veYFI operating as a neutral public good. Written from the ground up, 1UP's immutable codebase allows YFI holders, Yearn contributors, and teams, to lock YFI into veYFI while at the same time aggregating and sharing the boost amongst one another. This is achieved without extracting value from the system, 100% of fees levied are directed back into the protocol for the sole purpose of perpetually growing its veYFI position, deepen liquidity, and grow the user base.
## Supported Use Cases
### §1 Convert YFI
- Convert YFI into **upYFI** at a 1:1 ratio.
- YFI gets perma-locked and extended.
### §2 Stake yvTokens
- Stake Yearn vault tokens (yvTokens) in gauges.
- Stakers earn dYFI rewards, which are boosted based on the total YFI amount locked in the protocol (as per §1).
### §3 Stake upYFI
- Stake upYFI as s-upYFI, which can be unstaked at any time.
- Once unstaked, s-upYFI is streamed linearly to the user over 1 week as upYFI.
- s-upYFI holders incrementally accrue veYFI governance voting power. In the epoch staked, tokens earn 25% power. Voting power then increases by 25% each epoch until reaching full (100%) power four veYFI epochs in.
|epoch|voting power|
|---|---|
|n | 25%|
|n+1| 50% |
|n+2 | 75% |
|n+3 | 100%|
- Voting power is reset if s-upYFI is unstaked or transferred.
- s-upYFI holders are entitled to a proportionate share of rewards from the staking moment.
- s-upYFI rewards:
- Early exit rewards (in YFI, originating from §1).
- Boost forfeit rewards (in dYFI, originating from §1).
- Early exit of total YFI locked in 1UP is possible. If 75% of s-upYFI voting power votes affirmative, the Guardian multi-sig (below) has 5 days to veto the decision, or else it goes into effect. Exited YFI is claimable through burning of upYFI.
#### s-upYFI voting
- For veYFI gauge weight voting, a default `10%` of total vote power is allocated to the upYFI/YFI gauge (once available). The amount can be changed by s-upYFI voters.
- Users vote on the following:
- In veYFI governance votes
- To set protocol fees & claim bonus (within pre-determined ranges)
- To set default upYFI/YFI weight allocation (within pre-determined range)
- To exit early
- Signalling proposals, non-binding proposals for future protocol enhancements
### s-upYFI vesting [optional feature]
- YFI can optionally be converted and staked as s-upYFI, and immediately locked thereafter for a configurable duration for the benefit of a third party recipient. The use case for this is contributor or team vesting packages.
- If deployed through this vesting mechanic, s-upYFI receives full vote and reward power immediately and throughout the vesting period.
- Locked s-upYFI can either be 100% unlocked at the expiration date, or streamed linearly during the lock period, this is configurable as part of the initial lock.
- There's an optional "rug" functionality of the vest, where any remaining vesting tokens can be reclaimed by the issuer.
### s-upYFI matching [optional feature]
- YFI is deposited into the matching contract, specifying a `matching_rate` (i.e. `0.25`) and a `recipient`
- The depositor can at any point withdraw the YFI from the matching contract
- A permissionless function call triggers locking of YFI into 1UP and staking as s-upYFI:
```
# total_1UP_veYFI: total veYFI locked in 1UP
# total_matching_locks: total YFI locked by the matching contract so far
1UP_veYFI_ex_matching = total_1UP_veYFI - total_matching_locks
YFI_to_lock = matching_rate * 1UP_veYFI_ex_matching
```
- The resulting s-upYFI is claimable by `recipient`.
## Fees
- Fees are levied in the following places in 1UP:
- **dYFI Farming (from §2):** A performance fee is applied on the dYFI rewards earned by yvToken stakers.
- **Staked upYFI (from §3):** A performance fee is levied on early exit (YFI) and boost forfeit (dYFI) rewards earned by upYFI stakers.
- A performance fee is charged to the harvester (a permissionless function call).
- Fees can be altered by s-upYFI holders:
|fee |accepted range| default value
|---|---:|---:|
|dYFI Farming | 0<=x<=50%| 30% |
|s-upYFI | 0<=x<=50% | 30%
|harvest call | 0<=x<=5% | 0.5% |
## Claim bonus (fee discount)
- Whenever a user claims rewards from dYFI farming or s-upYFI, they have three options:
1. **Claim without bonus.** This allows a user to claim their rewards as dYFI or YFI (depending on the reward).
2. **Claim with 15% bonus.** This converts the user's rewards into upYFI and stakes it as s-upYFI.
3. **Claim with 30% bonus.** This requires the user to contribute ETH for dYFI redemptions, rewards are then converted into upYFI and staked as s-upYFI.
- Effectively, "Claim bonus" is another form of expressing fee discounts. The bonus is equivalent to 100% fee discount if ETH is provided, and 50% fee discount if no ETH is provided.
- Bonus parameters can be altered by s-upYFI holders:
|bonus |accepted range| default value
|---|---:|---:|
|Claim without ETH fee discount | 0<=x<=100% | 50%
|Claim with ETH fee discount | 0<=x<=100% | 100%
## AMO (Automated Market Operations)
- Fees are directed to the AMO, which aims to optimize Protocol Owned Liquidity (POL) and protocol health.
- AMO activities include:
- Redeeming dYFI into YFI
- Selling dYFI for ETH
- Converting YFI into upYFI
- LPing upYFI/YFI, dYFI/ETH, or YFI/ETH via yVaults
- Staking yVault tokens 1UP
- Minting/Burning upYFI for the purpose of providing liquidity in pools
- Bribing veYFI and veCRV gauges for upYFI/YFI
- The AMO is controlled by the AMO multi-sig, which is limited to only carrying out AMO activities.
- AMO can be unwound by converting all assets into upYFI and thereafter distributing the additional upYFI to s-upYFI holders.
- In the event of Early Exit being triggered, the AMO becomes unwound as part of the exit process.
## Guardian multi-sig
- A `3/5` multi-sig of trusted yearn ecosystem individuals
- Sets AMO multi-sig
- Can trigger unwinding of the AMO
- Can veto early exit vote by s-upYFI voters (if within 5 day timelock)
- Can pause deposits to a gauge
- Can pause upYFI minting
## Launch plan
### Phase 1: MVP
- Lock YFI into upYFI
- Stake yvTokens
- s-upYFI staking
- s-upYFI voting via Snapshot
- s-upYFI vesting
- s-upYFI matching
- AMO
- Guardian
### Phase 2: Reduce manual operations
- Deploy auctions, permissionless functions that any user can call and receive a reward as part of completing:
- Redeem YFI using protocol earned dYFI through providing ETH
- LP upYFI/YFI
- LP YFI/ETH
- Automate and reduce AMO operations, with the aim that the AMO mult-sig no longer is needed.
- Move from Snapshot s-upYFI voting to onchain voting (blocked by veYFI on-chain governance)
### Phase 3: Fully immutable
- Unwind the AMO or enshrine it as permanent
- Make sure all actions are automated or on-chain
- Eliminate Guardian multi-sig (eventually)
## Other topics
### Governance Token & Airdrop
- There is no governance token or airdrop planned at this moment.
- Depending on market conditions or if competition arises that threatens the protocol, a token may be considered, as an effective blocking move.
- In the event of such a token, there will be no team allocation.
### Team Rewards
- No protocol team rewards.
- No protocol multi-sig rewards.
- Contributors are funded via Yearn Funding Requests.