Balancer: A Non-Standard Automated Market Maker

Authors Martinelli, Fernando; Mushegian, Nikolai
Year 2019
Project Balancer
License GPL-3.0
Official Source https://balancer.fi/whitepaper.pdf

This page is an educational summary and analysis of an official whitepaper or technical paper, written for reference purposes. It is not a verbatim reproduction. CryptoGloss does not claim authorship of the original work. All intellectual property rights remain with the original author(s). The official document is linked above.

“Balancer: A Non-Standard Automated Market Maker” (Balancer Whitepaper v1, 2019) is by Fernando Martinelli and Nikolai Mushegian of Balancer Labs. It extends the Uniswap x·y=k constant product formula to an N-token, arbitrarily-weighted invariant:

$$V = prod_{i} B_i^{W_i}$$

where $B_i$ are token balances and $W_i$ are their weights (summing to 1). This allows Balancer pools to represent any portfolio allocation (e.g., 80% ETH / 20% DAI) that automatically rebalances to maintain those weights as prices change — funded by arbitrageurs who earn trading fees in return.

> PDF hosting: The Balancer whitepaper is at balancer.fi/whitepaper.pdf.


Publication and Context

Nikolai Mushegian was a key contributor to the MakerDAO technical team and the original author of the DAI smart contracts before joining Balancer. Fernando Martinelli, a Brazilian physicist, co-founded Balancer Labs.

The critical observation: Uniswap’s 50/50 pools work well for symmetric market-making, but many protocols and asset managers want to hold non-50/50 portfolios. An 80/20 ETH/BAL pool lets a Balancer protocol provide liquidity while retaining 80% ETH exposure rather than splitting 50/50.

Balancer v1 launched in March 2020. Balancer v2 launched in May 2021 with a vault architecture separating pool math from asset custody.


The Generalized Constant Weighted Product

The Balancer invariant is the constant weighted product:

$$V = prod_{i=1}^{N} B_i^{W_i}$$

For a 2-token pool with equal weights ($W_1 = W_2 = 0.5$), this reduces to Uniswap’s $sqrt{B_1 cdot B_2}$ = constant (equivalent to $B_1 cdot B_2$ = constant).

For non-equal weights (e.g., $W_1 = 0.8$, $W_2 = 0.2$):

  • The price of token 2 in terms of token 1 is: $P_1 = frac{B_2 / W_2}{B_1 / W_1}$
  • As $B_1$ is bought, $P_1$ rises, causing arbitrageurs to sell $B_1$ back in (rebalancing)
  • The pool maintains the target weight ratio automatically through arbitrage

Self-rebalancing portfolio mechanics:

  • If ETH price rises in an 80% ETH pool, ETH’s balance grows (relatively), shifting the pool above 80/20
  • Arbitrageurs buy the cheap token (DAI) from the pool and sell ETH into it, returning the pool to 80/20
  • The pool earns a trading fee from each such rebalance transaction
  • Net effect: the pool maintains its target weights; LP holders effectively own an automatically-rebalanced index

Pool Types (Balancer v2)

Balancer v2 introduced a modular architecture with pluggable pool types:

Pool Type Description
Weighted Pool N tokens, arbitrary weights (the original Balancer invariant)
Stable Pool Curve-like StableSwap invariant for correlated assets
Boosted Pool Idle LP assets deposited into Aave/Compound to earn yield
Liquidity Bootstrapping Pool (LBP) Dynamic weights for token auctions / fair launches
Managed Pool Discretionary portfolio management by a whitelisted manager
MetaStable Pool For assets with a known rate relationship (stETH/ETH)

The Vault in v2 holds all pool assets centrally; pool contracts only define the math. This reduces gas costs (avoid multiple ERC-20 transfers per hop) and simplifies multi-hop routing.


Liquidity Bootstrapping Pools (LBPs)

One of Balancer’s most used features: LBPs allow projects to do a fair token launch:

  • Start with a high token weight (e.g., 95% project token / 5% USDC)
  • Weight shifts dynamically to 50/50 over the launch period (e.g., 3 days)
  • The shifting weight creates continuous downward price pressure
  • Bots and price manipulators are discouraged (price naturally falls toward equilibrium)
  • Users DYOR on timing rather than chasing an opening mempool race

Many projects used LBPs as an alternative to IDOs with better price discovery.


veBAL and Tokenomics

BAL token launched June 2020. Balancer adopted the veBAL model (vote-escrowed BAL) in 2022, mirroring Curve’s veCRV:

  • Lock BAL+ETH 80/20 BPT (Balancer Pool Token) for up to 1 year
  • veBAL holders vote on gauge weights (which pools receive BAL emissions)
  • veBAL wars emerged, with Aura Finance playing the role Convex plays in Curve

Reality Check

Balancer has consistently been in the top 5 DEXes by TVL but has a smaller market share than Uniswap for volatile asset trading. The weighted pool model excels for protocol-owned liquidity (AAVE/ETH, BAL/ETH pools) but sees limited retail flow compared to Curve (stablecoins) or Uniswap (general tokens). Balancer v3 continued the modular architecture improvements, though adoption remains fragmented across multiple blockchains.


Legacy

Balancer’s weighted pool demonstrated that AMM invariants are general-purpose mathematical tools, not just Uniswap’s specific formula. The concept of AMMs as self-rebalancing portfolios is intellectually significant: LPs don’t passively participate — they run an automated trading strategy (sell high, buy low via arbitrage). LBPs became widely used for fair token launches. The veBAL governance model added to the Curve Wars ecosystem.


Related Terms


Research

  • Martinelli, F., & Mushegian, N. (2019). Balancer: A Non-Standard Automated Market Maker. balancer.fi.

— Primary source. Section 3 derives the weighted product invariant; Section 4 the spot price formula.

  • Angeris, G., & Chitra, T. (2020). Improved Price Oracles: Constant Function Market Makers. ACM AFT 2020.

— Taxonomy of constant function AMMs; Balancer occupies the “weighted geometric mean” category.

  • Mohan, V. (2022). Automated Market Makers and Their Implications for Liquidity Providers. arXiv:2201.02516.

— Analysis of impermanent loss under different AMM invariants, including Balancer’s weighted pools.