[1IP-11] 1inch Staking Pods

Author: @Bobbay_stablenode

References:

GitHub - 1inch/erc20-pods 7,
GitHub - 1inch/farming 5,
GitHub - 1inch/delegating 1

Simple Summary

This proposal seeks to implement a new Staking Pod mechanic for the 1INCH token. This system will consist of:

  • Incentivised time-locked 1INCH staking
  • Permissionless delegation pods
  • Reward distribution compatibility
  • 50% of all current, and future, 1inch DAO protocol revenue shall be distributed to stakers

Abstract

With the Staking Pod system, users lock their 1INCH tokens in a staking contract to get st1INCH tokens — the longer the lock period, the more st1INCH tokens the user gets. st1INCH tokens can be used by stakers for 1inch DAO governance, and the 1inch DAO can choose to use these token balances for reward distribution. The system is modular as anyone can launch a new Modular Delegation Pod and can use the reward functionality to incentivize certain actions and/or assign utility to the 1INCH token. 50% of all current, and future, 1inch DAO revenue shall be distributed to stakers.

Motivation

1INCH token is the governance token of the 1inch Network. It provides voting rights within the 1inch DAO’s governance system, and users can stake it to receive a refund 3 on their transaction fees. However, despite these functions, the amount of 1INCH tokens currently being held in staking contracts is quite low and governance participation is even lower. We believe that this is due to a lack of incentives to participate in governance and a lack of additional utility for staked 1INCH.

By introducing Modular Staking Pods, we hope to give stakers more direct control over how their stake is used to power the 1inch Network. This change will allow them to independently select how their stake governs each of the protocols and will allow for rewards to permissionlessly be distributed based on the actions of the stakers. We envision that this will improve the goverance by aligning incentives between people who want to stake to earn rewards and those who are interested in protocol governance – both players will have direct incentives to participate in the same system.

We believe that this proposal represents a step forward for the 1inch Network and that it will help increase adoption and usage of the network’s future protocols.

Specification

Staking

Like the existing 1INCH staking contract, users will be able to lock their 1INCH tokens in the staking contract to get st1INCH tokens that can be used for 1inch DAO governance. However, unlike the current system, Modular Staking will require users to lock their 1INCH for a set amount of time.

Locking

The minimum and maximum lock periods are chosen by the DAO through — for the purposes of analysis, we’ll use 1 month and 2 years as the minimum and maximum staking periods respectively. st1INCH tokens grant users “voting power” which they can use for various use cases. The longer the locking period the more “voting power” resolver can get. However, the increase in power is not linear.

There will be a minimum locking period of 1 month.

Note that st1INCH voting power will decay over time according to the locking curve. Also note that users can re-lock their stake at any time to refresh their st1INCH balance. Users will be able to withdraw their stake early but will forfeit a portion of their rewards.

Orange is the amount lost when a staker withdraws earlier than they originally committed.

Example:

  • In 2023, Sally stakes 100 1INCH and selects a 2-year lock period.
    • They receive 100 st1INCH from the staking contract and this balance decays over time.
  • By 2024 Sally’s st1INCH balance has decayed to 22.36
  • Sally then chooses to re-lock her stake for the maximum amount of time, 2-years, and her st1INCH balance is increased to 100.
  • Sally chose not to re-lock, and in 2026, after the lock period, she withdraws her original 100 1INCH.

Unlocking

If a st1INCH staker wishes to unlock they will forfeit some of their tokens based on the following equation:

withdrawalAmount = (balance - votingPower) / 0.9

penalty = balance - withdrawalAmount

In this setting, the maximum early withdrawal loss is 90% as the minimum locking period is 1 month

Admin Control

The 1inch DAO Treasury Address, 0x7951c7ef839e26F63DA87a42C9a87986507f1c07, would act as admin of the staking contract with control over the following functions:

  • setFeeReceiver – this would allow the DAO to change the vault to collect the rewards for later distribution between stakers and the DAO treasury.
  • setDefaultFarm – this would allow the DAO to change the default reward distribution contract for 1INCH staking.
  • setMaxLossRatio – this would allow the DAO to change the earliest point at which people can early withdraw their stake by disallowing withdrawals with larger withdrawal fees.
  • setEmergencyExit – This is basically an abort function and would allow the DAO to end the staking scheme. All stakers can reclaim the entire amount of their original stake regardless of their remaining locking period. This would be used if the DAO wanted to migrate to a new staking contract to change key variables, like the maximum lock period.

Modular Delegation

The Modular Delegation system provides users with a set of delegation contracts that are specific to a topic. The set of delegation contracts is permissionless, meaning that anyone can deploy one and allow users to delegate their st1INCH within it.

The 1inch DAO will have the power to endorse a delegation contract and feature it in the 1inch staking UI.

For the start, we propose just two delegation topics:

  • Snapshot governance delegation
  • st1INCH utility delegation
    • As part of this staking upgrade, there will be a new protocol added to 1inch’s suite of DeFi tools that will substantially improve the utility of st1INCH.
    • Service providers that want to tap into the utility of st1INCH can proposition the community for delegated power.

Rewards

Modular Staking will have two levels of reward functionality: Generic st1INCH rewards and Modular Delegation rewards.

Generic st1INCH rewards

The st1INCH contract will allow anyone to run a farm to distribute rewards to everyone holding st1INCH tokens.

Users also have the ability to to join as many farms as they want as it does not required a user to move their st1inch to a specific farm. Along as a user holds st1inch in their account, they can receive rewards from multiple farms.

This proposal calls for 50% of all current, and future, 1inch DAO revenue to be distributed to stakers in the form of 1INCH.

Modular Delegation rewards

Some Modular Delegation contracts have an integrated rewards function that anyone can run a farm atop.

The main advantage to this type of reward is that it is not limited to being proportional to a user’s st1INCH holdings. Any action, onchain or offchain, can be used as the basis of reward distribution. This functionality could be used by the 1inch DAO to incentivize anything from editing 1IPs to using a new 1inch protocol (and everything in between).

Example: The 1inch DAO may use the Snapshot governance delegation contract to incentivize active governance participation by boosting the st1INCH rewards of people who vote on proposals, delegate their st1INCH to active voters, etc…

Rationale

The rationale for this proposal is to provide a more flexible staking system that can be used to incentivize various activities within the 1inch Network. The new Modular Delegation contracts will allow for rewards to be distributed based on anything from voting on proposals to using new 1inch protocols. This will provide a greater incentive for users to participate in the network and help drive adoption of new 1inch products and services.

Considerations

The security considerations for this proposal are mainly around the potential for abuse of the new staking and delegation contracts. It is important to ensure that there are adequate safeguards in place to prevent users from delegating their voting power to malicious actors.

The governance considerations for this proposal include the impact on revenue streams and changes to the governance processes. This proposal could potentially increase revenue for the 1inch DAO if it is successful in incentivizing more users to participate in the network. It is also worth considering how these changes will impact existing voting processes within the 1inch DAO since the existing staking contract will be deprecated.

17 Likes

Hi Bobbay, thanks for putting this forward!

I like the overall proposal but I just wanted to clarify the early exit fee on rewards. Having a concrete number would be helpful and given it’s enacted on rewards, can’t a user claim their rewards then exit after?

I also wanted to float another idea that uses a participant-centric approach to rewarding stakers of 1inch, i.e, introducing boosted st1inch scores based on their 1inch trading volume (Inspired by Paraswap’s PSP 2.0)

For example,
Based on a user’s 1inch trading volume for a pre-defined epoch, they will receive a boost on their st1inch score and are therefore entitled to a higher proportion of protocol revenue.
image
Note: Depending on the length of the epoch, volume requirements should be adjusted.

So for a user with $1M 1inch trading volume and 500 st1inch their boosted score is:

Boosted_st1inch_score = 500 * 1.2 = 600

and in general,

Boosted_st1inch_score = st1inch * boost

Ultimately, boosts from a protocol POV places a much higher value on stakers of 1inch that also contribute to the protocol’s success and revenue (i.e. Trading Volume). As opposed to someone who simply stakes their 1inch and claims a portion of fees but doesn’t provide much value.

This provides a nice feedback loop that encourages users to be token holders and token holders to be users, and this effect can be amplified by increasing the level of boosts (my example above is 50% less than the boosts Paraswap provide).

Interested to hear your and the community’s thoughts!

3 Likes

Great progress, which will motivate long-term Holders to actively participate in the promotion and governance of the protocol. In addition to the income of the protocols, I suggest that a part of $1INCH be allocated from Community Incentives for staking incentives. More 1INCH will be distributed to long-term loyal holders, which is conducive to the stable development of the network.

4 Likes

I don’t quite understand what this means. Is it similar to Convex to Curve, allowing a contract to hold st1INCH of retail investors? Could you explain in detail. thanks

Early Exit Fee

10% could be a possible exit fee, but we welcome the communities thoughts. The exit fee could be based on their voting power, rather than the whole staking supply.

As you said, rewards could be claimed first, so it wouldn’t make sense to apply to that.

We also want to make it fair, so longer stakers aren’t penalized if they do withdraw early compared to those who withdraw much earlier

Use A & User B Stake 100 tokens for 4 years:

User A, early exits after 1.5 years.
User B, early exits after 3 years.

They both shouldn’t be penalized the same.

Boosted st1inch scores based on their 1inch trading volume

This is an interesting idea, and we could probably scale this alongside the amount staked by an individual too.

From what I gather, the boosted score encourages token holders to actually use 1INCH as a protocol rather than solely staking. In combination, this encourages more staking and more usage of 1INCH, locking up tokens as well as generating revenue.

I favor exploring this idea since it would help attract and retain revenue.

Is there any data on the success of this model for ParaSwap? I can see that they also had separate boosts for stable coin swaps and non stable swaps (attached below).

Screenshot 2022-12-08 at 13.30.09
Screenshot 2022-12-08 at 13.30.091544×1220 141 KB

We could do something similar, but this could be a separate proposal. @Callen_Wintermute We can work on a separate proposal as an extension of this proposal.

The early exit fee should not be fixed, otherwise everyone will choose the maximum lock time, and then exit at the appropriate time.

The early exit fee can be based on the user’s exit time and the time when the lockup expires. Assuming that the maximum early exit fee is 30% (this ratio can be discussed),

  • User A locks the position for 4 years, he chooses to withdraw after 1 year, and there are 3 years left to expire, then it will be punished: 30% * 3/4 = 22.5%;

  • User B locks the position for 1 year. After 8 months, he chooses to withdraw, and there are 4 months left to expire, then he will be punished: 30% * 4/12 = 10%;

The penalty is for user staked 1INCH, and does not affect the rewards that have been issued.

2 Likes

I also wanted to float another idea that uses a participant-centric approach to rewarding stakers of 1inch, i.e, introducing boosted st1inch scores based on their 1inch trading volume (Inspired by Paraswap’s PSP 2.0 )

I’m in favor of keeping the base-level staking rewards pretty vanilla. It’s already a massive change, and it is good practice to try to limit the scope of proposals.

However, these Staking Pods allow the DAO to rapidly modify how the reward system works by deploying additional farms. I would be in favor of a future proposal that creates a new farm that rewards trading volume. I’d also be in favor of one that rewarded active governance participation (though that would be harder to measure than something as straight forward as volume).


Ultimately, the biggest challenge the DAO is facing right now is lack of incentives for any form of participation. It has been difficult trying to hit the 10M vote quorum on proposals as we simply do not have enough people staking their 1INCH. I think this proposal directly addresses this root problem by creating incentives.

4 Likes

I prefer your idea of exit fees like this, but I am undecided on 30% as it might be too harsh. I’ll do some calculations and come back.

1 Like

A time-locked staking overhaul has been a pet project of some members of the 1inch core contributors for a while now (as you can see from the GitHub repos linked in the reference section of this proposal). The DAO is in full control of all topics staking, tokenomics, governance, etc… so, it is important that the community has the final say on what form this new staking system takes.


I reached to some devs regarding the question of the early withdrawal fee and their initial proposed solution is as follows:

withdrawalAmount = (balance - votingPower) / 0.9
penalty = balance - withdrawalAmount

votingPower of a stake starts according to the curve and approaches 0.1 as duration approaches 0 (so the graph seems to be a little off in that regard).

Withdrawal Penalty Examples

So, if implemented, the penalty would scale directly with the locking curve. Let’s go through some examples using the Locking periods in the original post and assuming an initial balance of 1,000 1INCH.

  • 4 years remaining lock will give the user 1 “voting power” for each 1INCH
    • balance = 1,000 1INCH
    • votingPower = 1,000 st1INCH
    • withdrawalAmount = (1,000 - 1,000) / 0.9 = 0 1INCH
      • Total loss if a user withdraws with 4 years remaining (they’d have to stake then unstake instantaneously)
  • 3 years remaining lock will give the user 0.5623 “voting power” for each 1INCH
    • balance = 1,000 1INCH
    • votingPower = 562 st1INCH
    • withdrawalAmount = (1,000 - 562) / 0.9 = 486 1INCH
      • 51% loss if a user withdraws with 3 years remaining.
  • 2 years remaining lock will give the user 0.3162 “voting power” for each 1INCH
    • balance = 1,000 1INCH
    • votingPower = 316 st1INCH
    • withdrawalAmount = (1,000 - 316) / 0.9 = 760 1INCH
      • 24% loss if a user withdraws with 3 years remaining.
  • 1 year remaining lock will give the user only 0.1778 “voting power” for each 1INCH
    • balance = 1,000 1INCH
    • votingPower = 178 st1INCH
    • withdrawalAmount = (1,000 - 178) / 0.9 = 913 1INCH
      • 9% loss if a user withdraws with 1 year remaining.
  • At the end of the locking period there is still 0.100 “voting power” for each 1INCH
    • balance = 1,000 1INCH
    • votingPower = 100 st1INCH
    • withdrawalAmount = (1,000 - 100) / 0.9 = 1000 1INCH
      • 0% loss if a user withdraws at the dat they originally agreed.

So these penalties would be very steep for stakers who opt-in to the longest period then withdraw that first year (>50% haircut).

Also important to note that the DAO would be able to decide what is to be done with the 1INCH forfeited by early withdrawals. They could be distributed to other stakers, go to the DAO treasury, or fund a farm that incentivizes specific behavior.

I’m interested in hearing the community’s feedback on this proposed penalty structure.

2 Likes

Thanks for the clarification!

Regarding Boosted Scores,

Yes, as a staker of 1inch you gain greater value from swapping within the protocol as opposed to seeking alternative sources given you will earn a boost. Overall, it creates ‘hypothetically’ a strong positive feedback loop between the locking of 1inch and revenue for the protocol.

I think the main idea I’m trying to push is that this method values users who are also stakers of the protocol higher than just someone who locks their 1inch and doesn’t add value. It is also done in a gentle manner, for example, a staker will still receive revenue and they’re not forced to trade on 1inch however they are encouraged to use the protocol if they decide to make a swap.

Is there any data on the success of this model for ParaSwap? I can see that they also had separate boosts for stable coin swaps and non stable swaps

I believe it’s still under development/implementation so early days. I also think it makes sense to lower the boost for stablecoin swaps or remove stablecoins swap volume entirely if they have a negligible impact on protocol revenue.

Thanks for the comment @RoundElephant:

I’m in favor of keeping the base-level staking rewards pretty vanilla. It’s already a massive change, and it is good practice to try to limit the scope of proposals.

I understand that these changes introduce a bit more complexity but I think it’s important to improve on certain mechanisms when presented with the opportunity. As described above, using reward boosts based on volume skews revenue distribution to stakers who are less ‘rent-seeking’ and add value to 1inch. While trading volume is only one form of value-adding activity, it’s one of the easiest and most straightforward metrics to measure that directly relates to the success of 1inch. So I think if possible, this is an important change to consider and maybe it is better implemented via a staking pod!

I also agree that lack of participation in governance is a major issue and as you said its very hard to measure and reward. Boosts could hypothetically be extended to users who delegate their st1inch to endorsed delegates who have to follow criteria. But then how do we measure and reward individuals who would like to participate by themselves?

I am thinking, at the iterative speed of defi, is 4 years too long? Maybe after 1 or 2 years, we will have new ideas or change the economic model. I have participated in the veBAL lockup of Balancer, and its setting is The shortest period is 1 week, and the longest is 1 year. I think reducing the lock-up period and punishment is beneficial to attract more people to participate in the lock-up. The long lock-up period and high penalties set higher barriers for ordinary investors to join. After all, it is currently a bear market, and the general expectations are more pessimistic. This is my opinion, looking forward to hearing more people’s thoughts.

3 Likes

Yeah, that’s how I see this as a win-win for both the stakers and the protocol. It encourages them to use 1INCH more rather than solely staking. I’ve started work on this as a separate proposal (for the future, after this proposal), ill share it in DMs.

This is still a tricky one. We can use seasons (every 4 months or so) similar to Optimism and retroactively reward delegates if they have been active under certain conditions and only if they have a minimum amount of st1INCH.

2 Likes

I think we should not overthink this and make too complex system (scare people away). Usually simplest solutions are the best ones. If the main problem is the low voting activity and engagement, I think we should make voting easier by adding voting button (and some kind of mark if voting is active at the moment) to engage more voting activity. Also some kind of voting reward might be nice. For example each time you vote you get 1inch tokens. Rewards can be calculated for example based on user activity, staked tokens and allocated reward amount per proposal. 1INCH can acquire these 1INCH tokens from the market (if needed) and distribute these to voters.

For example: there is some proposal #12345 and allocated amount per proposal is 500k (just for sake of example) and total votes are 10M votes and had 1500 voters. Then user will receive 1INCH tokens based on following calculations:
Voter participation reward calculation: 500.000 * 0.1 / 1500 = 33,33 per voter ( in total 50.000 1INCH tokens)
+
Based on votes calculation: 500.000 * 0.9 / 10.000.000 = 0.045 per vote (in total 450.000 1INCH tokens)

So in total 500k 1INCH tokens will be distributed per proposal based on number of voters and based on their votes. This kind of distribution incentives smaller holders just a little bit more, but also is almost proportional to owned tokens.
I think this way this prevents this coming to game of few/rich and also encourage smaller holders to participate, but also keeps in mind basic finance theory risk/reward based on allocated capital.

It would be great to have 1INCH tokens also in Polygon and Avalanche networks and get voters from all 4 major networks ( Ethereum, BSC, Polygon and Avalanche). I think this will also bring more voting activity because gas fees are much lower in other networks than in Ethereum. Small baggers (like me) might feel that price to pay is too high compared to their voting power and how much they can actually affect on things.

Can we try this kind of simple approach first and if this doesn’t work, then try more complex methods.

Best regards,
ROAM

1 Like

My suggestion is that we start with a simpler implementation. In the current market situation, setting too complicated mechanisms and thresholds is not conducive to the participation of more holders.

I propose another simple staking mechanism:

  1. There is no different stake time period, you can stake and unstake at any time, but unstake has a 7-day cooldown period (like Aave and Tokenlon);

  2. Before the end of the cooldown period, if the user is forced to redeem, and a penalty of up to 10% is required, and the penalty decays linearly with the unlocking time. Penalties will remain in the staking reward pool to be shared among other stakers.

I think this will help to attract more people to participate, and smaller technical implementation.

If it is that simple, it enables people to jump in and out.

Due to the current market conditions, as a DAO, we want token holders to lock their tokens away, not jump in and out. To make it attractive, those who lock up their tokens will receive rewards and get more voting power. With the introduction of these staking pods, we should aim to conduct a governance mining experiment and prioritize those who lock their tokens, and encourage them to vote via rewards.

I think a compromise would be, as you previously mentioned, to reduce the max lock-up of 4 years to a max of 1 year. Staking pods are merely a vehicle to enable these experimentations since its modular, using off-chain or on-chain data.

1 Like

I agree with not making it too complex, but curve/convex, balancer, and ve’ tokenomics have been here for a while now. It’s still a complex system compared to similar staking, but it finds a balance between prioritizing those who have conviction in the protocol and fairly rewarding them.

Simple staking would not achieve this. We want to reward those who have conviction in 1INCH. In this example, it rewards anyway who stakes and votes. 1INCH doesn’t have that many proposals so someone could stake and vote (receive rewards) unstake after 7 days of having governance mined. We want to encourage participants to continuously vote as informed participants.

I am open to simplifying this and making it more digestible for the everyday token holder so a reduction to a 1 year lock up helps.

1 Like

According to my understanding, the core role of veToken is to control the emission of tokens. For Curve and Balancer, voting determines the number of tokens released for each guage pool. The reason why users actively vote is due to the existence of bribe, which is completely market-oriented competition.

1INCH is an aggregator, not focusing on its own pool. So there is no significant economic incentive for voting, and I don’t think it is necessary to use 1INCH tokens to incentivize voting. The core reason for our low voting rate is that there is no incentive, and the number of locked users and tokens is very low. Once the staking reward is enabled, this number will increase significantly. And once the user locks the position and keeps consistent with the income of the project, there is no need for separate voting incentives, and they will naturally pay attention to the development of the project and participate in voting more actively.

This is why I suggest simple staking, veToken is very complicated, but we don’t need those unique mechanisms (controlling mining emissions and bribe) at the moment. As for the issue of user jump in and out, I think this is a kind of market behavior and does not need to be enforced (cooldown time and penalty are enough). The ratio of token lockup is related to income and incentives, and has nothing to do with the lockup time. The market will balance.

Of course, setting different lock-up times can differentiate the incentives of short-term and long-term investors. I do not deny this, but it also brings certain obstacles and implementation complexity.

Anyway, both ways are acceptable to me, and I look forward to hearing Core Team’s thoughts on this.

With the current revenues (don’t know what’s the average monthly value, been trying to ask in the support chat if the values stated on token terminal are correct but no proper answer till now) and 50% of the revenues being shared with the stakers, what’s the APR we can expect at the current price?

Regarding the system chosen, veModel might be a good idea but in my humble opinion it should be only considered if there’s an exit option with penalty. Personally I really appreciate the model used by GMX but 1inch situation is slightly different. With that being said my view is that the system should try to penalize short term holders, reward long term stakers but provide an exit option with a penalty.

1 Like

To ensure a quick turn-around between this proposal passing and the new staking features going live, the devs who have been following this proposal have been working on a prototype that incorporates these features. These devs have some comments that they’d like to see incorporated in this proposal that should make it more practical and versatile while also giving the DAO hard-coded control over all 1INCH staking:

  • Change the minimum lock period to 1-month (1-week was unworkably short).
  • Add the early withdrawal fee equation to the proposal specification.
  • Make the maximum early-withdrawal loss 90% as opposed to 100% (staking for 4-years and immediately withdrawing would not be possible).
  • Set the 1inch DAO Treasury Address, 0x7951c7ef839e26F63DA87a42C9a87986507f1c07, as an admin of the staking contract with control over the following functions:
    • setFeeReceiver – this would allow the DAO to change how rewards are distributed between stakers and the DAO treasury.
    • setDefaultFarm – this would allow the DAO to change the default reward distribution mechanism for 1INCH staking.
    • setMaxLossRatio – this would allow the DAO to change the earliest point at which people can early withdraw their stake by disallowing withdrawals with larger withdrawal fees.
    • setEmergencyExit – this is basically an abort function and would allow the DAO to end the staking scheme. All stakers would be refunded the entire amount of their original stake regardless of their remaining locking period.
2 Likes

I have included your comments within the original proposal.

2 Likes