Balancer is a protocol for multi-token automated market-making. It enables portfolio owners to create Balancer Pools, and traders to trade against them. Balancer Pools contain two or more tokens, each with an independent weight representing its proportion of the total pool value. The pools provide the Balancer Protocol with liquidity, and charge traders a fee for access to it. Pools can be considered automated market-makers, since anyone can swap any two tokens, in any pool.
There are two categories of users who can benefit from the Balancer Protocol: liquidity providers - who own Balancer Pools or participate in shared pools, and traders - who buy or sell the underlying pool assets on the open market.
Anyone with two or more ERC20 tokens can be a liquidity provider. For example:
Portfolio managers, who want to have controlled exposure to different assets without complicated and expensive rebalancing
Investors who have ERC20 tokens sitting idly in a wallet, and would like to put them to work earning passive income from fees
Traders can choose from a diverse set of pools, each presenting a unique set of investment opportunities and challenges through its particular configuration of tokens, weights, and fees. The interplay between these settings, pool volume, and external prices generates market forces which incentivize traders to maintain stable token ratios, thereby preserving asset value for liquidity providers.
There are three main categories:
"Retail" traders seeking to exchange tokens with low slippage at favorable rates
Arbitrageurs seeking profit through leveling market inefficiencies between DEXs or CEXs
Ethereum smart contracts seeking liquidity for a variety of reasons, such as liquidating positions on other protocols, trading on behalf of users, etc.
Yes. Balancer Pools cannot be censored or whitelisted. Traders cannot be censored or whitelisted. Balancer Labs does not have the power to halt or edit the smart contracts in any way after they’ve been deployed. The contracts are not upgradeable, and there is no admin functionality or "backdoor" present in the code.
Of course, Balancer has no control over the contracts of ERC20 tokens placed in Balancer pools. If a centralized token (e.g., USDC) were to blacklist an address or freeze all transfers, that would affect all USDC tokens everywhere, including those in Balancer Pools.
We are working on putting together a more detailed roadmap. The bronze release went live on February 26, 2020. Silver is currently in a design phase and will likely be released in late 2020.
Bronze, Silver, and eventually Gold releases refer to the "base" Balancer Pool contract - which actually holds the assets.
No. There is a placeholder for an
EXIT_FEE in the code, but it is currently set to zero - and for technical reasons, this is very unlikely to change. (In fact, because it is zero, tokens that do not allow zero-value transfers cannot be held in Balancer pools.)
Not currently. A token will never be required to trade or interact with the protocol. Any protocol upgrade in that direction would be discussed with the community well in advance.
Yes, Balancer Governance Token, BAL, can be used to vote on proposals and steer the direction of the protocol. Every week 145,000 BALs, or approximately 7.5M per year, are distributed to liquidity providers. They are typically distributed directly to liquidity providers on Tuesdays at 2300 UTC.
25M BAL tokens were initially allocated to founders, stock options, advisors and investors, all subject to vesting periods.
5M were allocated for the Balancer Ecosystem Fund. This fund will be deployed to attract and incentivize strategic partners that will help the Balancer ecosystem grow and thrive. BAL holders will ultimately decide how this fund is used over the coming years.
5M were allocated for the Fundraising Fund. Balancer Labs raised a pre-seed and seed round. This fund will be used for future fundraising rounds to support Balancer Labs' operations and growth. BAL tokens will never be sold to retail investors.
The remaining 65M tokens are intended to be mostly distributed to liquidity providers in the coming years.
The fundamental building block of the Balancer Protocol is the Balancer Pool. Pools are smart contracts that implement the Balancer Protocol, and hold value in two or more ERC20 tokens.
You can think of a Balancer Pool as an automated, market-making portfolio. Each token asset has an independent weight, and can be traded against any other token in the pool. For example, you could have a pool with three tokens in the following proportions 50% WETH, 25% MKR and 25% DAI.
The value proposition of Balancer flows from two main features:
Even as the relative unit prices of the tokens vary, the pool as a whole is continuously rebalanced (in an efficient market) to maintain each token's proportion of the total value.
Each trade that takes place in a Balancer Pool generates a fee for the pool owner. The fee is a percentage of the trading volume, and is customizable by the pool owner when the pool is created.
Thus the incentives of both participants are aligned. Liquidity providers earn trading fees, while the overall value of their portfolio is preserved through continuous rebalancing. Traders pay these fees for the opportunity to either swap tokens with low slippage, or profit from arbitrage opportunities between pools and the open market.
Only a few. Balancer Protocol limits pools in the following ways:
Number of tokens: pools must contain at least two, and may contain up to eight tokens.
Swap fee: the fee must be between 0.0001% and 10%
ERC20 compliance: pool tokens must be ERC20 compliant. Bronze does not support ERC20 tokens that do not return
transferFrom. Future releases may allow non-standard ERC20's.
There are a few additional ratio and balance constraints that can be found at Limitations
We believe this is the main innovation introduced by the Balancer Protocol. Pools are efficiently rebalanced through a multi-dimensional invariant function used to continuously define swap prices between any two tokens in a pool. Essentially, it is an n-dimensional generalization of Uniswap's x * y = k formula.
Imagine a portfolio that contains a certain proportion of token A, and its external market price increases. In a conventional rebalancing process, the portfolio manager would need to take action - in this case, pay a trading fee to sell token A (and probably pay another fee to buy something else to replace it).
In contrast, Balancer Protocol lets rational market actors actively buy token A from the pool, presumably to sell elsewhere on the open market at a profit. The portfolio manager (Balancer Pool creator in this context) does nothing but collect the fees.
So instead of doing work and paying fees to rebalance their portfolio, Balancer Pool creators earn fees while traders do the rebalancing work for them. Conversely, traders benefit in two ways - high liquidity allows low slippage on "retail trades," and arbitrageurs can directly profit from swings in external market prices.
For further technical details, please refer to our white paper.
Balancer pools charge a percentage of the input amount traded for each trade. The fee goes entirely to the Balancer Pool liquidity providers.
Core Balancer Pools can be controlled or finalized. Essentially, finalized pools are "public" - their parameters are fixed, and anyone can add/remove liquidity and swap tokens. Controlled pools are "private" - their parameters are not fixed, but only the pool creator can add liquidity. See more details in Core Concepts.
There are also various kinds of Smart Pools - Core Balancer Pools controlled by a smart contract. Balancer is designed to be easily extensible; the Core Concepts page referenced above has some suggestions for Smart Pool designs.
Some Smart Pool concepts have already been implemented, and many more are in development. The first implementation was actually PieDAO - they created a series of "++" tokens (e.g., BTC++, USD++): Balancer Pool tokens representing a basket of cryptocurrencies, chosen by the community through a DAO mechanism. Their smart pools control the underlying Balancer Pool, and implement features like value caps, pausing trading, etc.
Since Balancer Pool tokens are also compliant ERC20 tokens, they can also be composed into "meta" pools, which also exist (e.g., BTC++/USD++).
Balancer Labs will soon release a home-grown Smart Pool called the Configurable Rights Pool. Since Smart Pool creators can (by definition) alter the parameters of a "live" Balancer Pool, they are less trustless than Core Balancer Pools. To mitigate this, CRP creators can choose exactly which parameters can be changed, at create time. As the name implies, this is done by granting the Smart Pool contract one or more "Rights" - the right to change one of the parameters. (A CRP with no rights would be equivalent to a Core Balancer Pool.)
Ampleforth is another example of a smart contract system in development. There is also plenty of innovation in the design of tokens. AMPL is an "Elastic Supply" token - instead of a fixed supply, like Bitcoin, and a volatile price -- AMPL is a kind of stable coin where the peg is maintained by adjusting the supply based on demand. These tokenomics can then interact with Balancer Pool settings in creative ways.
There are two ways a trader can interact with Balancer Protocol:
Through our Exchange front-end
Directly through our smart contracts on Ethereum Mainnet
There are two main ways a liquidity provider or portfolio manager can interact with Balancer Protocol:
Through our Pool Manager front-end (available shortly)
Directly through our smart contracts on Ethereum Mainnet
Please contact us if you have a portfolio worth more than 100,000 USD and need special assistance.
Balancer Protocol is ideal for Index Funds, as it takes away all the hassle that managers have regarding rebalancing - and on top of that generates fees from trading.
We cannot provide tax or accounting advice. Tax regulations are specific to jurisdiction where you or your company reside. For any legal or tax matters we recommend consulting your own attorney.
Balancer Protocol smart contracts have been designed with security as a top priority. The core protocol code has been reviewed by Consensys Diligence, and formally audited by both Trail of Bits and Open Zeppelin. (Of course, we cannot guarantee that bugs won’t be found in the future.)
Balancer Pools are not upgradeable (though other third-party Smart Pool implementations might be), and there are no admin keys or backdoors.
Remember that the tokens held in Balancer Pools are also smart contracts - not controlled by Balancer - and may have their own risks. Balancer does not support non-ERC20-conforming tokens, but pools may have been created that use them anyway.
The CRP contains safeguards to prevent categories of tokens with known issues from being used in pools (e.g., non ERC20-conforming tokens, and tokens that disallow zero-transfers), and further safeguards to allow other kinds of tokens to interact safely with the protocol (e.g., tokens with callbacks, or those which require 0 prior spend approval).
Since Smart Pool operators can, by definition, alter the parameters of the pool during active trading, all require some level of trust in the pool creators (beyond the general smart contract risk) - the more parameters they can change, the more trust is required.
As a liquidity provider, there is also the financial risk of Impermanent Loss.