
Uniswap on zkSync
Bounty Range
$2,000 - $20,000
external program
The Uniswap Protocol is a decentralized cryptocurrency exchange that uses a set of smart contracts to execute trades. It is an open source project and falls into the category of a DeFi product because it uses smart contracts to facilitate trades.
zkSync Era is a layer 2 rollup that uses zero-knowledge proofs to scale Ethereum without compromising on security or decentralization. Since it's EVM compatible (Solidity/Vyper), 99% of Ethereum projects can redeploy without refactoring or re-auditing a single line of code. zkSync Era also uses an LLVM-based compiler that will eventually let developers write smart contracts in C++, Rust and other popular languages.
This program is based on Uniswap V3 on zkSync.
For more information about the Uniswap Protocol, please visit https://docs.uniswap.org/
This project is being run by the Uniswap Foundation. The Foundation provides rewards in USDC, denominated in USD. For more details about the payment process, please view the Rewards by Threat Level section further below.
This bug bounty program is intended to identify and reward bugs in code specific to the zkSync deployment of Uniswap V3. It does not cover any issues related to the Ethereum network, the Uniswap Protocol, or any other third-party.
Uniswap on zkSync provides rewards in USDC on zkSync, denominated in USD.
Smart Contract
Mainnet assets: Reward amount is 10% of the funds directly affected up to a maximum of $20,000.
Minimum reward to discourage security researchers from withholding a bug report: $10,000
Rewards are distributed according to the impact of the vulnerability based on the Immunefi Vulnerability Severity Classification System V2.3.
For critical smart contract bugs, the reward amount is 10% of the funds directly affected up to a maximum of USD 20,000. The calculation of the amount of funds at risk is based on the time and date the bug report is submitted. However, a minimum reward of USD 10,000 is to be rewarded in order to incentivize security researchers against withholding a bug report.
Repeatable Attack Limitations
If the blockchain/DLT component or smart contract where the vulnerability exists can be upgraded/paused/killed, only the initial attacks within the first hour will be considered for a reward. This is because the project can mitigate the risk of further exploitation by upgrading, pausing, or in some cases, killing the component where the vulnerability exists. The reward amount will depend on the severity of the impact and the funds at risk.
For critical repeatable attacks on blockchain/DLT components or smart contracts that cannot be upgraded/paused/killed, the project will consider the cumulative impact of the repeatable attacks for a reward. This is because the project cannot prevent the attacker from repeatedly exploiting the vulnerability until all funds are drained and/or other irreversible damage is done. Therefore, this warrants a reward equivalent to 10% of funds at risk, capped at the maximum critical reward.
Reward Calculation for High Level Reports
High vulnerabilities concerning theft/permanent freezing of unclaimed yield/royalties are considered at the full amount of funds at risk, capped at the maximum high reward. This is to incentivize security researchers to uncover and responsibly disclose vulnerabilities that may have not have significant monetary value today, but could still be damaging to the project if it goes unaddressed.
In the event of temporary freezing, the reward increases at a multiplier of two from the full frozen value for every additional 24h that the funds are temporarily frozen, up until a max cap of the high reward. This is because as the duration of the freezing lengthens, the potential for greater damage and subsequent reputational harm intensifies. Thus, by increasing the reward proportionally with the frozen duration, the project ensures stronger incentives for bug disclosure of this nature.
Reward Payment Terms
Payouts are handled by the Uniswap Foundation team directly and are denominated in USD. However, payments are done in USDC.
The calculation of the net amount rewarded is based on the average price between CoinMarketCap.com and CoinGecko.com at the time the bug report was submitted. No adjustments are made based on liquidity availability.
Uniswap Foundation may request a government ID during the process.
Per Uniswap Foundation's guidelines to be eligible for a reward under this Program, you must:
Uniswap Foundation adheres to the Primacy of Rules, which means that the whole bug bounty program is run strictly under the terms stated in this page.
A PoC, demonstrating the bug's impact, is required for this program and has to comply with the Immunefi PoC Guidelines and Rules.
Proof of concept is always required for all severities.
Category 2: Notice Required
The project may be receiving reports that are valid (the bug and attack vector are real) and cite assets and impacts that are in scope, but there may be obstacles or barriers to executing the attack in the real world. In other words, there is a question about how feasible the attack really is. Conversely, there may also be mitigation measures that projects can take to prevent the impact of the bug, which are not feasible or would require unconventional action and hence, should not be used as reasons for downgrading a bug's severity.
Therefore, Immunefi has developed a set of feasibility limitation standards which by default states what security researchers, as well as projects, can or cannot cite when reviewing a bug report.
These include considerations of:
By adhering to Immunefi's best practice recommendations, Uniswap Foundation has satisfied the requirements for the Immunefi Standard Badge.