Creating an OpenBook AMM Pool

Permissionless pools allow anyone to create a liquidity pool on Raydium. Once a pool is created it can then immediately be traded on the Raydium swap interface.

It is highly suggested to carefully read and understand this entire guide before creating a pool.

  • Every new LP must be linked to a unique OpenBook market ID. The same market ID cannot be used for more than one LP on Raydium.

  • Once created, new LPs will be immediately tradable on the Raydium Swap interface.

  • Pool creation requires the base token to have freeze authority disabled.

  • Every new LP will have an associated AMM ID created. This AMM ID can be used to easily search for the pool on the Swap or Liquidity page, or be shared with others to do the same.

  • When a new pool is created, a small fraction of the initial liquidity is transferred to the pool vaults instead of being minted as LP tokens to ensure the liquidity pool is never empty and new LP tokens can always be minted in the event that the previous LP token supply is removed or burned.

How to Create a Permissionless Pool

  1. Obtain an OpenBook Market ID

  • Read the points on minimum order and price tick size below

  • Create an OpenBook market ID at this link: https://v2.raydium.io/create-market/

  • Note that creating a new market can cost anywhere from 0.3 - 2.8 SOL.

🚨IMPORTANT🚨: Minimum Order and Price Tick Size

  • Price Tick Size: This is the smallest amount by which prices can move. For a SOL/USDC market, this would be in units of USDC, a.k.a. the price increment.

    • It is suggested that Min Price Tick Size should be a maximum of 0.1% of your intended starting price for the Base Token (price being the number of Quote Tokens needed to purchase 1 Base Token)

      • Example: For a base token with intended price of $1, tick size should be no larger than 0.001 if quote token is USDC. If quote token is SOL, assuming market price for SOL is $100, then the same $1 base token price would equal 0.01 SOL and min tick size should then be 0.00001. In other words, the tick size should be with in 1/1000 (0.001) of your token price. If your token price is $0.02, we recommend a tick size of 0.0001.

  • Minimum Order Size: This is the smallest allowed order size. For a SOL/USDC market, this would be in units of SOL, a.k.a. the Lot size.

    • In general, more decimals in the Minimum Order Size and min Tick Size are better. However the market cannot have more than 6 decimals places for both of these two parameters combined.

      • Example: If min order size is 1, min tick size cannot be smaller than 0.000001. If min order size is 0.1 then min tick size cannot be smaller than 0.00001. However, if min order size is increased to 10, you then gain a min tick size decimal place and min tick can be 0.0000001, and so on. This is helpful for tokens with very low prices.

Do not create an OpenBook market with a Minimum Order Size or Tick Size of 0 (Zero). The AMM will accept all other values. You can decrease the amount of rent (SOL) required to create an OpenBook Market by adjusting with these values or using https://serum-explorer.vercel.app/market/create

In general, follow these guidelines when creating an OpenBook Market.

Min Order
Tick

0.1

0.00001

1

0.000001

10

0.0000001

100

0.00000001

1,000

0.000000001

10,000

0.0000000001

100,000

0.00000000001

1,000,000

0.000000000001

10,000,000

0.0000000000001

100,000,000

0.00000000000001

1,000,000,000

0.000000000000001

10,000,000,000

0.0000000000000001

100,000,000,000

0.00000000000000001

2. Once you've created the market on OpenBook, go to the liquidity page on Raydium. Scroll down and click the "Create Pool" button at the bottom.

3. On the create pool page, input the market ID from OpenBook, then click 'Confirm'.

  • If an LP already exists on Raydium for an OpenBook market ID, that ID can not be used to create a new LP.

4. Starting Price, Initial Liquidity and Start time:

  • Set the Base Token starting price: This is the number of Quote Tokens needed to purchase 1 Base Token.

  • Set Base and Quote token initial liquidity: You can enter one side of initial liquidity and the other side will be calculated according to the Base Token starting price.

  • Set the start date and time that you want your pool to launch.

  • Ensure that you have adequate funds in your wallet for this initial liquidity, then click 'Confirm and Initialize Liquidity Pool'.

IMPORTANT: After confirming and initializing the pool, you can no longer edit starting price, liquidity or start time. The start time is determined by the cluster time on-chain, it is possible that Solana's cluster time is inconsistent. You can check the cluster time here.

5. After clicking confirm, you will need to approve TWO separate transactions in your wallet. These transactions initialize the pool, create the AMM account and ID, and add liquidity from your wallet. If you do not see one of the transactions appear, your wallet window may be hiding behind your main browser window. If you miss a transaction, the process will fail and you'll need to click confirm again, and re-approve all transactions.

6. Once you've confirmed the two transactions in your wallet, the new LP will have been created, you will be provided with the new AMM ID, and the pool will launch at the set start time.

Helping users find your pool:

  • The AMM ID or Serum Market ID can be used to easily search for the pool on the Swap or Liquidity page, or shared with others to do the same.

  • Users can also select tokens on the swap page, or search by token mint address and add a custom token to the user's token list.

  • A detailed guide for locating a pool with token address or AMM ID can be found here.

You can return to the Create Pool page at any time to see LPs that you have previously created and view their AMM IDs.

Last updated