This article will help understand the behind the scenes of DeFi pools, with Automated Market Making and Liquidity Bootstrapping Pools.
It’s time to piggyback off our last post on tokenomics and get into launching a token! In this article we’ll address automated market makers (AMMs) and more importantly Liquidity Bootstrapping Pools (LBPs) and how they can help with getting a token launch off the ground.
This article is a follow-up to the LBP webinar, which is available on Youtube.
What is an AMM?
An automated market maker is an underlying protocol used by decentralized exchanges with an autonomous trading mechanism. AMMs eliminate the need for centralized authorities like exchanges and other financial entities. Put simply; it allows two users to transact their assets without any intermediary facilitating the exchange.
Unlike centralized exchanges, which have bid and ask orders placed on order books, AMMs rely on liquidity pools. Liquidity pools are reserves that hold two or more tokens in a DEX’s smart contract that are readily available for users to trade.
If a user wishes to swap ETH to DAI, they will trade on the ETH/DAI liquidity pool by adding ETH and removing an amount of DAI determined algorithmically from the liquidity pool.
Depositors, known as Liquidity Providers (LPs), seed these liquidity pools. LPs deposit their tokens into the liquidity pool based on the predefined token weights for each AMM (in Uniswap’s case - 50% for each token).
LPs provide funds in liquidity pools to earn a yield, collected from trading fees charged to users trading on the DEX. Anyone can become an LP and enable a trading pair by depositing their funds into the smart contract.
To make sure the ratio of assets in liquidity pools remains balanced and to eliminate discrepancies in the pricing, AMMs use preset mathematical equations. For example, Uniswap and many other DeFi exchange protocols use a simple x*y=k equation to set the mathematical relationship between the particular assets held in the liquidity pools.
Here, x represents the value of Asset A, y denotes the value of Asset B, while k is a constant.
In essence, Uniswap’s liquidity pool maintain a state whereby the multiplication of the price of Asset A and the price of B always equals the same number.
To understand how this works, let us use an ETH/USDT liquidity pool as a case study. When traders purchase ETH, they add USDT to the pool and remove ETH from it. Once the amount of ETH in the pool falls, the price of ETH increases to balance, as shown in x*y=k. In contrast, because more USDT has been added to the pool, the price of USDT decreases. When USDT is purchased, the reverse is the case – the price of ETH falls in the pool while the price of USDT rises.
When large orders are placed in AMMs, and a sizeable amount of a token is removed or added to a pool, it can cause notable discrepancies to appear between the asset’s price in the pool and its market price (the price it’s trading at across multiple exchanges.) For example, the market price of ETH might be $3,000, but in a pool, it can trade at $2,850 because of recent trades.
ETH would then be trading at a discount in the pool, creating an opportunity for someone to engage in “arbitrage” where they buy ETH for $2,850 from one pool and sell it for $3,000 in another.
Note that Uniswap’s x*y=k is just one of the mathematical formulas used by AMMs today. For instance, Balancer uses a much more complex mathematical relationship that lets users combine up to 8 digital assets in a single liquidity pool. On the other hand, Curve adopts a mathematical formula suitable for pairing stablecoins or similar assets.
What is an LBP?
Liquidity Bootstrapping Pools (LBPs) are pools that can dynamically change token weighting. We discussed that Uniswap has a consistent 50% weighting, meaning that the DAI/ETH pool will always be 50% DAI and 50% ETH. LBPs can begin with a weighting of 99/1 and shift to a new weighting over a period selected by the pool owner, making them ideal for token launches.
After the LBP period ends or the final ratio is reached, the pool converts into a traditional liquidity pool.
LBPs facilitate price discovery by demonstrating the acceptable market price of an asset. Often, LBPs have very few buyers at the launch, but as the price slowly declines, traders are willing to step in and buy the asset. Arbitrage maintains this price for the remainder of the LBP. The process is shown by the blue line below. The price declines as the ratios adjust, and buyers step in until an acceptable price is reached.
Choosing the correct parameters is very important to price discovery for an LBP. If the initial price is too low, the asset will get bought up as soon as the pool is launched. It is also possible that the targeted final price is too high, creating little demand for the asset. The green line above shows this scenario. A buyer places a large order, but afterwards, the price declines as no additional buyers are willing to bite.
LBP Key Features
Price discovery: The token price starts high and drops based on a pre-configured price decay curve that can be resisted through buy pressure from LBP participants. Anyone can buy into or sell out of the LBP freely at any time, enabling the price to regulate itself.
Sell Pressure: During a weight shift, the token price of one token experiences sell pressure while the other experiences buy pressure. When this is mixed with modest trading volume, the price approaches the generally agreed-upon market price.
Open and permissionless participation: No whitelists, hard caps, or listing requirements. There is no minimum or maximum allocation. LBP participants choose how much they want to buy.
Fair distribution: LBPs flip the first-come-first-serve launch model on its head. It’s no longer a race where the first bot in or the transaction with the highest gas fee wins. Tokens end up in the hands of as many people as possible in a fair way that disincentivizes front-runners and whales getting better rates than minor participants. When LBPs are used for early-stage tokens, this can help increase how widespread the token distribution is.
Capital efficiency: Teams who use LBPs to kickstart a token’s liquidity can do so with minimal starting capital. A team running an LBP with their token and DAI, starting with 10% or 20% DAI, as opposed to 50% DAI as needed on other platforms, significantly reduces the starting capital requirements. Shifting from 80/20 TOKEN/DAI to 20/80 would ultimately result in the team holding far more DAI at the end of their LBP while reducing the (sometimes extreme) price volatility that teams experience when launching a 50/50 pool.
If you are interested in modelling LBP parameters, there are some great tools.
Our favorite is Copper (copperlaunch.com).
You can see examples of past auctions and learn how it works. Feel free to check the docs - there is a plethora of helpful material. You can also simulate the LBP parameters if you click Create LBP or use the Balancer LBP Simulator!