Creating a 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. The pool AMM will also place orders on the OpenBook order book (Serum is no longer supported), allowing liquidity to be traded on the Raydium Trading page, or any other OpenBook DEX GUI.
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.
- LP AMMs will also interact and place orders on the OpenBook order book of the market ID they are linked to. However if total liquidity in the LP is below the equivalent of $100,000 USD at any given time, the AMM will pause placing orders until additional liquidity is added or token prices rise to meet the threshold.
- OpenBook requires markets to be cranked for consume events (fill orders) to be completed. Raydium does not crank OpenBook markets for permissionless pools. If you want your pool to market make on OpenBook, you made need to crank the OpenBook market itself of no other market makers are contributing to the crank.
- Currently, only token pairs that contain the following Quote Tokens are supported: SOL, RAY, USDC, USDT, USDH
- 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.
- 1.Obtain an OpenBook Market ID
- Read the points on minimum order and price tick size below
- Note that creating a new market can cost anywhere from 3 - 4 SOL.
🚨IMPORTANT🚨: Minimum Order and Price Tick Size
If min tick size is too large you may need to completely remake the market and relaunch and migrate liquidity for the pool linked to it.
- 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.
- Minimum Order Size can follow with remaining available decimal places based on what's required for min Tick Size.
It's highly suggested to double check tick sizes on your market after creating if possible on an OpenBook GUI.
3. On the create pool page, input the market ID from OpenBook, then click 'Confirm'.
- If an LP already exists on Raydium for a 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.
You can return to the Create Pool page at any time to see LPs that you have previously created and view their AMM IDs.