# $IDLE staking Governance >$IDLE staking
Staking allows users to lock their $IDLE for a flexible period (up to 4 years) in return for a series of benefits. The contracts for IDLE staking are based on the Curve VotingEscrow contracts, decided via community vote. sktIDLE holders have access to: ### Lock details Depending on the lock time, a specific amount of stkIDLE is generated from the$IDLE locked. The lock scale is as follows
IDLE
Locking time
stkIDLE
1 $IDLE 1 year 0.25 stkIDLE (25%) 1$IDLE
2 years
0.50 stkIDLE (50%)
1 $IDLE 4 years 1 stkIDLE (100%) stkIDLE linearly decreases st 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:
$Q_{\text{stkIDLE}} = \frac{\text{lock time remaining in seconds}}{\text{max lock time in seconds}} \times Q_{\text{IDLE lock}}$
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:
$Q_{\text{stkIDLE}} = \frac{(3\times12 + 2)_{m} \times30_{d}\times24_{h}\times3600_s}{4\times365\times24\times3600} \times 5000$
$Q_{\text{stkIDLE}} = \frac{1140}{1460} \times 12 = 3904.1095$
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:
$Q_{\text{stkIDLE}} = \frac{1080}{1460} \times 12 = 3698.6301$

### $stkIDLE 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 callingcreate_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. However, Smart contracts can be whitelisted via a governance proposal as described here. The$IDLE voting power deposited in the staking contract is delegated to a community multisig, which is used to vote on governance proposals based on the snapshot polls for stkIDLE token holders.
The community multisig is located at: 0xb08696efcf019a6128ed96067b55dd7d0ab23ce4