Balancer Protocol is an automated portfolio management system, decentralized exchange, and price sensor that allows anyone to invest in and trade ERC-20 tokens. While Uniswap uses a one-size-fits-all approach to pool design, Balancer exposes a tremendous deal of flexibility in liquidity pool design.
Balancer's Weighted Pools can have up to 8 assets and trade fees ranging from 0.0001% and 10%. Additionally, assets can have unequal weightings, so instead of using 50/50, someone could make a pool that has an 80/20 weighting to reduce Impermanent Loss.
With multi-asset pools, a trader can trade between any two assets in a pool. This means that for a single pool with 8 assets, the liquidity provider is making 28 (8 choose 2) different trading pairs available. This high number of pairs means more potential trades, and more opportunities to collect trade fees.
Balancer has a plug-in model that allows for a great deal of customization. The community can create their own systems to contribute to the Balancer Protocol.
In a typical trading pool, only a small portions of the liquidity is used to facilitate trades. Asset Managers are external contracts that take unused liquidity and invest it elsewhere. For example, the Aave Asset Manager takes tokens from Balancer pools and lends them on Aave Protocol.
Balancer Pools can be designed to have any custom logic you might want. For example, in addition to the standard Weighted Pools, Balancer will soon have pools that run with a StableSwap pricing equation, which is highly advantageous for trades between assets that have (nearly) the same price.
Example use cases:
- ERC20 tokens representing Bitcoin
- Different implementations of synthetic stocks
LBPs create opportunity for new projects to distribute tokens fairly and build liquidity to drive development and growth. LBPs start with intentionally high prices to discourage bots and users from scooping up and hoarding all the tokens right as a pool launches. The price gradually decreases, allowing users to buy in at a price they think is fair. Examples of some projects that built liquidity with LBPs include Perpetual Protocol, Radicle, and Illuvium.
Linear Example of Pool Weights for an LBP
Balancer WeightedPools use a "constant product" formula like Uniswap does, but with an increased number of assets and varied weights of assets in a pool. The equation is a generalization of xy=k, even if it looks a bit more complicated:
Instead of the "xy=k" of the Uniswap formula, Balancer's formula accounts for the custom weight by raising each "x" by its weight's exponent.
While spot price (SP) in a two asset Uniswap-style pool can be calculated with:
With Bi as the balance of the input and Bo as the balance of the output, a Balancer-style pool calculates spot price accounting for the weights, Wi and Wo, of the input and output assets as well.