Updated: October 19, 2023
Balancer is an ecosystem of independent software components, tools, and contributors.
The Balancer protocol is a set of Smart Contracts that feature a decentralized AMM (Automated Market Maker) optimized for a flexible and programmable liquidity provisioning experience. By separating the AMM curve logic and math from the core swapping functionality, Balance becomes an extensible AMM that can incorporate a variety of trading curves and pool types. This includes traditional 50/50 x*y=k weighted pools, custom weight pools for controlled exposure, stableswap curves, nested pools, liquidity bootstrapping pools, concentrated liquidity pools…
The balancer dApp is an open-source frontend application that users can use to interact with the underlying protocol Smart Contracts.
The Balancer Vault is the core of the Balancer protocol. It is a smart contract that holds and manages all tokens in each Balancer pool. Because of this, the Vault is the main interface through which joins, exists, and swaps take place.
The Vault architecture separates the token accounting functions from the pool logic. This way, the protocol does not have to actively manage its pool assets. Also, this enables the Vault to be agnostic when it comes to managing the underlying pools, which simplifies accounting and makes it possible to accommodate new pool designs.
Since the Vault is agnostic to the pool’s mathematical functions, it will keep pool balances independent from one another. This is critical for a permissionless system since this allows anyone to create their own tokens and pools. At the same time, this independence also protects against malicious actors or negligently designed tokens or custom pools that might attempt to drain funds from any other pool.
Even though the Vault may hold consolidated liquidity for a certain token, the depth of that combined liquidity does not change the price impact in individual pools.
Thanks to the modular architecture of the Vault, anyone can come in with a trading system and create a custom pool that can be plugged into Balancer’s existing liquidity instead of having to build a new decentralized exchange from scratch.
The Vault architecture was designed with two primary value propositions in mind:
The Vault supports two core types of swaps:
In other AMMs where the pool’s pricing logic is tightly coupled with the management and accounting of the underlying assets, it is very expensive to perform multi-step operations such as multi-hop trading (A -> B -> C). The reason for that is that there is a transfer of ERC20 tokens in each hop.
Balancer improves its swap efficiency by having all tokens stored in the same contract, the Vault. This way, instead of transferring ERC20 tokens multiple times, the Vault is able to keep track of net balance changes and only make a final transaction to consolidate the final state. This reduction in the number of transfers that are required saves a considerable amount of gas.
Balancer’s Vault makes it possible to execute swaps with no transfers whatsoever. Similar to how the Vault keeps track of asset balances for its pools, it can also maintain an internal balance accounting for arbitrary Ethereum addresses. As a result, users can hold internal balances in the Vault and execute swaps to/from these balances.
While the consolidated liquidity of Balancer’s Vault does not change the price impact on a per-pool basis, it does enable the protocol to leverage that combined liquidity by offering flash loans.
Flash loans are uncollateralized loans that must be repaid (with interest) in the same transaction as it is borrowed. Since everything must be completed in one transaction, it is impossible for borrowers to run away with the assets they borrowed.
Anyone who identifies an arbitrage opportunity or price discrepancy across Balancer pools can execute a Flash swap. When this is the case, the arbitrageur who executes the trade does not need to hold any of the input tokens. Instead, the trader could detect the imbalance, tell the Vault to execute the swap, and be rewarded with the final profit.
Balancer can support customizable pools with custom curves, logic, or parameters. This flexibility and composability allow for unique use cases that prevent liquidity fragmentation for any given asset.
For example, most tokens are usually paired against stablecoins or native assets like ETH. Historically, any given token ends up with AMM pools such as XYZ/ABC, XYZ/USDC… This leads to a lot of duplicated and isolated liquidity where multiple hops are needed to connect swap transactions (e.g. go from ABC to XYZ then from XYZ to USDC). Thanks to the Vault’s unique design, Balancer makes it possible to pair ABC and XYZ with a bb-a-usd shared pool in order to achieve more capital efficiency. This would create direct routes between ABC/USDC, ABC/USDT, and ABC/DAI.
Choosing what type of pool to use depends on a series of factors, the primary being the expected price variations between the tokens in the pool.
Weighted pools are an extension of the original constant product AMM introduced by Uniswap (x * y = k). Balancer’s weighted math is an extension that allows for a swap of uncorrelated assets given pool balances, pool weights, and the number of assets being traded.
The core functionality of Balancer is derived from its value function V. This is a function of the pool’s weights and balances and whose surface implies a spot price at each point such that, no matter what swaps are carried out, the share of the value of each token in the pool remains constant.
By using Weighted Math, Balancer enables the creation of pools with more than two tokens and custom weightings (80/20, 60/40…). This is a big improvement compared to the original Uniswap design, which only supports two tokens in a 50/50 pool.
Weighted pools allow users to choose their desired levels of exposure to certain assets while still maintaining the ability to provide liquidity.
For example, if a user wants to provide liquidity to the WBTC/WETH pair, they can choose whatever pool weighting they are most comfortable with. A pool heavier towards WBTC would imply that the strategy expects bigger gains for WBTC, while a pool heavy towards WETH would imply that the strategy expects WETH outperformance.
An evenly balanced pool would suggest that the liquidity provider expects the value of the assets to remain proportional in the long run.
The higher a token’s weight in a pool, the less Impermanent Loss it will experience in the event of a price surge. For pools that heavily weigh one token over another, there is far less Impermanent Loss. However, asymmetric pools come at the expense of higher slippage when making swaps, due to the fact that one side has much less liquidity.
Impermanent Loss is the difference in the realized value between holding a set of assets and providing liquidity for those same assets.
Impermanent Loss occurs when the prices of two assets experience a divergence in price action. For example, if two assets increase by 20%, then no Impermanent Loss is noticed. However, if one asset increases in value by 20%, then a divergence has taken place and some form of Impermanent Loss would be noticed in the position. This can be reversed if the other token in the pool also increases by 20% or both tokens end up converging on the same price movement relative to the original investment.
Impermanent Loss = (Pool Value/HODL Value) -1;
Impermanent Loss calculator for Balancer Pools: https://baller.netlify.app/
Composable stable pools are a superset of all previous Stable-type pools (Stable Pools, MetaStable Pools, StablePhantom Pools, and StablePools V2) and therefore obsolete all previous pool designs.
Composable stable pools are designed for tightly correlated assets that are expected to trade at near parity. These pools use Stable Math, a concept popularized by Curve’s stableswap AMM. This allows for trades of significant size to occur without encountering substantial price impacts, which increases the capital efficiency for correlated-asset swaps.
Composable stable pools are ideal for:
These pools are composable, which means that they allow swaps to and from their own LP token. For example, putting the LP token of a stableswap pool into other pools (“nesting”) enables batch swaps from nested pool tokens to tokens in the outer destination pool.
For example, with a composable stable pool consisting of stablecoins (DAI, USDC, USDT), it is possible to pair the LP token of that pool against WETH. By doing this, the protocol can consolidate its liquidity into some of the most common groupings. This results in deeper liquidity and better pricing. Besides, this also saves the trouble of making 3 weighted pools (DAI/WETH, USDC/WETH, USDT/WETH).
Boosted pools offer LPs the opportunity to simultaneously earn from both trading fees and interest, for any ERC-4626 compatible wrapped token. This is a unique value proposition for Balancer since it will allow the protocol to offer higher yields for LPs and align the incentives of liquidity providers with Protocol Revenue.
Boosted pools are a subset of composable stable pools and weighted pools. They are meant to find an optimal balance between the capital efficiency for liquidity providers and traders. Traders can get access to deep liquidity with minimal price impact, and liquidity providers can use their LP position on external protocols, such as Aave.
The motivation for liquidity pools is that swap prices are determined by asset balances in a pool. For example, a large pool is beneficial for traders, since they will be able to swap assets with minimal price impact. The downside is that large pools have negative effects on liquidity providers since only a small fraction of the total assets in the pool are being actively traded back and forth. As a result, most of the liquidity of the pool is left sitting idle, which is not capital efficient.
By making changes to the pool structure, it becomes possible to generate value out of idle liquidity. This is achieved by deploying that liquidity in external protocols to generate yield. Furthermore, since the pool will become more appealing for LPs (due to the yield accrued from external protocols, like lending on Aave), the liquidity will grow even larger, offering better pricing to traders. Overall, this gives liquidity providers the benefits of protocols like Aave on top of the swap fees they collect from asset swaps.
As illustrated in the figure above, only a tiny amount of the pool would be touched by swaps. The remaining capital would help to alleviate the price impact from trading, but these assets are idle and not generating yield or fees directly. With boosted pools, those idle tokens can be turned into yield-bearing assets.
This is achieved with nested linear pools, a specific type of Balancer pools that facilitate the exchange of an asset and its wrapped yield-bearing counterpart, like DAI and aDAI from Aave.
One example of this functionality is the Balancer Boosted Aave USD pool, bb-a-USD, which facilitates trades between the 3 USD stablecoins (DAI, USDC, and USDT) while sending idle liquidity to Aave. The underlying linear pools are:
Since aTokens are rebasing tokens as they accrue interest from borrowers’ payments, the underlying Aave aTokens are wrapped and turned into a static token that the Balancer Vault can use for its internal accounting.
One of the benefits of this model is its composability. For instance, bb-a-USD is a preminted BPT (Balancer Pool Token – analogous to an LP token) that can be nested within higher-level pools. When creating a pool, using bb-a-USD as a constituent brings in multiple benefits, such as:
For instance, this allows protocols that launch a new stablecoin to avoid having to set an independent pool for each stablecoin pairing. Instead, the protocol can pair the new token with bb-a-USD.
In November 2022, Aave passed a proposal to enable some BPTs to be allowed as collateral on Aave. The proposal also approved a direct integration with Balancer as a tool to bootstrap Aave’s stablecoin, GHO.
Aave will create a liquidity pool on Balance for its GHO stablecoin with other stablecoins. Using BAL in the treasury from swaps, Aave will create a veBAL position and vote to incentivize liquidity in the newly created pool. At the same time, Aave will accept BPTs as collateral for borrowing GHO and other stablecoins
Liquidity bootstrapping pools (LBPs) are pools that can dynamically adjust the token weighting. This is achieved by using Weighted Math with time-dependent weights. There is a start and an end date which are selected by the pool owner, who also has the power to pause swaps.
Liquidity bootstrapping pools are frequently used for token sales. The pool creator can set a ceiling price at the start of the sale and, over time, the pool will change the weights of the assets in the pool until a market equilibrium is reached. Whenever there is a weight shift, the price of one of the tokens experiences sell pressure, while the other experiences buy pressure. When mixed with a decent amount of trading volume, the price approaches the generally agreed-upon market price.
Liquidity bootstrapping pools often start with an excessively high price. This disincentivizes whales and bots from buying most of the liquidity at the beginning. When applied to early-stage tokens, this also helps to increase the widespread distribution of tokens among the sale participants.
Contrary to other sale models, since the price of the token gradually decreases, users are disincentivized to buy early and can benefit from waiting for the price to decrease until it reaches a price they are comfortable buying at.
There have been some notable integrations and use cases for liquidity bootstrapping pools:
Linear pools facilitate the exchange of an asset and its wrapped yield-bearing counterpart at a known exchange rate. For example, they allow for swaps between DAI and aDAI from Aave.
Linear pools have target ranges to incentivize how much of the native token should be kept available for swaps vs the yield-bearing counterpart. This is achieved using a fee/reward mechanism that incentivizes arbitrageurs to intervene in order to maintain a desired ratio between the two tokens:
Among the most popular Balancer linear pools, we find:
Managed pools unlock sophisticated portfolio management strategies and fine-grained control over asset management allocations. These are multi-token liquidity pools that can be used by external protocols to manage their own sources of liquidity.
This model provides a framework for fund managers to track a wider crypto sector and support time-based shifting mechanisms similar to those of liquidity bootstrapping pools.
Examples of managed pools liquidity controllers include:
Protocol pools represent entire DeFi protocols built on top of Balancer infrastructure. This is possible because Balancer provides the infrastructure for custom AMMs by separating the pool logic from the accounting logic. As a result, any AMM logic can be implemented as a custom pool that sits on top of the Balancer Vault.
Since the beginning of DeFi and the origin of AMMs, there have been many experiments across the industry to create a healthy trading ecosystem. Due to the different incentives of market participants, there is no straightforward solution to find a common ground between retail traders, DEX aggregators, arbitrageurs, and liquidity providers. At the same time, if any of those actors does not participate in the AMM, then the protocol would be at risk of suffering from diminishing trading volume and lower returns on liquidity deposits.
Balancer was born in 2018 as a project incubated by Block Science, an engineering and research firm that later on spun out a separate corporate entity, Balancer Labs. The main objective of the protocol was to allow liquidity providers to deposit assets with customizable ratios. This would create an automated market-making structure that resembles an ETF (Exchange Traded Fund) and that is continuously rebalanced as traders swap one asset for another. Liquidity providers would earn revenue from the fees paid out by traders.
Liquidity mining incentives for the BAL tokens started on June 1, 2020, in order to incentivize users to provide liquidity and earn BAL tokens in return. Since BAL is the de-facto governance token of the protocol, this initiative sought to diversify its supply among the users who are early supporters and helped to bootstrap the liquidity in the early stages of the protocol.
There are no public roadmaps, but plans and updates are usually announced on their social media channels, especially via Twitter and Discord announcements.
Contrary to traditional finance, where regulatory and competitive barriers prevent individuals and smaller shops from engaging in market-making activities, AMMs are the default way to operate decentralized exchanges.
The launch of Uniswap’s constant-product AMM was a pivotal moment for the industry that kicked off a new wave of DeFi innovation. Balancer took this model one step further by implementing a constant mean market that allowed for more than two assets and facilitated liquidity weights outside of the usual 50/50 liquidity split. Next, in 2020, Curve launched its protocol with a new formula for a stableswap AMM that combined the constant-product and the constant-sum models.
DefiLlama reports $84.31 billion of volume done across all tracked DEXes on February 2023, with an up-trend since December 2022.
Out of all the volume made by Dexes, Balancer has done around $1.773 billion combining the Ethereum, Polygon, and Arbitrum networks, with its largest volume taking place on the Ethereum network.
Balancer ranks number 4 in TVL across all Dexes on all chains, with $1.11B in TVL and a 0.25 Mcap/TVL ratio as of March 2023
The TVL dropped by 57% in 2022, which is significantly less than its main competitors. This is likely due to its unique product offering and incentive rewards. For reference, Uniswap’s TVL fell by 61%, Sushiswap’s by 90%, and Curve’s by 84%.
TVL Competitive Landscape
While Balancer is a DEX, it has an edge over the other standard DEX with its technological offerings, such as its weighted, boosted, and composable pools. This technology is also implemented by Beethoven, which is a friendly fork of Balancer and both parties have enjoyed a collaborative relationship. This is one of the reasons why Balancer has not been deployed on Optimism yet.
Balancer v2 generates around $30k in revenue a day.
Beethoven generates an average of $10k and $1k in fees on the Fantom and Optimism network respectively.
Balancer’s top competitor and market leader, Uniswap, generates around $10.4 million in fees per week.
Balancer is currently live on the following chains:
Balancer’s aggregate liquidity is accessible for traders, aggregators, and arbitrageurs, while still allowing for flexible liquidity provisioning setups. This makes Balancer the ideal protocol to suit the needs of a diverse set of actors and protocols.
Balancer has integrations across the DeFi space. This includes money markets supporting BPTs (Balancer Pool Tokens) as collateral, wallets that support BPT pricing, block explorers showing swap actions…
Balancer has full integration with major DEX aggregators such as 1inch, Paraswap, 0x, and Gnosis solvers. Whether it is through the Smart Order Router or via custom implementation logic, new pool types and logic can be accessed and supported by any DEX aggregator in a matter of days after going live.
A successful example of a DeFi protocol built on top of Balancer is Gyroscope, a protocol that features concentrated liquidity pools and saw a significant increase in volume after the 1inch integration on Polygon
Arbitrageurs are market participants that profit from price anomalies across multiple dexes or liquidity pools. They are a necessary component in the development of a successful DEX. Like aggregators, arbitrageurs carefully select the AMMs they allocate resources to.
Once deployed, Balancer protocol pools are immediately hooked into one of the deepest and most diverse sources of liquidity on any given chain. Because of this, the assets in the new pool can be easily swapped with other base assets like stablecoins, WBTC, or WETH simply by adding those specific swap routes.
Unlike other AMMs, the additional hops within a swap route do not incur additional costs associated with token transfers and gas fees. This unlocks all sorts of swap combinations and routes between the various pool types in the Balancer ecosystem.
Other features that new protocols can access include flash swaps, batch swaps, flash loans, and internal balances.
Incentives on mainnet are accrued each block.
Protocol fees are distributed on a weekly basis.
[BIP-197] Balancer OpCo completed an OTC deal selling 250,000 BAL for 1.6M USDC, which can secure funding for the next two years.
Treasury wallet with non-BAL funds: 0x0EFcCBb9E2C09Ea29551879bd9Da32362b32fc89
As of March 2023, 85% of the TVL is on Ethereum mainnet. TVL likely benefited from boosted pools, which managed to attract liquidity on stablecoins from BAL inflationary incentives.
Users paid $33.5M in trading fees on Balancer in 2022.
In Q4 2022, LPs earned an average of $27,779 in trading fees, veBAL lockers earned an average of $16,232, and the DAO received $5,411.
The primary drivers for revenue are token prices and DEX trading activity, both of which fell during 2022, going from over $108,000 in daily fees in Q1 to $49,000 in Q4.
Fee settings are part of the configuration process for setting up new pools on Balancer. The deployer of a pool can make the following decisions:
Governable protocol fees are collected by the Balancer protocol, not liquidity providers.
The distribution of protocol fees can be adjusted by governance. As of Q1 2023, protocol fees are distributed as follows:
Data in the dashboard below represents approved snapshot votes only. Any potential savings or adjustments after snapshot approval are not considered.
Note that forecasts only take into account approved SP proposals. Proposals from Balancer maxis come in right before the next quarter.
Balancer Governance Token (BAL) is the core and native token of the Balancer protocol. Its utility comes from aligning the incentives of token holders to come up with governance decisions that are beneficial for the decentralization of the protocol.
veBAL is an extension of the BAL token and is used for voting in decentralized governance.
The maximum total supply of BAL tokens enforced at the smart contract level is 100M; however, this does not necessarily mean that this cap will ever be reached. BAL token holders have the authority to decide if the distribution should end before hitting the cap.
At the beginning, there was a weekly inflation of 145,000 BAL tokens. Since the introduction of veBAL in Q1 2022, this is no longer the case. veBAL includes an annual reduction in emissions rates such that the program should run until around 2050. This would leave a total supply of around 94M tokens upon completion (assuming no other governance decision is enacted to mint part of the unallocated supply).
Inflation rate= 0.239 BAL/second = 145,000 BAL/week
Rate reduction coefficient = 1.18920712= 2^0.25
The rate reduction coefficient is applied to the inflation rate every year in order to achieve the desired emission schedule:
|BAL recipient||Original allocation||State as of Feb 2023|
|Liquidity providers (veBAL) – allocated by community||N/A||4.75M from community fund allocated to veBAL|
|Founders/investors/advisors||25M||No information available|
|Ecosystem fund||5M||Merged into Community Fund|
|Fundraising fund||5M||Merged into Community Fund|
veBAL (vote-escrow BAL) is a vesting and yield system inspired by Curve’s veCRV mechanism. The system works by locking 80/20 BAL/WETH BPTs for a maximum of 1 year. There is a gauge system built on top that will promote the incentives alignment of long-term holders and facilitate a fair distribution of Protocol Revenue. This is achieved by voting on those pools that will receive the token incentives.
veBAL is a non-standard ERC20 token and cannot be transferred.
When users lock 80/20 BAL/WETH BPTs they are given veBAL that they can use for governance and implied financial purposes and benefits. The longer the length of the time lock, the higher the multiplier the user gets on their voting power.
The first step for getting veBAL requires ownership of BAL or WETH tokens to invest in the BAL/WETH 80/20 pool. You can deposit a single asset, which will incur some price impact, or you can deposit both assets in the correct weights. Next, you will time-lock your BPTs and receive veBAL.
Voting power is a function of the amount of pool tokens locked multiplied by the length of the lock period.
A user who locks 1 BPT for 52 weeks will receive the same amount of “vote-escrowed” voting power as someone who locks 2 BPT for 26 weeks.
Despite the revenue for veBAL holders going down in Q4 2022, this did not lead to a decrease in the amount of BAL tokens being locked as veBAL. As of December 31, 2022 96% of all 80/20 BAL/WETH BTPs were locked as veBAL, which accounted for 48% of all outstanding BAL tokens.
Higher portions of BAL locked as veBAL make BAL price more sensitive to price changes in yield. At the same levels of yield, more BAL locked as veBAL leads to higher appreciation in BAL’s price.
Cross-chain $veBAL boosts were first introduced on May 17, 2023, in collaboration with LayerZero Labs, allowing users to seamlessly sync their $veBAL position and take advantage of $BAL Boosts on Layer 2s. The layer 2 gauge migration was enabled on May 25, 2023.
However, getting and using $veBAL to vest and vote must still be performed on the Ethereum mainnet.
There are multiple components involved in Balancer’s governance process: the BAL token, veBAL, governable protocol fees, the governance process, snapshot and voting proposals, the protocol multi-sig, and the emergency subDAO.
The BAL is the primary mechanism involved in Balancer’s governance. In order to access the voting power of veBAL, users must lock BAL tokens.
veBAL is a time-locked and non-transferable derivative of the 80/20 BAL/ETH BPT on Ethereum mainnet. veBAL holders are called Balancer Governors and can vote on proposals relevant to the protocol, such as what pools to incentivize, how the treasury funds are allocated…
The longer the asset is locked, the more voting power is delegated by the system.
veBAL holdings remain relatively concentrated in top holders, with Aura, a protocol that offers a liquid wrapper for veBAL, being the largest holder.
In November 2022, Aura passed a proposal that would increase Aura’s voting power in governance votes (but not gauge votes) by making it a voting block instead of individual voters. Prior to this change, holders of vlAURA could participate in governance with their share of the voting power. After the change, all Aura voting power will be used to vote on whatever decision is reached by vlAURA holders.
One of the known issues of veTokenomics is that it is difficult to align the incentives of token lockers, which control the allocation of rewards, with Protocol Revenue. Balancer has attempted to keep lockers aligned and limit their ability to manipulate small pools. However, the control of voting power and centralization risk due to some wallets having the majority of the voting power still remains an issue.
A large holder of veBAL, “the Humpy Whale”, used the veBAL system to direct $1.8M of cumulative BAL emissions to the CREAM/WETH gauge. This left Balancer with only $17,000 of Protocol Revenue.
The standoff against “the Humpy Whale” concluded with a Peace Treaty in which the Whale agreed not to increase its veBAL position and would vote for the pools that are most beneficial for the long-term success of Balancer.
Balancer Governors have the power to enable and modify Governable protocol fees. These can be collected from trading fees and Flash Loan fees stored in the Balancer Vault. veBAL holders can also make decisions about how to allocate or spend the revenue from these fees in order to support the health and growth of the protocol.
All updates to the core protocol and allocations of community funds follow a governance process that involves: a proposal, a prepaid transaction payload for on-chain execution via gnosis-safe, and a snapshot vote validating the proposal with a quorum that currently stands at least 2M veBAL voting.
Snapshot is an off-chain gasless governance client that makes it easy for the DAO to vote and verify governance polls results
The multi-sig is required to enact the off-chain votes on Snapshot.
Balancer’s multi-sig signers are a diverse set of respected community members.
The Balancer multisig does not have decision-making power and its role is solely to enact on-chain the decisions made by governance off-chain.
The Emergency subDAO protects veBAL holders from bad actors by having the ability to kill gauges and pool factories.
The governance vote only attributed the following specifications:
BIP-139 allows the Emergency subDAO multi-sig to make the following calls to protocol contracts:
The Emergency subDAO is a 4-of-7 multi-sig with the following members appointed by governance
One of the most important decisions that protocols must make when deciding between building a standalone AMM vs building on top of Balancer is security. Even assuming secure code at the smart contract level is not enough to achieve a robust user base and sticky liquidity for large sources of capital.
Balancer v2 has been live for almost 2 years and has one of the largest bug bounties. Its codebase has also been extensively audited by top smart contract auditing firms such as Trail of Bits or Certora.
Rewards are distributed according to the impact of the vulnerability based on the Immunefi Vulnerability Severity Classification System V2.2, which has a simplified 5-level scale, with separate scales for websites/apps, Smart Contracts, and blockchains/DLTs, focusing on the impact of the vulnerability reported. The system is classified into the following:
The Security Accelerator helps projects building on Balancer to increase their code security by providing code reviews and grants access to Certora’s formal verification Prover. The benefits offered are:
The Balancer Vault keeps pool balances independent from one another while inheriting the benefits of a single contract Vault model.
Balancer governance has no control over any given pool parameters unless explicitly authorized. The core of Balance Smart Contracts is immutable and does not use proxies or any other upgrade mechanisms.
Balancer’s multi-sig does not have custody of, nor control over, funds from liquidity providers that like inside Balancer Smart Contracts. Even if Balancer’s multi-sig goes rogue, all the liquidity is safe and can be withdrawn by its rightful owner.
Before the release of Balancer v2, Balancer v1 contracts were fully immutable and there was no need to change and vote on core protocol parameters, hence the governance focus on reaching a fair token distribution
Balancer v2 allows for parameter changes, such as turning on protocol fees. As a placeholder for a future on-chain DAO, limited admin powers have been granted to the Balancer multi-sig.
Balancer governance is managed by a collection of multi-sigs that are activated by 2 different signer sets. These multi-sigs have no decision-making power and simply serve the role of enacting and operating on-chain the decisions that have been voted by BAL holders.
All Balancer multi-sigs are deployed using Gnosis Safe, the most battle-tested multi-sig contract on Ethereum.
|0xMaki||LayerZero, AURA, DCV||0x285b7EEa81a5B66B62e7276a24c1e0F83F7409c1|
|Trent McConaghy||Ocean Protocol||0x478eC43c6867c2884f87B21c164f1fD1308bD9a3|
|David Gerai||Nostra Finance||0xAc1aA53108712d7f38093A67d380aD54B562a650|
Beyond the current signers, BIP-16 laid out a group of backup signers who could replace the current signers without further governance.
DAO multi-sigs always require 6/11 signers to execute a transaction.
All signers are expected to sign an Ethereum transaction ratifying each governance decision made by BAL holders through off-chain Snapshot votes.
All signatures are expected to have been collected within two weeks after the snapshot vote was concluded.
Signers are encouraged to sign open requests even if the quorum has been reached.
Signers can lose their role (by the action of the other multi-sig signers) in cases where:
August 27th, 2023 Incident
Balancer relies on composability in order to customize its various pools, building and leveraging multiple products together.
This is a vulnerability due to how a simple bug can affect multiple products due to the same strength.
The following series of events shows how Balancer was affected by composability.
On June 23rd, Balancer Labs received a report through Immunefi from GothicShanon89238, indicating that some types of rate providers could be manipulated, with consequences for certain Balancer pools. This was fully mitigated mainly by releasing a new version of the Composable Stable Pool in July. The white hat was awarded a bounty of $130k USD for this disclosure.
On August 11, the same white hat filed another related rate manipulation report. This issue was entirely different and, unfortunately, more fundamental. The problem this time was not the Stable Pool itself, but rather its constituents: the nested Linear Pools that transformed regular Stable Pools into capital-efficient Boosted Pools. Essentially all Boosted Pools were vulnerable, representing north of 20% of Balancer’s $1 Billion TVL at the time.
Fortunately, pools representing over 80% of that TVL could be mitigated, and much of the remaining 20% was held by close partners or known LPs (e.g., DAOs), and would likely be withdrawn quickly after public disclosure. Unfortunately, it would not be easy. The specific mitigation measures required were complex and required very precise coordination.
In light of this, a team of ecosystem contributors carefully considered conducting their own white hat rescue and prepared some contracts and scripts for this purpose. However, it quickly became apparent that this was entirely infeasible.
The attack comprised dozens of steps and needed to be very precisely tailored to each pool. The sheer number of pools and networks made such an effort untenable. Even worse, since these were “constituent” pools, emptying them would unbalance the containers, and arb bots might drain value as fast as we could save it. Not to mention that a white hack would directly expose the attack vector, and we would not have time to warn partners.
Since Balancer was confident that virtually all of the liquidity at risk could either be directly mitigated or would be quickly withdrawn after disclosure, that is the path they pursued. GothicShanon89238 earned the maximum $1 million bounty for responsible disclosure and assistance with evaluating the mitigation plan.
On August 22nd, the Emergency SubDAO and other trusted parties performed all possible mitigation measures, disclosed the vulnerability, and provided a UI for streamlined withdrawals, including handling Staking and nested pools. This effort succeeded beyond all expectations. The vast majority of funds at risk were withdrawn within 48 hours, leaving only a tiny sliver of the original frightening fraction of the Vault still at risk.
However, on August 27, the first exploit happened. The mainnet USD-boosted pools were attacked, involving rate manipulation but with a very different mechanism. Balancer promptly disclosed the exploit and urged any remaining LPs to exit. This was Balancer’s first loss of user funds in history. The total Mainnet loss stands at around $980,000, with another $215,000 on Optimism. (When the issue was first disclosed immediately after mitigation, over $40 million remained at risk.)
Balancer Labs is the team behind the Balancer Protocol. They started the research and development of Balancer back in 2018. Since its inception, the code has been open-source and under GPL 3.0 license.
Orb Collective is also a key organization whose mission is to scale the global utilization of the Balancer Protocol. Orb Collective is made up of the former Balancer Labs marketing, integrations, business development, people operations, and UX/design teams.
Some team members include：
Balancer has raised a total of $39.25M in funding over 3 rounds:
Balancer has had multiple partners and integrations, mostly via the Balancer’s Ecosystem Grant funds. They include:
The Balancer Grants program provides grants between $1,000 – $100,000 to projects committed to supporting Balancer Protocol in achieving its mission to become the top platform for programmable liquidity in DeFi.
Grant applications are reviewed by the Grants Committee, which consists of 5 Balancer Community Contributors. Applications are reviewed based on the reasonable viability of a grant plan, its alignment with Balancer’s vision, and the capability of the Grants team to execute the project.
Version 0.0 | Mar. 9, 2023 – Initial Release
Version 0.1 | August. 28, 2023 – Added cross-chain section, updated chains.
Version 0.2 | October 19, 2023 – Added composability vulnerability section