Maple
Submit a BugProgram Overview
Founded in 2019 and led by a team of former bankers and credit investment professionals aiming to improve upon legacy capital markets, Maple is an institutional capital network that provides the infrastructure for credit experts to run on-chain lending businesses and connects institutional lenders and borrowers. Built with both traditional financial institutions and decentralized finance leaders, Maple is transforming capital markets by combining industry-standard compliance and due diligence with the transparent and frictionless lending enabled by smart contracts and blockchain technology. Maple is the gateway to growth for financial institutions, pool delegates and companies seeking capital on-chain.
For more information about Maple, please visit https://maple.finance/.
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.
Rewards for critical smart contract vulnerabilities are further capped at 10% of economic damage, with the main consideration being the funds affected in addition to PR and brand considerations, at the discretion of the team. However, there is a minimum reward of USD 50 000 and a maximum reward of USD 500 000.
Maple requires KYC to be done for all bug bounty hunters submitting a report and wanting a reward. The information needed is a government-issued photo ID as well as a proof of address issued within the last 3 months (eg. utility bill).
All known issues highlighted in the following audit reports are considered to be out-of-scope:
In addition, all issues related to 4626 compliance are considered out of scope of this program.
Payouts are handled by the Maple team directly and are denominated in USD. However, payouts are done in USDC or MPL, at the discretion of the team.
Smart Contract
- Critical
- Level
- USD $50,000 to USD $500,000
- Payout
- High
- Level
- USD $25,000
- Payout
Assets in scope
- Smart Contract - LiquidatorFactoryType
- Smart Contract - LiquidatorImplementation (v200)Type
- Smart Contract - LiquidatorInitializer (v200)Type
- Smart Contract - LoanManagerFactory (Fixed Term)Type
- Smart Contract - LoanManagerImplementation (v301 Fixed Term)Type
- Smart Contract - LoanManagerInitializer (v300 Fixed Term)Type
- Smart Contract - LoanManagerFactory (Open-Term)Type
- Smart Contract - LoanManagerImplementation (v100 - Open-Term)Type
- Smart Contract - LoanManagerInitializer (v100 - Open-Term)Type
- Smart Contract - MapleGlobalsImplementation (v200)Type
- Smart Contract - MapleGlobalsProxy (v2)Type
- Smart Contract - MapleLoanFactoryType
- Smart Contract - MapleLoanImplementation (v501 Fixed Term)Type
- Smart Contract - MapleLoanInitializer (v500 Fixed Term)Type
- Smart Contract - MapleLoanMigrator (v501 Fixed Term)Type
- Smart Contract - MapleLoanFactory (Open-Term)Type
- Smart Contract - MapleLoanImplementation (v101 - Open-Term)Type
- Smart Contract - MapleLoanInitializer (v100 - Open-Term)Type
- Smart Contract - PoolDeployerType
- Smart Contract - PoolManagerFactoryType
- Smart Contract - PoolManagerImplementation (v200)Type
- Smart Contract - PoolManagerInitializer (v100)Type
- Smart Contract - Refinancer (Fixed term)Type
- Smart Contract - MapleRefinancer (Open-Term)Type
- Smart Contract - WithdrawalManagerFactoryType
- Smart Contract - WithdrawalManagerImplementation (v100)Type
- Smart Contract - WithdrawalManagerInitializer (v100)Type
- Smart Contract - Pool (For reference)Type
- Smart Contract - PoolManager (For reference)Type
- Smart Contract - LoanManager ( Fixed-Term for reference)Type
- Smart Contract - WithdrawalManager (For reference)Type
- Smart Contract - PoolDelegateCover (For reference)Type
- Smart Contract - Loan (Fixed-Term for reference)Type
- Smart Contract - LoanManager (Open-Term For reference)Type
- Smart Contract - Loan (Open-Term For reference)Type
All contracts listed above are in scope, as well as all proxy and contract instances deployed from all factories. Though only the proxy contracts are listed as in-scope, current implementation and any further updates to the implementation contracts are considered in scope. When reporting a bug, please make sure to select the relevant proxy smart contract as the target.
All contracts that are marked as “(For reference)” are instances of contracts that have been deployed by protocol factories and are in scope for the audit. All other instances that are deployed in the same fashion are in scope of the audit, including:
- Liquidator (Not deployed currently, deployed during loan liquidations of collateral)
- Loan (Fixed-Term & Open-Term)
- LoanManager (Fixed-Term & Open-Term)
- Pool
- PoolManager
- PoolDelegateCover
- WithdrawalManager
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
- Miner-extractable value (MEV)CriticalImpact
- Protocol insolvencyCriticalImpact
- Theft of unclaimed yieldHighImpact
- Permanent freezing of unclaimed yieldHighImpact
- Temporary freezing of funds for at least 24 hoursHighImpact
- Unintended changes in smart contract permissioningHighImpact
- Unintended changes in proxy/upgradeability functionalityHighImpact
- Unfair liquidations of collateralHighImpact
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)
Smart Contracts and Blockchain
- 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
- Centralization risks
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