LogoLogo
AddressesAuditsGitHub
  • 📥Introduction
  • 🌀Products
    • Introduction
    • Best Yield
      • Overview
      • Guides
        • Deposit funds on BY
        • Redeem funds on BY
      • FAQs
    • Yield Tranches
      • Overview
      • Adaptive Yield Split
      • Security
        • Covered risks
      • Guides
        • Deposit funds on YTs
        • Redeem funds on YTs
        • Live YTs guides
          • Lido stETH
      • FAQs
    • Fee structure
    • Get involved
      • Integrators program
      • Institutions program
  • 💻Developers
    • Introduction
    • Networks and codebase
      • Ethereum mainnet
      • Polygon
      • Kovan testnet
      • ERC-4626 standard
    • Best Yield
      • Architecture
      • Deployed contracts
        • Ethereum
        • Optimism
      • Interface
      • Methods
        • mintIdleToken
        • redeemIdleToken
        • redeemInterestBearingTokens
        • rebalance
        • tokenPrice
        • tokenPriceWithFee
        • getAPRs
        • getAvgApr
        • userAvgPrices
        • getGovTokensAmounts
        • getAllocations
        • getGovTokens
        • getAllAvailableTokens
        • getProtocolTokenToGov
      • Edge cases
      • Security management policy
      • Get integrated as yield source
      • Get user earnings
    • Yield Tranches
      • Architecture
      • Deployed contracts
        • Ethereum
        • Polygon zkEVM
        • Optimism
      • Interface
      • Methods
        • AAStaking
        • BBStaking
        • AATranche
        • BBTranche
        • depositAA
        • depositAARef
        • depositBB
        • depositBBRef
        • fee
        • getApr
        • getContractValue
        • getCurrentAARatio
        • getIncentiveTokens
        • lastNAVAA
        • lastNAVBB
        • strategy
        • strategyToken
        • token
        • trancheAPRSplitRatio
        • tranchePrice
        • virtualPrice
        • withdrawAA
        • withdrawBB
      • Integration example
      • Edge cases
      • Security management policy
      • Subgraph
    • API
    • Security
      • Hats Finance vault
      • Hypernative monitoring
      • Immunefi bug bounty
      • Integration Standard Requirements
      • Risk Framework
      • Smart contract audits
  • 🏛️Governance
    • Introduction
    • Idle DAO
      • Governance process
        • Governance forum
        • Governance dashboard
        • Snapshot IDLE
        • Snapshot stkIDLE
      • Idle Leagues
        • Communication League
        • Development League
        • Treasury League
        • Leagues contributors
      • Treasury
        • Reports
      • Governance guides
        • How to monitor off-chain voting pools
        • How to propose an IIP
        • How to create an on-chain proposal
        • How to delegate votes
        • How to vote for an IIP
      • FAQs
    • IDLE token
      • Distribution
      • Use cases
        • Lending, borrowing & collateral
        • DEXs liquidity provision
      • Buybacks
      • Delegates
      • CoinGecko
    • IDLE staking
      • Prime staking
        • Examples
      • Staking integration
      • Guides
        • How to stake your IDLE
        • How to vote in Gauges
        • How to boost your $IDLE rewards
        • How to give VEV
  • 🗂️Other
    • Brand assets
    • Guides
      • How to see IDLE in your wallet
      • Deposit funds through Idle
      • Deposit funds through smart contracts
      • Redeem funds through Idle
      • Redeem funds through smart contracts
    • FAQs
    • Glossary
    • Resources
    • Archive
      • 👇Get in touch
        • 🏛️Governance Forum
        • 🏆Idle Grants Program
        • 👾Discord
        • 🐦Twitter
      • Gauges
        • Architecture
        • Deployed contracts
        • Gauges repository
        • stkIDLE repository
      • Gauges
        • Gauges integration
        • FAQs
      • Boost
      • DEXs liquidity provison
      • Risk Adjusted (deprecated)
      • Deployed contracts
      • Idle Smart Treasury (deprecated)
      • Ethereum LP staking (deprecated)
      • Polygon LP staking (deprecated)
      • Flash Loans (deprecated)
      • QuickSwap cxETH-WETH
      • Integrate PYTs
      • Idle Grants program
      • Idle on Polygon
        • Add Polygon network to MetaMask
        • Bridge $IDLE to Polygon
        • Deposit funds on Polygon
        • Add liquidity to $IDLE pools
        • Stake IDLE LP tokens on Polygon
Powered by GitBook

Ecosystem

  • Website
  • App
  • Governance
  • Brand assets

Developers

  • Feedback
  • GitHub
  • Bug bounty
  • Audits

Community

  • Blog
  • Twitter
  • Telegram
  • Discord

Analytics

  • Stats
  • Dune
  • DeFiLlama
  • CoinGecko
On this page
  • Lock details
  • stkIDLE

Was this helpful?

  1. Governance

IDLE staking

Governance > IDLE staking

Last updated 1 year ago

Was this helpful?

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 , decided via .

The and the are currently paused after . The staking reward program for stkIDLE holders is paused following .

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 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:

QstkIDLE=lock time remaining in secondsmax lock time in seconds×QIDLE lockQ_{\text{stkIDLE}} = \frac{\text{lock time remaining in seconds}}{\text{max lock time in seconds}} \times Q_{\text{IDLE lock}}QstkIDLE​=max lock time in secondslock time remaining in seconds​×QIDLE lock​

Users can increase their stkIDLE balance by both staking more IDLE into their existing lock and by increasing their lock end date. The maximum lockup duration is 4 years.

Example: 5000 IDLE locked for 3 years and 2 months (with 30 days/month) would give:

QstkIDLE=(3×12+2)m×30d×24h×3600s4×365×24×3600×5000Q_{\text{stkIDLE}} = \frac{(3\times12 + 2)_{m} \times30_{d}\times24_{h}\times3600_s}{4\times365\times24\times3600} \times 5000QstkIDLE​=4×365×24×3600(3×12+2)m​×30d​×24h​×3600s​​×5000
QstkIDLE=11401460×12=3904.1095Q_{\text{stkIDLE}} = \frac{1140}{1460} \times 12 = 3904.1095QstkIDLE​=14601140​×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:

QstkIDLE=10801460×12=3698.6301Q_{\text{stkIDLE}} = \frac{1080}{1460} \times 12 = 3698.6301QstkIDLE​=14601080​×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 .

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 .

The community multisig is located at:

🏛️
here
snapshot polls for stkIDLE token holders
0xb08696efcf019a6128ed96067b55dd7d0ab23ce4
Curve VotingEscrow contracts
Gauges voting
Liquidity providers' rewards boost
IIP-31
IIP-36
community vote