Balancer is a decentralized automated market maker (AMM) and liquidity protocol on Ethereum and other EVM-compatible networks. It is permissionless and non-custodial: anyone can trade tokens or provide liquidity through smart contracts, with no intermediary holding funds.
Balancer V3 is the current protocol. It is built around a single Vault that holds all pool assets and enforces the core accounting and safety checks, which keeps pool contracts small and makes custom pool types simpler to build and review. V3 adds a hooks framework for extending pool behavior, native ERC4626 boosted liquidity through internal buffers, and pool types including Weighted, Stable, StableSurge, Gyro (E-CLP and 2-CLP), AutoRange (ReClamm), and Liquidity Bootstrapping Pools. Trades and liquidity operations are routed through a set of Routers.
Balancer V2, the prior generation, remains in operation for residual liquidity (mainly weighted pools) and is also built around a Vault. This program covers the in-scope V3 and V2 smart contracts listed under Assets in Scope.
PoC Required
Select the category you'd like to explore
Assets in Scope
Impacts in Scope
Permanent freezing of >1% of total funds in the Vault, affecting every pool type
Theft of >1% of total funds in the Vault, affecting every pool type
Permanent freezing of funds in excess of gas costs or swap fees, affecting a specific pool type
Theft of funds in excess of gas costs or swap fees, affecting a specific pool type
Temporary freezing of funds in excess of gas costs or swap fees
Permanent freezing of unclaimed yield
Theft of unclaimed yield
Out of scope
Balancer is only compatible with standard ERC20 tokens that transfer the exact amount from sender to recipient, where balances do not change by any means other than transfers. Tokens with transfer fees, rebasing supplies, streaming mechanics, or multiple entry points are not compatible with Balancer; that list is not exhaustive. Impacts that depend on such tokens are out of scope.
Vulnerabilities that require the user to interact with explicitly malicious routers, pools, hooks, or rate providers are out of scope, because introducing such components in a permissionless protocol is trivial and impossible to prevent.
Best practice critiques are out of scope, as are known issues, such as those highlighted in the following audit reports, are out of scope (the list is not exhaustive): https://github.com/balancer/balancer-v2-monorepo/tree/master/audits https://github.com/balancer/balancer-v3-monorepo/tree/main/audits
Smart Contract specific
- Incorrect data supplied by third party oracles
- Not to exclude oracle manipulation/flash loan attacks
- Impacts requiring basic economic and governance attacks (e.g. 51% attack)
- Lack of liquidity impacts
- Impacts from Sybil attacks
- Impacts involving centralization risks
All categories
- Impacts requiring attacks that the reporter has already exploited themselves, leading to damage
- Impacts caused by attacks requiring access to leaked keys/credentials
- Impacts caused by attacks requiring access to privileged addresses (including, but not limited to: governance and strategist contracts) without additional modifications to the privileges attributed
- Impacts relying on attacks involving the depegging of an external stablecoin where the attacker does not directly cause the depegging due to a bug in code
- 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
- Best practice recommendations
- Feature requests
- Impacts on test files and configuration files unless stated otherwise in the bug bounty program
- Impacts requiring phishing or other social engineering attacks against project's employees and/or customers


