Governance > $IDLE staking
Depending on the lock time, a specific amount of stkIDLE is generated from the $IDLE locked. The lock scale is as follows
stkIDLE linearly decreases from the lockup date to the end date. Only at the end of the lock time, it is possible to withdraw the starting locked $IDLE tokens. The general formula to compute the stkIDLE balance at any point in time is:
Users can increase their $stkIDLE by either staking more $IDLE into their existing lock or increasing their lock end date, or both. The maximum lockup duration is 4 years.
Example: 5000 IDLE locked for 3 years and 2 months (with 30 days/month) would give:
As described above, the quantity of stkIDLE decreases constantly in proportion to the reduction in lock time (lock expiration), down to 0 at expiration. For example, two months after the initial lock, the stkIDLE holder from the example above would have a stkIDLE balance of:
The staking contract is implemented as a non-standard ERC-20 token, which is non-transferable and can only be created by staking $IDLE by calling
create_lock(uint256 _value, utin256 _unlock_time).
By default, smart contracts cannot participate in staking, as this would allow for trivial which could be implemented to circumvent the non-transferable nature of $stkIDLE.