Pools

This section provides an overview of Liquidity Pools (LPs).

What is a liquidity pool?

A liquidity pool (LP) is a collection of funds locked in a smart contract. Liquidity pools are used to create a market and facilitate decentralised trading between assets. Pact offers a permissionless platform that enables anyone to provide liquidity and create liquidity pools of their chosen trading pair.

Benefits of providing liquidity

By providing liquidity to Pact and creating a liquidity pool, you will earn fees on all trades on that pair proportional to your percentage share of the pool.

Fees are accrued in real time and can be claimed by withdrawing your liquidity.

Multiple Fee Tiers are available and can be selected upon the creation of the liquidity pool. For most pairs, a market-standard 0.30% fee option is typically a popular choice.

Risks of providing liquidity

Market making, in general, is a complex activity. There is a risk of losing money during large and sustained movement in the underlying asset price compared to simply holding an asset. This risk is known as Impermanent Loss (IL).

Pact incentivizes liquidity to trading pools to compensate for the risks rewarding liquidity providers with the fees generated when users trade with those pools.

How to create a liquidity pool

Before you begin

It's important to note that when a new pool is created, the first liquidity provider sets the initial price of the assets in the pool and is essentially creating a new market for that pair of tokens.

Pact offers multiple Automated Market Maker (AMM) capabilities, including Constant Product Market Maker (CPMM) and specialised services such as Stableswap.

For CPMM, each token in the pair needs to be supplied with equal value. If the initial price of the tokens in the pool diverges from the current global market price, it creates an instant arbitrage opportunity that can result in lost capital for the liquidity provider.

Creating a pool

You can create a new pool on Pact by navigating to the Pools section.

To do that:

  1. Select 'Create Pair'.

  2. Select two tokens that will form a trading pair from the balance in your connected wallet.

3. Specify the token amount on either side that you wish to add to the pool. These values will determine the pool's starting liquidity. You will be alerted if a pool with these given assets already exists.

4. Check this aligns with the value you wish to add to the initial pool.

5. Press 'Create pool' to confirm the transaction. A notification will appear, reminding you to be vigilant when setting your token ratio.

6. You will be asked to sign the transaction via your wallet 'pop-up'. Enter your password and approve. Note, you will be prompted to sign your wallet three times as an application and the transfer of both assets is necessary with the blockchain.

7. A notification that your transaction has been successfully processed will appear.

A liquidity pool will be created upon transaction confirmation. Any user can now make swaps within it and supply their liquidity.

Reminder: You will always need a nominal amount of ALGO in your wallet to perform any transaction on the Algorand network.

How to add & remove liquidity

Adding liquidity

  1. Navigate to the 'Pools' section to see the pools currently available. You can filter by asset in the 'SEARCH POOLS' box.

  2. Enter the amount, or click MAX to specify the amount of either token you wish to add. The opposite side of the pair will self-populate to match the token value proportionately. Make sure there is an adequate balance of each token in your wallet.

5. Click 'Confirm' to confirm the transaction.

6. You will be asked to sign the transaction via your wallet 'pop-up'. Enter your password and approve.

7. A notification that your transaction has been successfully processed will appear.

Once the transaction has been confirmed, the liquidity you have supplied will start yielding rewards from your given pool. You will receive LP tokens representing your total share of your chosen pool.

Removing liquidity

  1. Navigate to the 'Your Liquidity' button to see the pools you have provided liquidity.

  2. Enter the specific amount, utilise the percentage slider, or click MAX to determine the amount of liquidity you wish to remove from the pool. Once all the details are entered, review and click the 'Remove liquidity' button.

4. You will be asked to sign the transaction via your wallet 'pop-up'. Enter your password and approve.

5. A notification that your transaction has been successfully processed will appear.

Your liquidity will be withdrawn from a given pool upon transaction confirmation. The tokens will return to your wallet balance and become freely available.

Last updated