Page cover

1. Introduction to Liquidity Bootstrapping Pools (LBPs)

Originally introduced by Balancer - a decentralized exchange platform - Liquidity Bootstrapping Pools (LBPs) are a specialized form of Automated Market Makers (AMMs) designed to facilitate the fair launch and distribution of new tokens. Unlike traditional liquidity pools, which maintain fixed token ratios, LBPs dynamically adjust the weights of the tokens in the pool over time. This dynamic adjustment directly influences the tokens' price and availability, making LBPs particularly effective in managing the early-stage volatility often associated with new token launches.

Before delving into the specifics of LBPs, it's essential to understand the mathematical principles underlying general liquidity pools, as these form the foundation upon which LBPs are built.

1.1. Mathematical Foundations of General Liquidity Pools

Liquidity pools are at the heart of decentralized exchanges, where trading occurs without the need for a central order book. The pricing and liquidity within these pools are governed by mathematical formulas that ensure continuous trading and price stability.

1.1.1. Constant Product Formula

One of the most widely used formulas in AMMs is the constant product formula, which maintains a balance between two tokens in a pool by ensuring that the product of their quantities remains constant.

VolumeAƗVolumeB=kVolume_A \times Volume_B=k

Where

  • VolumeAVolume_A : Quantity of Token A in the pool.

  • VolumeBVolume_B : Quantity of Token B in the pool.

  • kk : Constant, representing the invariant product of the two token quantities.

This formula implies that any change in the amount of one token must be offset by an opposite change in the other, maintaining the constant k. This relationship defines the price of one token in terms of the other and ensures that the pool can always facilitate trades.

1.1.2. Price Calculation

The price of Token A in terms of Token B in a constant product pool is derived from the constant product formula:

PriceA=VolumeBVolumeA​Price_A=\frac {Volume_B}{Volume_A}​

Where

  • PriceAPrice_A : Price of Token A in terms of Token B.

  • VolumeAVolume_A : Quantity of Token A in the pool.

  • VolumeBVolume_B : Quantity of Token B in the pool.

In other words, the higher the volume of Token B in the pool relative to Token A, the higher the price of Token A in terms of Token B.

As trades occur, these quantities change, causing the price to adjust. This mechanism naturally balances the pool and determines the exchange rate between the two tokens.

1.1.3. Swap Formula

When a user swaps Token B for Token A, the volume of Token B increases by the input amount TokenBInputToken_B^{Input}​, and the volume of Token A decreases by the amount received TokenAReceivedToken_A^{Received} ​.

The volumes after the swap become:

VolumeANew=VolumeAāˆ’TokenAReceivedVolume_A^{New} =Volume_A -Token_A^{Received}

VolumeBNew=VolumeB+TokenBInputVolume_B^{New} =Volume_B +Token_B^{Input}

Using the constant product formula, we can calculate the amount of Token A received in exchange for the input of Token B. Rearranging the constant product formula gives:

(VolumeAāˆ’TokenAReceived)Ɨ(VolumeB+TokenBInput=VolumeAƗVolumeB(Volume_A-Token_A^{Received}) \times (Volume_B +Token_B^{Input}=Volume_A \times Volume_B

TokenAReceived=VolumeAƗ(1āˆ’VolumeBVolumeB+TokenBInput)Token_A^{Received} = Volume_A \times (1 - \frac {Volume_B}{Volume_B +Token_B^{Input}})

Where

  • TokenAReceivedToken_A^{Received} : Amount of TokenA being received from the pool (swapped out).

  • TokenBInputToken_B^{Input} : Amount of TokenB being input into the pool (swapped in).

  • VolumeAVolume_A​ : Current volume of TokenA in the pool before the transaction.

  • VolumeBVolume_B​ : Current volume of TokenB in the pool before the transaction.

1.2. Understanding LBPs

LBPs are designed to allow the market to determine the price of a token naturally. Initially, the token being launched is given a higher weight, which makes it more expensive. As the pool progresses and more tokens are sold, the weight of the new token decreases, leading to a gradual decrease in its price. This gradual price reduction helps prevent the sudden price spikes and dumps that are common in more traditional token launches.

By shifting the weight from the newly launched token to a more stable asset over time, LBPs facilitate a smoother and more stable price discovery process. This approach not only encourages broader participation in the token sale but also helps to mitigate early-stage volatility, making it a more attractive option for both issuers and investors.

1.2.1. Adjusted Product Formula for LBPs

VolumeAƗVolumeB=kƗWeightAWeightBVolume_A \times Volume_B=k \times \frac {Weight_A}{Weight_B}

Where

  • VolumeAVolume_A : Quantity of Token A in the LBP.

  • VolumeBVolume_B : Quantity of Token B in the LBP.

  • kk : Constant, representing the invariant product of the two token quantities.

  • WeightAWeightB\frac {Weight_A}{Weight_B} : is the ratio of the weights, which varies over time in an LBP.

1.3. Key Concepts Underlying LBPs

For more details, please refer to the Glossary section

1.3.1. Automated Market Makers (AMMs)

LBPs belong to the broader category of AMMs, which are decentralized exchanges that use mathematical formulas to price assets within a pool. Unlike traditional exchanges that rely on order books and matching buyers with sellers, AMMs automatically execute trades based on predetermined pricing algorithms. This ensures continuous liquidity and allows trades to occur without the need for a direct counterparty.

1.3.2. Token Weights

Token weights in an LBP are critical in controlling the pricing of tokens within the pool. At the start of an LBP, the new token being launched typically has a higher weight compared to a more stable asset, such as a stablecoin. This initial higher weight makes the new token more expensive. As the LBP progresses, the weight of the new token decreases while the stable asset’s weight increases, causing the price of the new token to drop over time. This gradual price reduction facilitates broader distribution at a lower, more accessible price.

1.3.3. Price Discovery

The primary goal of an LBP is to enable a fair and efficient price discovery process for new tokens. Price discovery is the process by which the market determines the value of an asset based on supply and demand dynamics. In an LBP, price discovery is facilitated by the gradual adjustment of token weights, allowing the market to naturally determine the fair price of the new token. This method discourages early speculative behavior and helps prevent price manipulation.

1.3.4. Slippage

Slippage refers to the difference between the expected price of a trade (the spot price) and the actual price at which the trade is executed (the effective price). Slippage occurs due to the change in token balance and weights within the pool as a result of the trade.

1.3.5. Liquidity and Volume

Liquidity in an LBP refers to the total amount of assets available in the pool for trading. Higher liquidity generally means that trades can be executed more easily without significantly impacting the price. Volume refers to the amount of trading activity within the pool. The interaction between liquidity and volume is essential for maintaining price stability in an LBP.

Last updated