Pools are the fundamental building blocks of the Balancer Protocol; they are smart contracts that define how traders can swap between tokens on Beethoven X. What makes Balancer Pools unique from those of other protocols is their limitless flexibility. While other exchanges have pools with constrained parameters, Balancer V2 Tech can accommodate pools of any composition and underlying math. Balancer allows for anyone to develop their own pool type, opening the door for customized pricing functions in trading pools.
Weighted Pools are a generalization of the standard constant product AMM popularized by Uniswap. Each pool can contain up to 8 different tokens and each token is assigned a weight defining what fraction of the pool is made up by each asset. Balancer's weighted pool equation is a generalization of the x*y=k by accounting for uneven weights and more assets:
where V is constant, B is an asset's balance, and W is an asset's weight in the pool.
As the price of each token changes, traders and arbitrageurs rebalance the pool by making swaps. This maintains the desired weighting of the value held by each token whilst collecting trading fees from the traders.
For certain assets that are expected to consistently trade at near parity (e.g. different varieties of stablecoins or synthetics) a more efficient design is the StableSwap AMM as popularized by Curve. These pools allow for larger trades of these assets before encountering significant price impact.
Liquidity Bootstrapping Pools
These pools are useful for launching tokens and swapping large amounts over time. They feature weight shifting mechanisms that results in high start prices with continuously changing sell pressure.
See LBP's for Token Launches for details.
Boosted Pools bring the best of both worlds to Liquidity Providers and Swappers. Swappers get access to deep stablecoin liquidity with near-parity exchange rates while Liquidity Providers get their liquidity positions sent to external protocols, such as Yearn.Finance.
These versions of Stable Pools don't directly hold the stablecoins themselves, but rather hold the pool tokens of nested Linear Pools, which, for the Yearn.Finance example, maintain proper balances of TOKEN and aTOKEN.
MetaStable Pools (Coming soon)
These are a generalization of stable pools that contain tokens with known exchange rates. They use equations similar to those of stable pools, but can be used to facilitate swaps between tokens that have gradually shifting prices.
Example use cases:
cDAI slowly accumulates lending fees and appreciates relative to DAI
StaBAL3-USD Pool token collects trade fees relative to other Stable USD tokens