Balancer is a custom-weight AMM for multi-token liquidity
Balancer is an automated market maker - a token-swap system run by smart contracts - with liquidity pools that assign portfolio shares to as many as eight assets. Its weighted invariant sets exchange rates from each token’s balance and fixed weight. Traders swap ERC-20 tokens, while liquidity providers receive ERC-20-compatible Balancer Pool Tokens representing their proportional claim. The design supports 50/50 pools and asymmetric allocations such as 80/20, combining trading liquidity with a chosen portfolio exposure.
Contents
Fees, gas and price impact in one transaction
From 0.001% to 10%, a V3 weighted pool’s configured swap fee forms one part of a trade’s total cost.
Each pool exposes a static fee inside those bounds. A registered hook may replace it with a dynamic fee for one swap; every applied fee remains below 100%. The fee enters swap accounting before output settles. Any protocol share comes from that collected amount, not a second trader-facing percentage. Price impact comes from moving the reserve ratio along the weighted curve, so it rises with trade size relative to usable depth. Network gas pays for contract execution in the chain’s gas asset. Routing systems such as CoW Swap and 1inch compare direct and multi-pool execution after gas.
For an exact-input trade, compare the guaranteed minimum output with the amount sent. For an exact-output trade, compare the maximum input with the amount requested. Both limits protect the quote while the transaction waits for inclusion. A rejected quote leaves the reserves unchanged, so the next decision is whether to resize or reroute.
The weighted invariant turns balances into prices
The follow-on topic is treated in Balancer step by step.
One weighted geometric-mean invariant connects every registered balance and weight, producing pairwise prices without an order book. The formula is V = ∏ Bᵢ^wᵢ, where each balance enters with its normalized weight.
Balances enter the invariant
A weighted pool stores between 2 and 8 token balances and represents each weight as an 18-decimal fixed-point number. All normalized weights add to exactly 100%. The spot relationship between two assets comes from their balances and their weight ratio. An 80% asset therefore needs a larger balance-value share than a 20% asset at market equilibrium. Pool math preserves the invariant through swaps, while collected fees increase value for the remaining BPT claims.
Exact-in swaps
An exact-in swap fixes the quantity sent. The pool deducts the applicable fee, runs the remaining amount through weighted math and returns the calculated output, subject to the user’s minimum.
Exact-out swaps
An exact-out swap fixes the quantity received. Weighted math calculates the required input, adds the fee treatment and rejects the transaction if that input exceeds the user’s maximum.
Arbitrage moves the reserves
External market moves create a gap between the pool price and other venues. Arbitrage trades change the reserves until that gap closes. The weights stay fixed, but token quantities move; this mechanism keeps an 80/20 allocation expressing its intended value split without an off-chain portfolio manager. That leaves weight selection as the next choice.
The Router, Vault and Pool divide the work
Three contract roles split every V3 interaction into user instructions, shared token accounting and pool-specific pricing mathematics.
The Router receives the requested swap or liquidity action and unlocks the Vault for one transaction. The Vault records token credits and debts, calls the pool’s pricing or invariant functions and returns calculated amounts. The Pool contract supplies the specialized math; it doesn’t custody a separate pile of assets. Once pool math finishes, the Router sends owed tokens and pulls claimable tokens. Every credit and debt must settle before the Vault locks again. If one balance remains unresolved, the entire transaction reverts atomically rather than leaving a partial swap or partial deposit.
This separation lets Balancer share accounting across Weighted Pools, Stable Pools and custom designs. Hooks attach before or after defined lifecycle points, while the core Vault still checks settlement. That dependency matters when selecting the exact pool, not merely its displayed token pair.
Custom weights shape portfolio exposure
Two choices - token composition and normalized weights - set the exposure that a weighted pool keeps expressing through its trades. Fixed weights make the allocation legible before capital enters.
An 80/20 BAL/WETH design places 80% of equilibrium value in BAL and 20% in WETH, requiring less counterpart capital than a 50/50 design. When BAL appreciates elsewhere, traders remove BAL from the pool and add WETH until the weighted spot price realigns; a falling BAL price reverses those flows. A hypothetical four-token allocation of 40/30/20/10 extends one invariant across every pair, though each pair’s usable depth still comes from the two relevant balances and weights. One on-chain position gains programmable composition, and the provider must decide whether those fixed weights match the intended exposure.
Fixed V3 weighted-pool parameters
Seven fixed parameters define the boundaries within which a standard V3 weighted pool accepts swaps and liquidity changes. A Balancer V3 weighted pool holds 2 to 8 tokens, fixes each normalized weight at 1% or more and requires all weights to total 100%.
| Parameter | Fixed value | Operational consequence | Recovery or fallback standard |
|---|---|---|---|
| Token count | 2 to 8 | One invariant links every registered asset | BPT remains the on-chain ownership record |
| Weight normalization | Exactly 100% | Every token receives a defined portfolio share | Weights are immutable after deployment |
| Minimum token weight | 1% | A two-token pool tops out at 99% for one asset | Registration rejects a lower weight |
| Fee storage | 18-decimal value; 0.00001% resolution | Vault storage rounds to the supported precision | The Vault retains the setting on-chain |
| Static swap fee | 0.001% to 10% | The configured fee stays inside hard bounds | The Vault rejects an out-of-range setting |
| Single-swap ratio | 30% maximum | Input and output amounts are capped against reserves | Reduce the size or use another route |
| Unbalanced invariant ratio | 70% to 300% | Single-sided liquidity changes stay within math bounds | Proportional removal provides the fallback path |
These values are contract validation rules, not market quotes. The 30% swap cap applies to the relevant token balance, and the 70% to 300% invariant band governs unbalanced liquidity changes.
A proportional removal burns BPT against every reserve by ownership share, avoiding the single-token calculation. That distinction determines whether a single-token or proportional removal fits the planned exit.
Starting with the right chain and pool
Five checks keep a first V3 interaction tied to the correct chain, pool contract and assets shown in the transaction.
V3 deployments include Ethereum (chain ID 1), Arbitrum One (42161), Avalanche C-Chain (43114), Base (8453), Gnosis Chain (100), Optimism (10) and Polygon PoS (137). The same ticker can represent different contracts across those networks, so chain ID and token address identify an asset more reliably than its symbol.
- Choose the network in MetaMask or Rabby, then connect through the interface or WalletConnect.
- Open a V3 pool and read its tokens, weights, fee, hook status and available depth.
- Keep the chain’s gas asset available, then approve only the ERC-20 token needed for the action.
- Review quoted amounts, the slippage limit and the minimum BPT output before signing.
- Submit the liquidity transaction and confirm that the expected BPT balance or deposited position appears.
Pool version matters because V2 and V3 use different contract paths. A wallet signature authorizes data; an on-chain approval or transaction changes state and consumes gas. After entry, position management moves into balance reading, routine adjustments and proportional or single-token removal.
Pool tokens record the liquidity claim
One Balancer Pool Token represents a proportional claim on all reserves held for its pool through the V3 Vault. BPT is ERC-20 compatible, uses 18 decimals and supports ERC-2612 permit signatures.
Adding liquidity mints BPT; removing liquidity burns it. The claim is proportional, so a provider owns a fraction of changing reserve quantities rather than fixed quantities of the deposited tokens. Swap fees raise pool balances relative to outstanding shares, while liquidity additions and removals adjust supply. If BPT enters a gauge or another contract, the wallet’s direct balance falls because another on-chain position now holds or accounts for that claim. The pool contract address remains the canonical identifier, and the next task is tracking where the claim sits.
Primary uses for multi-token liquidity
Three recurring uses account for most weighted-pool demand within Balancer: portfolio-shaped liquidity, project-token markets and multi-asset routing, which is covered in Balancer guide.
Portfolio-shaped liquidity lets one BPT claim cover up to 8 ERC-20 assets. A project-token pair can use an 80/20 weight to keep most value in its own token while supplying a 20% counterpart asset. Routers gain pairwise paths through the same multi-token reserve set, and CoW Swap or 1inch can include those paths in broader execution. Correlated assets such as USDC and DAI belong on a Stable Pool curve rather than ordinary weighted math. Yield-bearing ERC-4626 assets introduce rate-provider or buffer dependencies that need separate evaluation.
Risks tied to balances, tokens and contract paths
Four exposures dominate a weighted-pool position: market divergence, shallow liquidity, token dependencies and additional contract logic.
Weighted rebalancing changes token quantities as relative prices move. Compared with simply holding the starting assets, the pool sells some of the appreciating asset and accumulates more of the declining asset. That difference creates impermanent loss before fees and incentives. An 80/20 position responds differently from a 50/50 position because the minority reserve has less portfolio weight, but fixed weights don’t remove divergence.
Low reserve depth increases price impact and makes the 30% single-swap cap relevant sooner. ERC-20 transfer behavior, wrapped assets and ERC-4626 exchange-rate logic add token-specific dependencies. A reserve that stops tracking its intended reference changes both the pool’s value and its quoted prices.
A hook can change the dynamic fee or adjusted amounts at registered lifecycle points. Rate providers influence scaled balances for yield-bearing tokens. An unfamiliar hook deserves separate review because its code and permissions add dependencies beyond standard weighted math. Pool version, hook address and recovery state therefore belong in the position decision.
Who is Balancer suited to?
Two conditions define a strong fit: the user wants fixed portfolio weights and accepts continuous rebalancing through market trades. A Balancer weighted pool suits multi-asset, full-range exposure.
Project treasuries use asymmetric weights to create a market while limiting the required counterpart reserve. Liquidity providers choose weighted pools when the specified assets and weights match the exposure they want to maintain. Builders gain reusable Vault accounting plus hooks for custom behavior. Closely priced tokens point toward Stable Pools or Curve StableSwap, while active price ranges point toward Uniswap v3 or Gyroscope E-CLP. Those mismatches lead directly to the alternatives.
Uniswap, Curve and specialized pool alternatives
Three choices frame the alternatives: fixed full-range weights, concentrated ranges or a curve built for closely priced assets. Balancer Weighted Pools occupy the fixed-weight branch.
Uniswap v3 concentrates a two-token position inside chosen price ranges; capital stops earning swap fees after market price leaves the active range. Curve StableSwap and Balancer Stable Pools use curves designed for correlated assets such as USDC and DAI, keeping more liquidity near parity than weighted math. Gyroscope E-CLP concentrates liquidity inside an elliptical price region with more parameters than a standard weighted pool. CoW Swap and 1inch solve execution routing instead of pool design and can source Balancer alongside other venues. Choose full-range custom weights for multi-asset exposure, concentrated liquidity for range control and stable curves for closely tracking assets.
Balancer FAQ
Does using Balancer require holding BAL?
No, swaps and liquidity actions don’t require BAL as a fee token. The wallet supplies the asset being traded or deposited and pays the network’s native gas asset. BAL relates to protocol governance and incentive systems, while a pool’s own tokens, weights and fee determine the swap or liquidity transaction.
Which wallets connect to Balancer on EVM networks?
MetaMask, Rabby and WalletConnect-compatible wallets connect to Balancer on supported EVM networks. Compatibility requires the wallet to expose the selected chain and sign ERC-20 approvals and contract transactions. Correct network selection matters because Ethereum, Base and Arbitrum use separate token contracts even when an interface shows the same ticker.
What happens if a Balancer swap reaches its slippage limit?
The Router reverts the transaction before settlement if computed output falls below the minimum, or required input rises above the maximum. The wallet still pays gas for that execution, but the token exchange and pool reserve changes don’t finalize. A fresh quote, smaller amount or different route addresses the changed state.
Can I add liquidity with only one token?
Yes, a standard weighted pool supports unbalanced or single-token liquidity entry within its invariant limits. The Router converts the unequal contribution into BPT using pool math and charges the swap-related component embedded in that imbalance. Hook settings, token availability and the 70% to 300% invariant-ratio bounds still govern whether the proposed operation executes.
When should I revoke a token approval?
Revoke an ERC-20 approval when you no longer intend the approved Router or contract to move that token, especially after a one-off interaction. An approval stays active until its allowance is spent, replaced or revoked. Revocation requires an on-chain transaction, so it consumes gas on the network where the allowance exists.
Is Recovery Mode the same as a normal Balancer withdrawal?
No, Recovery Mode provides a simplified proportional exit path for a pool in that state. The holder burns BPT and receives a proportional share of registered reserves, bypassing more complex pool math and some normal processing. It doesn’t guarantee the deposited token quantities or their earlier value, because reserve composition has already changed through swaps and liquidity activity.
How long does a Balancer swap take to settle?
A Balancer swap settles in one on-chain transaction, so completion time follows the network’s block inclusion and confirmation conditions, while wallet fee settings, network demand and route complexity influence when the transaction enters a block rather than changing the protocol into a delayed custody process.
Last updated