Element Finance brings high fixed yield income to the DeFi market, initially focused on ETH, BTC, USDC, and DAI. Users can purchase ETH, BTC, USDC, and DAI at a discount without being locked into a term, allowing the exchange of the discounted asset and the base asset at any time. The fixed rate income can be secured with the exchange of any major base asset. For active DeFi users, the Element Protocol provides capital efficiency on yield positions they are already depositing into, such as Yearn or ETH2 staking. Users can sell their deposited principal at a discount as fixed yield income, leveraging or increasing exposure to yield without liquidation risk. This competitive activity is what drives the high fixed yield markets. This construction paper breaks down the Element Protocol and discusses how it can open the door to a number of new primitives and innovations.
Further information regarding Element Finance can be found on their Construction Paper, https://paper.element.fi/.
The bug bounty program is focused around its smart contracts and is mostly concerned with the loss of user funds and the access to those funds without user permission.
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.
In addition to assessing severity, the rewards will be considered based on the impact of the discovered vulnerability as well as the level of difficulty in discovering such vulnerability.
Payouts are handled by the Element Finance team directly and are denominated in USD. However, payouts are done in DAI or USDC.
- USD $20,000 - USD $100,000
- USD $5,000 - USD $20,000
- USD $1,000 - USD $5,000
- Up to USD $1,000
- USD $0
Assets in scope
- https://github.com/element-fi/elf-contracts/blob/5517dbe0982b85bc7a7207b5119d9a728bf1f830/contracts/WrappedPosition.solTargetSmart Contract - Core Contract (Wrapped Position)Type
- https://github.com/element-fi/elf-contracts/blob/5517dbe0982b85bc7a7207b5119d9a728bf1f830/contracts/Tranche.solTargetSmart Contract - Core Contract (Tranche)Type
- https://github.com/element-fi/elf-contracts/blob/5517dbe0982b85bc7a7207b5119d9a728bf1f830/contracts/factories/TrancheFactory.solTargetSmart Contract - Core Contract (Tranche Factory)Type
- https://github.com/element-fi/elf-contracts/blob/5517dbe0982b85bc7a7207b5119d9a728bf1f830/contracts/InterestToken.solTargetSmart Contract - Core Contract (Interest Token)Type
- https://github.com/element-fi/elf-contracts/blob/5517dbe0982b85bc7a7207b5119d9a728bf1f830/contracts/factories/InterestTokenFactory.solTargetSmart Contract - Core Contract (Interest Token Factory)Type
- https://github.com/element-fi/elf-contracts/blob/5517dbe0982b85bc7a7207b5119d9a728bf1f830/contracts/UserProxy.solTargetSmart Contract - Core Contract (User Proxy)Type
- https://github.com/element-fi/elf-contracts/blob/5517dbe0982b85bc7a7207b5119d9a728bf1f830/contracts/libraries/Authorizable.solTargetSmart Contract - Library Contract (Authorizable)Type
- https://github.com/element-fi/elf-contracts/blob/5517dbe0982b85bc7a7207b5119d9a728bf1f830/contracts/YVaultAssetProxy.solTargetSmart Contract - Integration Contract (Y Vault Asset Proxy)Type
- https://github.com/element-fi/elf-contracts/blob/5517dbe0982b85bc7a7207b5119d9a728bf1f830/contracts/ConvergentCurvePool.solTargetSmart Contract - Custom Balancer Curve (Convergent Curve Pool)Type
- https://github.com/element-fi/elf-contracts/blob/5517dbe0982b85bc7a7207b5119d9a728bf1f830/contracts/factories/ConvergentPoolFactory.solTargetSmart Contract - Custom Balancer Curve (Convergent Pool Factory)Type
- Smart Contract - Core VotingType
- Smart Contract - Simple ProxyType
- Smart Contract - GSC VaultType
- Smart Contract - Locking VaultType
- Smart Contract - Optimistic RewardsType
- Smart Contract - Vesting VaultType
- Smart Contract - HistoryType
- Smart Contract - Merkle RewardsType
- Smart Contract - Reentrancy BlockType
- Smart Contract - StorageType
- Smart Contract - Vesting Vault StorageType
- Smart Contract - Optimistic GrantsType
- Smart Contract - SpenderType
- Smart Contract - TimelockType
- Smart Contract - TreasuryType
All Smart Contracts deployed or intended for deployment (e.g not in the test folder) in https://github.com/element-fi/elf-contracts/tree/5517dbe0982b85bc7a7207b5119d9a728bf1f830 are within the scope of this bug bounty program. However, the Smart Contracts listed in this table are prioritized, and this prioritization is taken into account when deciding on the reward amount.
Disclosure and Reporting Guidelines
We ask that all bug bounty hunters, security engineers, and researchers:
- Make it a priority to avoid privacy violations, degradation of user experience, and disruption to production systems during security testing.
- Report vulnerabilities as soon as they have been discovered and keep them confidential between yourself and the Element team until the issue(s) has been resolved.
- Only use the Immunefi bug reporting interface to report vulnerability information to us.
- Provide the team with at least 5 working days to investigate the issue and get back to you before taking any further action.
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.
- Any governance voting result manipulationCriticalImpact
- Direct theft of any user funds, whether at-rest or in-motion, other than unclaimed yieldCriticalImpact
- Permanent freezing of fundsCriticalImpact
- Miner-extractable value (MEV)CriticalImpact
- Protocol InsolvencyCriticalImpact
- Theft of unclaimed yieldHighImpact
- Permanent freezing of unclaimed yieldHighImpact
- Temporary freezing of fundsHighImpact
- Smart contract unable to operate due to lack of token fundsMediumImpact
- 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
- Contract fails to deliver promised returns, but doesn't lose valueLowImpact
These accepted impacts are then based on the severity classification system of this bug bounty program. When submitting a bug report, please select the severity level you feel best corresponds to the severity classification system as long as the impact itself is one of the listed items.
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 this 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
By submitting your report through Immunefi, you grant Element Finance the rights to validate, mitigate, and disclose the vulnerability. All bug bounty reward decisions, including eligibility, amounts for rewards, and how such rewards will be paid, are made at Element’s sole discretion. The terms and conditions of this Bug Bounty Program may be altered at any time.