The Bancor Protocol is made up of a series of smart contracts (called “liquidity pools”) designed to perform algorithmic token trades and pooling of on-chain liquidity.
Liquidity pools hold reserves (balances) of ERC20 or EOS tokens. The “weights” of a liquidity pool refer to the percentage exposure of each token in the pool.
The most common implementation of a liquidity pool is one with 2 tokens and 50/50 weights. Such a pool adjusts the prices of its reserve tokens so that each reserve always makes up 50% of the pool’s total value.
Pool creators set a Bancor pool’s initial parameters, including:
- # of reserve tokens in a pool - an unlimited # of tokens is allowed in the pool
- reserve weights - each token can be set to make up 0-100% of the pool
- liquidity provider fee - percentage fee applied to each trade, can be any %
In terms of slippage, the most efficient weights for a 2-token pool are 50/50. However, a pool creator could also launch a pool with unequal weights.
One reason for launching a pool with unequal weights is if a token project wants to provide liquidity using mostly their own project’s token. For instance, an XYZ/BNT pool with 80/20 weights would allow the XYZ team and its token community to add liquidity with 80% XYZ and 20% BNT. In addition, the pool value would be more correlated with the price of XYZ.
While allowing for a higher value correlation to selected tokens, uneven Bancor pools incur higher slippage, which reduces trade volume and APR.
Once a pool with unequal weights reaches a desired level of liquidity, a token project could prompt its liquidity providers to shift liquidity into a separate 50/50 pool where slippage is minimized.
Total Reserve Ratio (TRR)
The “total reserve ratio” defines the ratio between the total value of a a pool’s reserves & the market cap of its pool token. A 50/50 or 80/20 pool has a 100% TRR.
A liquidity pool can be set with a TRR below 100% -- for instance, a 40/40 pool, which has an 80% TRR. In such a pool, the price of its pool token rises as liquidity is added. The lower the TRR, the more sensitive a pool’s token price is to liquidity being added or removed.