Idle is a decentralized protocol dedicated to bringing automatic asset allocation and aggregation to the interest-bearing tokens economy. This protocol bundles stable crypto-assets (stablecoins) into tokenized baskets that are programmed to automatically rebalance based on different management logics.
The Idle Protocol employs a strategy-token system. Every allocation strategy has its own set of tokens that represent a pool of yield-generating assets spread across different DeFi protocols. These tokens represent the investor’s proportional ownership of the whole pool and the interest accrued over time. This issuing method is similar to traditional mutual funds shares structure, and it allows Idle to be non-custodial.
Currently, Idle uses this allocation strategy:
- Best-Yield: this strategy combines multiple money markets to automatically provide the highest interest rates, beating the best traditional offerings across interest-bearing tokens and DeFi protocols.
Consequently, users can hold IdleTokens related to a specific strategy and a specific stablecoin.
Idle aims to unlock the power of decentralized finance for everyone by a single vehicle that automatically rebalances between underlying providers to always maintain the highest rates or the optimal risk/return allocation.
The bug bounty program is focused around the Idle protocol V4 smart contracts and the prevention of loss of user funds.
Rewards by Threat Level
Rewards are distributed according to the impact of the vulnerability based on the Immunefi Vulnerability Severity Classification System 2.2. This is a simplified 5-level scale, with separate scales for websites/apps and smart contracts/blockchains, encompassing everything from consequence of exploitation to privilege required to likelihood of a successful exploit.
The final reward for critical bounty payouts is capped at 10% of the funds at risk based on the vulnerability reported.
PoC is required for all levels.
Theft of yield or interest is considered as Medium but may be considered High depending on the amount of funds at risk.
Best practices critiques are not accepted under this program.
The likelihood of exploitability is also taken into consideration in the determination of the final payout amount based on the severity of the bug reported according to the table below:
Payouts are handled by Idle Finance governance directly and are denominated in USD. Payouts under $10,000 are done in USDC. When payouts are over $10,000, the first $10,000 is paid in USDC and then the rest are paid in IDLE up to the total of $50 000.
- Up to USD $50,000
- Up to USD $20,000
- Up to USD $5,000
Assets in scope
- Smart Contract - Smart ContractType
Only Senior Best Yield contracts will be considered in scope. Governance and Utilities and ERC-4626 wrappers contracts are not covered under this bug bounty program. Paused contracts are not considered in scope.
Impacts in scope
Only the following impacts are accepted within this bug bounty program. All other impacts are not considered as in-scope, even if they affect something in the assets in scope table.
- Direct theft of any user funds, whether at-rest or in-motion, other than unclaimed yieldCriticalImpact
- Permanent freezing of fundsCriticalImpact
- Miner-extractable value (MEV) if can freeze funds or cause protocol insolvencyCriticalImpact
- Protocol insolvencyCriticalImpact
- Theft of unclaimed yieldHighImpact
- Permanent freezing of unclaimed yieldHighImpact
- Smart contract unable to operate due to lack of token fundsMediumImpact
- Griefing (e.g. no profit motive for an attacker, but damage to the users or the protocol)MediumImpact
- Temporary freezing of fundsMediumImpact
Out of Scope & Rules
The following vulnerabilities are excluded from the rewards for this bug bounty program:
- Attacks that the reporter has already exploited themselves, leading to damage
- Attacks requiring access to leaked keys/credentials
- Attacks requiring access to privileged addresses (governance, strategist)
- Incorrect data supplied by third party oracles
- Not to exclude oracle manipulation/flash loan attacks
- Basic economic governance attacks (e.g. 51% attack)
- Lack of liquidity
- Best practice critiques
- Sybil attacks
The following activities are prohibited by bug bounty program:
- Any testing with mainnet or public testnet contracts; all testing should be done on private testnets
- Any testing with pricing oracles or third party smart contracts
- Attempting phishing or other social engineering attacks against our employees and/or customers
- Any testing with third party systems and applications (e.g. browser extensions) as well as websites (e.g. SSO providers, advertising networks)
- Any denial of service attacks
- Automated testing of services that generates significant amounts of traffic
- Public disclosure of an unpatched vulnerability in an embargoed bounty