SEP 05, 2020 • 4 Min Read
As mentioned in previous Dailies, Perpetual Protocol plans to list their $PERP token on a Balancer liquidity bootstrapping pool (LBP). This will be the first Initial Dex Offering (IDO) on an LBP – an exciting moment for both the Perpetual and Balancer communities.
As this is the first LBP, IDO participants may not understand the dynamics at play. This Daily plans to outline some of the nuances of this LBP specific to the Perpetual Protocol. First, Perpetual has delayed their IDO date to September 9th at 6:00 am UTC (previously the 7th) and the mainnet launch to an unspecified date after the IDO. This decision stems from the high gas costs on Ethereum. Perpetual Protocol noted that in this current fee environment, open and closing positions would cost around $100 when gas is at 500 gwei. Commenting on the state of Ethereum’s gas is too loaded of a topic for this Daily, but it should be noted that it clearly has material impacts on builders’ decisions to deploy applications.
As shown by the graph below, the Perpetual Protocol uses an LBP that shifts pool weights from a 90/10 (PERP/USDC) to a 30/70 (PERP/USDC) ratio. This transition happens linearly across 20080 blocks, which comes to around 72.5 hours (assuming an average 13 second block times). The LBP starts with 7,500,000 $PERP tokens and 1,333,333 $USDC tokens implying a starting price of $1.6 (~$240M fully diluted and ~$24.4M circulating market cap). The shifting pool weights will naturally suppress $PERP price down to $0.08. It is highly unlikely $PERP will trade at this level, as IDO participants will bid the price up across the 3 days (LBP length) counteracting the natural price decrease. It should be noted that with the delay of the mainnet, seed and strategic tokens do not start unlocking on September 9th – this a net benefit for potential IDO participants as there is less potential sell-pressure. The only available float outside of the LBP will be 10% of ecosystem funds (roughly $7.7M tokens)
A key part of an LBP’s design is to disincentivize race conditions. This is accomplished via high a starting weight (0.9) that results in high slippage, and the gradual reweighting to lower levels that naturally decrease PERP/USDC. The table below shows the slippage one would incur on different order sizes when the pool is at 90/10.
A LBP naturally shifts the price of $PERP down. As a result, one can track the rate of change of this natural price decrease. Looking at the graph below, the LBP scales price down at a much faster rate on the first day of its existence. The LBP reaches its rate of change maximum (smallest price change) at the 50-hour mark – which is when the pool hits a 50/50 weight. Pretty cool.
There is a lot one can do to try and predict the pool price over the 3 days. One way to do it is to play with different levels of net USDC inflows. I have attached a sheet (4) that allows one to tinker with these assumptions themselves. I personally wanted to see how much USDC is needed to keep $PERP price around the starting $1.6 levels. Assuming, $200,000 of USDC was traded in the first hour (when the pool is close to 90/10), there would need to be ~$109K traded every hour after to keep $PERP at $1.6 by the time the LBP expires. This comes to around $7.85M USDC net inflows. This sheet is limited in the fact that it is based on an hourly, rather than per block basis. It also batches all transactions into one transaction (net) for each hour, which inhibits more granularity. I have still found it useful, and if any readers find any different takeaways from this sheet please let me know!