Staking implementation

From its beginnings as a less resource-intensive alternative to mining, where funds are locked in a wallet to support the security and operation of a blockchain and users earn rewards, until 2021, staking has gone a long way.

Staking in DeFi can add valuable utility and promote long term sustainability and incentivize the entire IDLE ecosystem for their commitment.

The Idle community in the past has voiced their opinion that staking should be added to IDLE (here Staking Model, and here Tranches + Staking) and the Idle team has listened and included it in the 2021 roadmap (here).

As of today, the pilot league committee has made the decision to include Staking in their budget and as it always will be, itā€™s reaching out to the community for feedback.
The pilot league committee is looking for a staking framework that can provide users with many valuable features and allows its loyal hodlers control of the future of the Idle protocol.

Idle stakers will determine the structure of upcoming projects, shaping and growing the protocol. Staking in Idle will address the biggest common problem with past staking experiments: no meaningful use for staking tokens meant that after the lock-up period farmers just pump and dump to the next project.

For these reasons, the pilot league committee would like to introduce for discussion with the Idle community the Curve staking model and build a lot of innovative features that are unique in the DeFi space.

How the Curve staking model works?

As Davide already explained in the comments of this post (New Distribution & Staking Model) the Curve model introduces a staking mechanism that aligns incentives and streamlines collaboration between the IDLE team, Idle community and other participants.

In is initial analysis Davide pointed out some of the main benefits of the curve staking model:

  • Token holders that want to join the Governance lock $IDLE for long periods and have full voting power;
  • Token holders that prefer a balanced strategy between funds availability and Governance participation have reduced voting power (short locking period);
  • Token holders interested in $IDLE Liquidity Mining get a reward boost by locking tokens (or the opposite situation, investors that do not hold enough $IDLE get reduced incentives);
  • Token holders that are not interested in the Governance prefer funds availability, therefore have no voting rights.

By now it starts to seem obvious why the curve staking model provides a very good starting point that marks excellent reference points for Idle. The challenge now becomes how IDLE could improve the given model and add innovative features that can even further incorporate the Ethos of the Idle ecosystem.

For that, the Pilot league Committee as always is looking to kick start the conversation with the Idle community. Idle is built by the community and for the community.

To kickstart the discussion, I would like to propose the following improvements:

  • Staking a certain amount of IDLE will boost voting power on snapshots
  • Staking can give ā€œpriority accessā€ to new strategies/assets/protocols. For example, when a new strategy or new asset or a new lending protocol is added to IDLE, access for the first 2 weeks will only be granted to users staking a certain amount of IDLE.
  • Add an unstaking 5-day cool-down period. For stakers that want an immediate exit, they will be able to do so for a 5% fee, otherwise after 5 days there is no fee.
  • Offer discounts on all (present and future) Idleā€™s commission(s) fees (performance fee and management fee) depending on how much tokens the user is staking (tier discounts).
  • Mint an exclusive IDLE NFT only for users that stake for a long period(s?). These NFTā€™s will be like ā€œgift vouchersā€ with no immediate value. It will be the community who will later decide what these NFTā€™s will be used for (example: an IDLE Airdrop). Letā€™s name these NFTā€™s in a fun way and to come up with some cool memes.

This is the beginning of the discussion that will determine how staking in IDLE will be implemented in a future IIP. The staking model has been created to reward loyalty and not to add financial incentives that promote or incentivize price speculation. Itā€™s also important that the final staking framework does not add any inflation to the IDLE protocol. The three macro focus areas of the staking model will be: the list of features, the technology and the economic model.

The Pilot League Committee is looking forward to listening to the feedback from the community and starting the implementation after consensus has been archived.

12 Likes

Awesome post and Ideas Salome. I think all that will be a great fit. Looking forward to what other ideas ppl have as well. I have nothing to add to your ideas.

But I do want to add this since were on the topic of stakingā€¦

I dont think all this upcoming stuff is enough to get many to stake right away. And I think its very important to get a lot of the supply locked up while giving team time to finish everything on roadmap. Protocol fees wont be anything crazy for a while imo, so not enough incentive to get ppl to stake.

IMO I know this might be viewed as a waste of tokens to the team, but with the protocol being so new, they need to create a way to get majority of users to lock up their IDLE for 3,6,9 months (TO get 70%+ supply lock). This will help MC rise nicely over those 3-9 months, keep charts looking nice, dry up supply, and incentive early investorsā€¦and gives time for the team to build everything out.

The only way I see 70-80% locked up, is if we get those 140k uncollected tokens. Use 70k for locked tier staking program and use 70k for LP program.

For the staking program, the longer you stake, the more of the pool you get. Have staking program end in Dec. The protocol fees can still be rewarded as well on top of this in the meantime.

By then, the protocol will be extremely large imo, and people will end up wanting to stake for the protocol fees and other benefits listed in the forum.

BUT AS OF NOW, even with all this stuff being released, it will still only get a few % of ppl to stake. I know I personally wont be, even tho Iā€™m a big fan of the project and will continue to support it.

ALSO, we could milk the staking rewards until its drained completely (The 70k I mentioned).

Basically, at the end of every 30 days, stakers need to claim rewards. If they choose to lock up for 3 months (x% Bonus APY), 6 months (x% bonus APY), 12 months (x% Bonus APY). The APY/staking rewards can be set my governance. Im not sure on the math and how exactly it would work, but something along those lines. Use this system until rewards are fully drained, and then the system after its done will be based on the protocol fees and everything else mentioned. Like I stated, this is just temporary and just enough incentive to get a good % of tokens locked while team fully develops everything.

4 Likes

I would also like to see a direct incentive to LPā€™s as the liquidity currently is inadequate.

I also agree that we should look for ways to better reward early adopters to hold the token providing some type of time bound direct incentive with tiers based on length of time staked.

4 Likes

Thanks for raising this discussion Salome! I have a couple of thoughts Iā€™d like to add:

I had brought this up in the Staking + Tranche Strategies Combined discussion but I think we should implement staking for LP tokens and I recommend providing stronger incentives for an investor willing to stake LP tokens over simply $IDLE tokens.

To reiterate my points in the other thread, I think itā€™s much more value-adding for IDLE as a whole if we incentivize staking LP tokens, because by focusing on improving liquidity, weā€™d be able to:

  1. Improving slippage and overall trading conditions for all market participants
  2. Improve LP yields for existing liquidity providers as the token price would become more stable, which as a result would also attract new participants to begin providing liquidity
  3. Investors would be able to earn yield by means of LP and staking at the same time, doubling yield which increases the value prop of $IDLE and attracting a new class of investors onto the protocol
  4. Bonus: consider opening up our Balancer pool for the LP token staking. This way, investors are earning triple yield (+$BAL tokens for providing liquidity to Balancer) while also solidifying the Balancer pool as the primary trading pool, which would increase trading volumes for the pool and result in higher swap fees for the smart treasury.

I propose having two staking options available - the LP token (I recommend IDLE/WETH which is our current main trading pair) as well as just $IDLE alone.

The UI for staking should make it easy for investors to deposit/withdraw + stake/unstake from the Idle protocol directly. I highly recommend using the Saffron Finance UI for inspiration as their protocol is super intuitive and easy to use when it comes to depositing and staking (see below)

Staking IDLE vs IDLE LP Tokens

In terms of the incentives for staking, I propose allocating greater rewards to staking via LP tokens over simply IDLE tokens because as mentioned above, having higher levels of liquidity adds tremendous value to the protocol and the community as a whole and investors who are willing to take the risk of LPing should be rewarded for it.

A simple structure that makes it easy for everyone to understand is whatever incentives we provide for staking $IDLE tokens, we could provide 2x the benefits for staking LP tokens.

So for example, if staking $IDLE tokens provide (numbers for illustration only):

  1. 1.2x voting power per token (+20% voting power)
  2. 40% reduced performance fees

Staking WETH/IDLE LP tokens would provide:

  1. 1.4x voting power per token (+40% voting power)
  2. 80% reduced performance fees

Incentives for voting

An additional point Iā€™d like to bring up is that we should also reward investors who play an active role in the protocol. Balancer has a simple incentive mechanism for this called govFactor (govFactor proposal) where liquidity providers receive a 1.1x reward allocation on their weekly liquidity mining rewards if they have voted in the most recent proposal versus liquidity providers who have not voted.

Reallocating 50% of the $IDLE distribution in asset pools over to staking pools

Iā€™d also like to propose reallocating 50% of the $IDLE paid out to the various asset pools to be used for staking instead, allocating it on a 33.33% - 66.67% basis for $IDLE staking vs $IDLE / $WETH LP staking (based on the 1:2x ratio mentioned above for staking $IDLE vs $IDLE/WETH LP)

The token allocation for the two pools above would be distributed based on the amount you have staked in the tokens, prorated to the total amount of tokens staked in each of the pools. With govFactor in play, any investors who are staked and have voted in the most recent proposal will receive a 1.1x multiplier over the others who have not voted.

It might sound like weā€™re reducing yield and providing less incentives for depositing into the various yield generating pools, but thatā€™s not true. By reallocating 50% of the $IDLE tokens for staking, we are increasing the value proposition and utility of $IDLE, which in turn should theoretically increase the token price of $IDLE. If the price of $IDLE goes up, this would offset the reduced allocation of IDLE tokens for each pool and ultimately bring yields to similar levels, if not higher levels than where weā€™re currently at with depositing into any one of the asset pools.

Time-locked staking

I really like the idea of time-locked staking raised by others in the thread, and my thought would be to implement time-locked staking in a similar way to how govFactor is explained above. To start, Iā€™d propose giving investors the option to lock for the following periods:

  • 6 months: 1.25x multiplier to vote weight + $IDLE distribution
  • 1 year: 1.75x multiplier to vote weight + $IDLE distribution
  • 2 years: 2.25x multiplier to vote weight + $IDLE distribution
  • 4 years: 3.5x multiplier to vote weight + $IDLE distribution

An investor whoā€™s willing to commit to the protocol for 4 years in this case, would receive an almost 3x heavier weighting on their vote + $IDLE distribution compared to someone whoā€™s only willing to commit 6 months. This makes sense IMO and we would be aligning incentives directly with how active they are in the protocol (govFactor) + how much and how long theyā€™re willing to commit to the protocol (time-locked staking).

9 Likes

question regarding staking LP tokens: how to choose and reward all (or some?) the pools where IDLE is available?

3 Likes

We should choose one pool specifically that we want to reward LP stakers for. For example, if we were to open up the Balancer pool for LP, stakers would add liquidity and deposit the LP tokens to Balancer directly through the Idle staking UI (Saffron UI above for reference), earning them yield on:

  1. A share of the swap fees
  2. $BAL tokens for adding liquidity to Balancer
  3. $IDLE distribution if we agree to reallocate 50% of the $IDLE distribution from various asset pools over to the staking pools

So it would just be two staking pools in this case. 1 Staking pool for $IDLE, and 1 staking pool for the Balancer $IDLE/$WETH LP token - with any staking benefits allocated on a 1:2 ratio.

6 Likes

Really great and thorough suggestion. Totally agree.

3 Likes

Great work @Salome and @wlamhk for providing very interesting insights on the staking model!

This thread is collecting lots of features that can give new use cases to the $IDLE token, and itā€™s amazing to see how many possibilities are there.

I understand @falconeā€™s concerns regarding the long implementation journey, and I agree with the advantages expressed by @wlamhk on the LP staking instead of $IDLE staking.

Itā€™s in my knowledge that the $IDLE token is already part of the Sushiswap Onsen program and the LP tokens get about 100% APY thanks to SUSHI rewards. The returns seem high, but the liquidity is still low ($400k). I wonder if adding other incentives to these LP tokens (in form of IDLE) would effectively increase the liquidity up to millions , or the outcome would not be adequate for the protocol and create a better experience for users.

By the way, if this Uni/Sushi LPs incentive program moves forward, I would advise including a vesting mechanism (e.g. 1/3 immediately available, 2/3 after 6 months or linearly vested) to limit the circulating supply emission rate.

The technical design probably needs to be discussed first, as it affects the implementation of new features: if initiatives like ā€œpriority access to future productsā€ or ā€œfee-sharingā€ are designed on $IDLE tokens, the issuing of $veIDLE would require contract refactoring, duplicating the efforts in terms of time and resources for development/audit.

An initial staking MVP based on the Curve staking model could come with 2 features:

  • Boost of voting rights
  • Boost of rewards for idleTokens liquidity providers

That layer would provide both economic and governance incentives to users of Idle protocol, and it would be possible to implement fee-sharing, priority access, and any sort of additional feature using the $veIDLE token.

Timing is crucial and staking is one of the most discussed topics, with strong community momentum. Pending more technical feedback from our community & builders, I would be keen to see our Pilot League setting up an official development grant for this initiative.

Thanks everyone here for your contribution!

5 Likes

There are good arguments in favor or both Balancer and Sushi.
I see no added value at this point to reward LP on Uniswap.

The technical design probably needs to be discussed first, as it affects the implementation of new features: if initiatives like ā€œ priority access to future products ā€ or ā€œ fee-sharing ā€ are designed on $IDLE tokens, the issuing of $veIDLE would require contract refactoring, duplicating the efforts in terms of time and resources for development/audit.

Idle has plenty resources for protocol development. This could be the perfect scenario to get more talented devs involved in developing the protocol. IMO we are discussing a model that adds value and innovation if we compare it to what is available right now and that will bring a lot of attention from the media and the community. ItĀ“s money well spent.

TBH I am not a big fan of MVPĀ“s when It comes to governance, in my opinion it sends a wrong message in the sense that it might be perceived that IDLE is chasing instead of leading.

Either we do it right or we wait until we have the resources to do it right.

Both IDLE staking and LP staking are necessary. Personally I donā€™t care which one goes live 1st and which one comes into production a bit later (1-2 months?!).

Just do it both! :heart_eyes:

5 Likes

Thanks for all the great feedback!

@wlamhk you make a some very interesting points in your comment. I would like to point out one concern I have for the following suggestion:

In my opinion, it does not seem fair to take rewards from current users and reallocate them to the staking pools. The asset pools are the main ā€œproductā€ IDLE offers currently and itā€™s competitive with other protocols. If we take rewards from the asset pools, for me personally that could be a reason to withdraw my assets because it would seem to me that IDLE is favouring speculators at the expense of clients.

3 Likes

Thanks for your thought @Salome! Personally, I feel that having a portion of the $IDLE distribution being reallocated to providing liquidity gives investors a much greater incentive to stake their tokens. Otherwise, without any distribution of $IDLE to stakers, the current value props to staking and providing liquidity feels weak. Even if we turn on any % of profit share at this point in time, the amount that gets profit shared would be incredibly low/negligible.

IMO having a high level of liquidity is just as important as taking care of the users of our primary product. I addressed this in the last paragraph of the ā€œReallocating 50% of the $IDLE distributionā€ section but I donā€™t believe that reallocating $IDLE tokens over to stakers would negatively affect the yields of users of the product.

By redistributing a portion of the $IDLE tokens, weā€™re upping the value props of $IDLE making it a much more attractive token and with a higher liquidity level, weā€™re also providing easier access to the token for new entrants to come in, which should theoretically bring up the price of the token enough to offset the ā€˜lossā€™ of $IDLE received from depositing assets into the protocol.

Personally, I see this adjustment being favourable for users of the protocol because the only effect on yield is the quantity of $IDLE tokens you receive. It doesnā€™t affect the base yield you receive from Compound. If the proposal here can ultimately bring up both the liquidity levels and the price of the token, the benefits of all that will outweigh the quantity of $IDLE tokens you receive. The supposed extra yield from $IDLE is all vanity until you can drive a sound value prop to investing into $IDLE in the first place, which is why I believe a reallocation here makes sense.

Edit 1: ie to clarify. at the end of the day, whether you end up receiving 100 $IDLE tokens valued at $10/ea or if you receive 50 $IDLE tokens at $20/ea are the same things in terms of yield. Thatā€™s why if we can use a reallocation to increase the value props of $IDLE, itā€™s better in the long run for users of the protocol looking to gain the extra yield from the $IDLE tokens. If you want to sell for that extra yield, youā€™ve gotta ensure 1) thereā€™s enough liquidity in exchanges so that you can exit with little slippage and 2) $IDLE is a token that investors want to invest in so that thereā€™s always demand trickling in. Otherwise, it doesnā€™t matter how many $IDLE tokens weā€™re distributing to users of the protocol if the conditions above arenā€™t fulfilled. By reallocating a % of the tokens to staking and providing liquidity, weā€™re accomplishing exactly the two things above

Edit 2: I just wanted to emphasize the difficulty of a new investor coming in by illustrating the liquidity problem right now.

So we have ~ $600K of liquidity for the $IDLE/WETH pairing on Uniswap right now, and token price is $12.87 at time of writing.

If someone wanted to purchase just $10K USD value of $IDLE, this would have to be done at an average price of $13.37 per token, ~5% higher than what is displayed on the Uniswap charts. At the moment, itā€™s an incredibly unattractive play for any new investors knowing theyā€™d probably have to get in at 20-30% higher prices if they wanted in with a decent amount of capital ($40-50K+ USD). At this rate, weā€™ll be continually met with deteriorating token prices which would ultimately affect user yield anyways if $IDLE distribution remains the same.

And of course, the reverse is also true. If youā€™re a user of the protocol and you seek extra yield from the $IDLE tokens received for depositing assets into the lending pools, selling $10K USD worth of $IDLE would require you to sell at prices 5% below what is shown on the Uniswap charts at current liquidity levels.

5 Likes

without any distribution of $IDLE to stakers, the current value props to staking and providing liquidity feels weak. Even if we turn on any % of profit share at this point in time, the amount that gets profit shared would be incredibly low/negligible.

Agree that profit share is not enough at this stage to reward staking. Disagree with re-allocating existing idle rewards from asset pools to staking.
Depositors in the IDLE protocol are exposed to risks that LP and IDLE stakers are not exposed to and on top of that they are exposed to those risks for longer periods. Especially if when we talk about smaller depositors in the context of current gas prices.

To rug mom&dad betting on a possible price speculation will not fly with me.
We will do better than that.

PS: in some other protocols they decided exactly on the opposite direction, to boost the rewards to asset depositors by ending LPs rewards in some pools and that resulted in a increase in price (MTA comes to my mind).

3 Likes

I agree that it is a partial price spec, but if weā€™re talking about the extra yield that users earn from depositing assets into the protocol, thereā€™s no escaping a price spec discussion. Aside from the stablecoin yield they receive from Compound etc, any additional yield earned from a distribution of $IDLE will always be prone to a price spec and if anything, I believe that providing a stronger incentive for providing liquidity + an increased token utility will help maximize the yield for users depositing into the protocol.

Liquidity is a huge issue for us IMO for all stakeholders in the protocol and if we arenā€™t willing to do a reallocation, there needs to be a strong alternative solution to enable investors to LP.

3 Likes

I really donā€™t like the Curve staking model, I prefer the Aave staking model.
There are two possibilities for staking:

  • staking the governance token ($Aave, $Idle) with a cooldown of 10 days, at the moment the APY is 6%
  • staking the BLP, liquidity pool created in Balancer with a couple at 50% governance token ($Aave, $Idle) and 50% $WETH. I donā€™t know at the moment how is the APY but tokenholders will gain $BAL, $AAVE and some protocol fees of Aave and the protocol fees of Balancer.

I am in favor of lowering the performance fees for those who stake their $ IDLE.

1 Like

The Pilot League Committee is moving forward with the implementation of staking.
Therefore I have created a snapshot here asking the community what staking model(s) should we start implementing first: IDLE staking, LP token staking or both simultaneously.
Keep in mind that because there is not enough money in the committee budget for all expenses related to developing the staking model, I propose the Pilot League committee will instead guide and support the community in the direction it votes, by both structuring new grant(s) proposal(s) and finding adequate candidates for coding it. In my opinion, this will allow us to speed up the process.
Once our community forms a consensus around the staking model, we can submit an official grant post to collect applications and begin the development phase.

Snapvote includes 5 options:

1-only approve IDLE staking now
2-only approve LP staking now
3-approve both: IDLE staking first and LP staking after
4-approve both: LP staking first and IDLE staking after
5-Discuss more

11 Likes

Regarding LP starting I will just point out that ppl are used when single token Staking to the idea of losing rewards if they unstake ahead of time.

Imo the same concept can be implemented in the design of IDLEā€™s LP Staking meaning that for example after you sign up for LP Staking for 6 monthsā€¦ In case you decide to unstake before the 6 months are over then you should lose some/all of your rewards to the smart treasury.

3 Likes