Integral
Submit a BugProgram Overview
At Integral we build on-chain trading products and tools to rival those of centralized exchanges. Our mission is to serve DeFi users who care about self-custody, decentralization, security, and financial usability. Integral SIZE is a TWAP based DEX with zero price impact swaps on Ethereum. In addition, traders enjoy a MEV-resistant and low-fee trading experience. Further information about Integral can be found here https://docs.integral.link.
The bug bounty program is focused around its smart contracts and is mostly concerned with:
- Direct theft of any user funds from smart contracts, whether at-rest or in-motion
- Loss of user funds through freezing, theft, manipulation of the pools, or denial of service to smart contracts.
Rewards by Threat Level
Rewards are distributed according to the impact of the vulnerability based on the Immunefi Vulnerability Severity Classification System V2.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.
All bug reports must come with a PoC with an end-effect impacting an asset-in-scope in order to be considered for a reward. Explanations and statements are not accepted as PoC and code is required. All bug reports without a PoC will not be accepted under this bug bounty program.
The final reward for critical bounty payouts is capped at 10% of economic damage up to USD 25 000, primarily based on the funds at risk, at the discretion of the team. However, the minimum reward is USD 10 000.
Repeatable Attack Limitations
In cases of repeatable attacks for smart contract bugs, only the first attack will be counted, regardless of whether the smart contract is upgradable, pausable, or killable.
The following scenarios are not eligible for a reward:
- Exploits that require access to the admin keys
- Cases involving risks of losses to the pools in case the assets in the pools decrease in price
- Cases involving risks of impermanent losses in the pools
- Exploits or arbitrages which are not economically practical to execute
- Exploits or arbitrages which rely on predicting future price movements, and/or price differentials between either the delay or the relayer contract, and other on-chain or off-chain venues regardless of whether it is realistic to execute such exploits or arbitrages.
- Cases involving dynamic pool ratios due to the nature of the design
- Cases involving dynamic pool ratios due to the nature of the design including but not limited to large changes of pool ratios due to orderflow, temporary guardrail pauses on LP withdrawal when pool ratios are extremely skewed.
- Exploits due to issues with hosting providers which cannot be fixed by changing any configuration on our side will be given an Informational classification or lower, these exploits should be reported using the bug bounty program of the hosting providers instead
Payouts are handled by the Integral team directly and are denominated in USD. However, payouts are done in DAI, USDT, USDC, ETH, or ITGR, at the discretion of the team.
Smart Contract
- Critical
- Level
- Up to USD $25,000
- Payout
- High
- Level
- USD $10,000
- Payout
- Medium
- Level
- USD $5,000
- Payout
- Low
- Level
- USD $1,000
- Payout
Assets in scope
- Smart Contract - IntegralTokenType
- Smart Contract - TimeReleaseType
- Smart Contract - Integral Staking (6 Months)Type
- Smart Contract - Integral Staking (3 Years)Type
- Smart Contract - SIZE FactoryType
- Smart Contract - SIZE DelayType
- Smart Contract - Fee governorType
- Smart Contract - Fee governor (Arbitrum)Type
- Smart Contract - SIZE (Arbitrum) DelayType
- Smart Contract - SIZE Pair (WETH-USDC)Type
- Smart Contract - SIZE (Arbitrum) Pair (USDC-WETH)Type
- Smart Contract - Merkle Time Release (1)Type
- Smart Contract - Merkle Time Release (2)Type
- Smart Contract - Merkle Time Release (3)Type
- Smart Contract - Merkle Time Release (4)Type
- Smart Contract - Merkle Time Release (5)Type
- Smart Contract - Merkle Time Release (6)Type
- Smart Contract - Merkle Time Release (7)Type
- Smart Contract - Merkle Time Release (8)Type
- Smart Contract - SIZE Pair (WETH-USDT)Type
- Smart Contract - SIZE Pair (WETH-WBTC)Type
- Smart Contract - SIZE Pair (USDC-USDT)Type
- Smart Contract - SIZE RrelayerType
- Smart Contract - SIZE Relayer (Arbitrum)Type
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.
Smart Contract
- Direct theft of any user funds, whether at-rest or in-motion, other than unclaimed yieldCriticalImpact
- Permanent freezing of fundsCriticalImpact
- Theft of unclaimed yieldHighImpact
- Permanent freezing of unclaimed yieldHighImpact
- Any governance voting result manipulationHighImpact
- Block stuffing for profitMediumImpact
- Griefing (e.g. no profit motive for an attacker, but damage to the users or the protocol)MediumImpact
- Theft of gasMediumImpact
- Unbounded gas consumptionMediumImpact
- Temporary freezing of fundsMediumImpact
- Any other minor smart contract vulnerabilities not mentioned aboveLowImpact
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, admin, owners of contracts, etc.)
- Attacks involving the depegging of an external stablecoin where the attacker does not directly cause the depegging due to a bug in code
- Attacks on test files and configuration files unless stated otherwise in the bug bounty program
- Incorrect data supplied by third party oracles
- Manipulation and flash loan attacks on third-party oracles
- Loss of slippage through sandwich attacks.
- Basic economic governance attacks (e.g. 51% attack)
- Lack of liquidity
- Best practice critiques
- Sybil attacks
- Mentions of secrets, access tokens, API keys, private keys, etc. in Github will be considered out of scope without proof that they are in-use in production
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
Eligibility
To be eligible for a reward under this Program, you must:
- Be the first to disclose the unique vulnerability in compliance with the disclosure requirements above.
- Provide sufficient information to enable our team to reproduce and fix the vulnerability.
- Not engage in any unlawful conduct when disclosing the bug including through threats, demands, or any other coercive tactics.
- Make a good faith effort to avoid privacy violations, destruction of data, interruption or degradation of Integral.
- Submit only one vulnerability per submission, unless you need to chain vulnerabilities to provide impact regarding any of the vulnerabilities.
- Not submit a vulnerability caused by an underlying issue that is the same as an issue on which a reward has been paid under this Program.
- Be at least 18 years of age.
- Not be subject to US, UK, and EU sanctions or reside in a US, UK, or EU-embargoed country.
- Comply with all the eligibility and disclosure requirements of the Program.
- The vulnerability must not already be known by the Integral team.