Bootstrapping Liquidity / Enabling IL Insurance

Hello ! @mbr wrote this article, thought I’d add this on here so people can take initiative in Bootstrapping Liquidity on certain pools. We have a decent amount of whitelisted pools from initial launch that have not yet been enabled, this is how to do it.

Bootstrapping a Pool for the Whitelisting Upgrade

The Whitelisting Upgrade

The BancorDAO can vote to whitelist any asset, regardless of whether a pool exists on the network or not. In either case, the insurance contracts require a minimum depth for the pool undergoing the contract upgrade, before impermanent loss protection and single-sided exposure can be activated. If the pool previously existed on the network, and already has prerequisite depth, the process is essentially automatic. If the pool depth is insufficient, additional deposits are required; if the pool does not exist, it needs to be created and bootstrapped to the minimum depth.

Minimum Pool Requirements

The minimum depth is defined in terms of BNT. There must be at least 1,000 BNT, and the corresponding dollar amount of TKN. For example, the RGT price at the time of writing is $10.93, and the BNT price is $7.37; therefore, the minimum pool depth is $14,740, half of which is RGT.

1,000 BNT × $7.37 = $7,370

$7,370 / $10.93 = 674.29 RGT

Minimum Pool = 1,000 BNT, 674.29 RGT

Be aware that this is the absolute minimum. As an additional prudency measure, it is recommended that an additional 1% margin is added, to allow for small changes in price and arbitrage activity while the pool is being upgraded.

Minimum Pool + 1% Prudency = 1,010 BNT, 681.03 RGT

Creating and Bootstrapping the Pool

The pool can be created directly via the user interface of the Bancor app. Navigate to the swap tab, select “Pool” from the top menu, and then use the “+ Create Pool” option under the main window.

A new menu appears, that allows for custom weights to be created for your pool. For whitelisting purposes, the pool must have 50:50 weights; do not change this parameter from the default setting.

Click on the “Select a token” option.

Scroll through the list to the bottom, until you find the “Add token” option, and click to begin the process of creating the pool.

In the dialogue box that appears, enter the token contract address. For example, the RGT contract address is 0xD291E7a03283640FDc51b121aC401383A46cC623.

You will then have the option to set custom reserves. As before, it is required to maintain these at 50:50 to qualify for whitelist status. Therefore, don’t mess with the default settings, and simply click on the “Continue” option at the bottom off the window.

Give the pool a helpful, human-readable name; “RGT liquidity pool” is a great example. Choose the appropriate ticker, “RGT”, and set the pool decimals. Eighteen is standard for most erc20 assets, but you can check this value by reading your token contract on Etherscan. Then, set the pool fee. The standard pool fee across the Bancor Network is 0.2%; however, there is no rigid criteria for what the fees should be, other than “competitive with rival DEXs”. To avoid problems, just leave it at 0.2%.

After these settings are entered, click on “Create a Pool”, then “Confirm”. This is a complex contract interaction, so expect to pay a little in gas. There will be a few separate transactions, each will need its own approval. These include creating the pool, setting the conversion fee, and accepting ownership.

At the end of this process, you can return to the pool UI, and then select “Join a Pool” to add liquidity to the contract you just created. Search for it using the search feature, or scroll to find it in the list.

Since the pool is brand new, you will be in the position of defining the price curve. As discussed at the top of this document, the whitelisting upgrade requires a minimum of 1,000 BNT and the corresponding amount of token on the other side. Remember to add a little extra of both as a prudency measure, e.g. 1%. At the time of writing, a suitable bootstrapping amount is 1,010 BNT and 681.03 RGT.

After the pool has been supplied, reach out the community developer team, who will help to facilitate the upgrade of the pool contracts. It is important that the liquidity you provided remains in the pool during this leg of the process - do not withdraw it.

After the whitelisting process is complete, the ability to provide liquidity single-sided will be enabled. You will have an opportunity to withdraw your liquidity after some community LPs have grown the pool a little. At this point, you may contribute the tokens back to the pool as single-sided, protected deposits.

For additional support, contact Mark Richardson:

Telegram: @MB_Richardson



Pools That Need to be Enabled


P.M. me if I missed any or one has been enabled and I’ll update the list accordingly.


There is essentially zero BNB left on ethereum :joy: