Element Finance
Submit a BugProgram Overview
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. 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.
Smart Contracts and Blockchain
- Critical
- Level
- USD $20,000 - USD $100,000
- Payout
- high
- Level
- USD $5,000 - USD $20,000
- Payout
- medium
- Level
- USD $1,000 - USD $5,000
- Payout
- low
- Level
- Up to USD $1,000
- Payout
- none
- Level
- USD $0
- Payout
Assets in Scope
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.
- Core Contract (Wrapped Position)
- Type
- Core Contract (Tranche)
- Type
- Core Contract (Tranche Factory)
- Type
- Core Contract (Interest Token)
- Type
- Core Contract (Interest Token Factory)
- Type
- Core Contract (User Proxy)
- Type
- Library Contract (Authorizable)
- Type
- Integration Contract (Y Vault Asset Proxy)
- Type
- Custom Balancer Curve (Convergent Curve Pool)
- Type
- Custom Balancer Curve (Convergent Pool Factory)
- Type
- Smart Contract - Core Voting
- Type
- Smart Contract - Simple Proxy
- Type
- Smart Contract - GSC Vault
- Type
- Smart Contract - Locking Vault
- Type
- Smart Contract - Optimistic Rewards
- Type
- Smart Contract - Vesting Vault
- Type
- Smart Contract - History
- Type
- Smart Contract - Merkle Rewards
- Type
- Smart Contract - Reentrancy Block
- Type
- Smart Contract - Storage
- Type
- Smart Contract - Vesting Vault Storage
- Type
- Smart Contract - Optimistic Grants
- Type
- Smart Contract - Spender
- Type
- Smart Contract - Timelock
- Type
- Smart Contract - Treasury
- Type
Prioritized Vulnerabilities
We are especially interested in receiving and rewarding vulnerabilities of the following types:
- Re-entrancy
- Logic errors
- including user authentication errors
- Solidity/EVM details not considered
- including integer over-/under-flow
- including unhandled exceptions
- Trusting trust/dependency vulnerabilities
- including composability vulnerabilities
- Oracle failure/manipulation
- Novel governance attacks
- Economic/financial attacks
- including flash loan attacks
- Congestion and scalability
- including running out of gas
- including block stuffing
- including susceptibility to frontrunning
- Consensus failures
- Cryptography problems
- Signature malleability
- Susceptibility to replay attacks
- Weak randomness
- Weak encryption
- Susceptibility to block timestamp manipulation
- Missing access controls / unprotected internal or debugging interfaces
Additionally, the following aspects are prioritized for the Smart Contracts listed in the Assets in Scope table. We want to be confident that:
Core Contracts:
- No user either loses or loses access to funds.
- No user funds are moved without user permission.
- No Principal or Yield tokens can be minted that are not fully backed.
- The user proxy always returns the correct amount to users.
For the Integration Contracts:
- No flash loan or other attack can manipulate the interest earned or balance calculations.
- These integrations will always be able to retrieve funds from the protocols.
- There are no conditions where these contracts will lose money.
For the Custom Balancer Curve:
- The math in the contract matches the math we intended.
- The error conditions mean that the calculation is within a tolerance of the real result.
- There is no way to manipulate the pool to produce a profit for an attacker.
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
Terms
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.