Authors
Summary
The purpose of this proposal is to activate the single token staking program for $IDLE. With this proposal $IDLE stakers will be eligible to claim a proportion of the protocol revenues proportional to their stake amount, and locking duration.
Motivation
Staking in DeFi can add valuable utility and promote long term sustainability for the idle ecosystem, while ensuring that the community is incentivised for their continual loyalty to the protocol.
Background
Single token staking has been one of the most requested features from the idle community [1] [2] [3]. Following a number of implementation discussions with the community, the dev league has implemented staking for $IDLE using the curve staking model.
In this model users are incentivised by the amount of $IDLE staked, and the time they stake their tokens for. Tokens are staked by locking them in a contract for up to four years. Through staking $IDLE stakers are also rewarded by being eligible to claim a portion of the protocol performance fees. Governance has voted and decided that the reward distribution token for staking will be IDLE, which will be market bought from SushiSwap.
High level overview:
The staking implementation consists of three contracts.
- $IDLE Staking Contract: 0xaac13a116ea7016689993193fce4badc8038136f
- Fee Distributor: 0xBABb82456c013fD7E3f25857E0729de8207f80e2
- Sushiswap Exchanger: 0x1594375eee2481ca5c1d2f6ce15034816794e8a3
IDLE will be delegated to a community multisig. Stakers will be able to signal their preference on IIP proposals through a snapshot vote, which the multisig will then certify via an on-chain vote.
The staking contract allows users to lock their $IDLE for a certain period. While the Fee Distributor will manage paying out performance fees to stakers.
This proposal at a high level achieved the following actions.
- Add the feeDistributor as a beneficiary to the feeCollector
- Update feeCollector allocation
- 10% Smart Treasury
- 10% Fee Treasury
- 30% Rebalances
- 50% Sushiswap Exchanger
The following diagram summarises IIP 10
Specification
The contract implementation is based on the curve contracts with some minor modifications.
These modifications allow the $IDLE in the staking contract to be delegated to a community multisig located here: 0xb08696efcf019a6128ed96067b55dd7d0ab23ce4. This currently consists of members from the treasury league, but can be updated in the future to include more community members.
The source code for the single token staking is located here: GitHub - Idle-Finance/idle-staking: Idle Single Token Staking
Next Steps
We are going to leave this thread open for comments regarding this implementation, and in about 48hrs, if there are no objections, we will proceed with the on-chain proposal and the voting phase.