Creating a CLMM Pool and Farm

Intro on CLMM pool and farm creation

It's highly suggested to read this entire guide before creating a pool or farm.

If you haven't heard about Concentrated liquidity we recommend reading the following article.

Similar to creating a liquidity pool and ecosystem farm, any project team or user can create a CLMM pool and farm on Raydium. CLMM pools are designed for advanced market making. They offer more capital efficiency to liquidity providers, and reduce slippage on swaps. By creating a farm, project teams can crowdsource liquidity from the community in a decentralized manner, which results in deeper liquidity and better prices for users.

IMPORTANT - points to keep in mind before creating CLMM pool and farm:

  • Token selection: any token on Solana token list can be used to create a CLMM pool. Each pool will consist of two tokens, usually what is considered a base and quote token.

  • To prevent duplicate pools, there can only be one token pair for each fee-tier on Raydium.

  • Fee Tiers: pool creators can choose from 4 fee tiers 0.01% - best for very stable assets 0.05% - best for pegged-assets and high volume pairs 0.25% - best for most pairs 1% - best for exotic

  • Starting price: the number of Quote Tokens needed to purchase 1 Base Token.

  • Initial price range: the interval of which the pool creator’s liquidity is initially provided upon pool creation. Initial liquidity will be concentrated in the initial price range.

  • Only the pool creator can create a farm for the given CLMM pool. Pool creators can choose 2 token rewards. One of chosen reward mints must be related to the token pair. The remaining reward can be any SPL token. For example, if a pool is created for RAY-SOL, one reward can be any token on the Solana Token list but the other reward must be either RAY or SOL.

  • Rewards and APR:

    • APR is a function of rewards, token price and liquidity in the pool, specifically the $value of rewards for a period divided by the $value of liquidity in the pool, then annualized. Determining suitable rewards emissions and APR for Constant Product AMMs is a difficult task but it is even more complex for Concentrated Liquidity AMMs.

    • Unlike constant product farms, liquidity providers compete for both trading fees and token emissions, which are divided among liquidity providers within the current trading range. Liquidity providers with a tighter range around the mid-price will earn a higher share of fees and token emissions.

  • Key points to consider when calculating rewards:

    • Liquidity around the mid-price: How much liquidity do you want in the trading range and how much active liquidity do you want near the mid-price?

    • Price of reward token: The reward token price has a direct effect on APR % for the farm. You may want to estimate a price range over the farming period to estimate APR.

    • APR calculation: Raydium’s UI features three different estimated APR calculations to give concentrated liquidity providers and pool creators a reference for potential yield.

  • Rewards allocated to farms are final and cannot be withdrawn once the farm is created. Extending or adjusting the rewards rate can only be done 72 hours prior to the end of the current farming period, make sure to read part 2 of the guide below for specifics!

Creating a CLMM pool

CLMM pools should be live on the UI approx 5 minutes after completion of the creation process. Setting a specific start time for a pool is not possible.

Users and project teams can create a concentrated liquidity pool on Raydium in 5 easy steps.

After connecting your wallet, navigate to “Concentrated” on the left side of the page. Click on “Create Concentrated Pool’ on the top right of the page

Click “Create Concentrated Pool” to get started!

  1. Select Base and Quote Tokens

The Base Token is the first token that appears in a token pair quotation. Consequently, the second token in the pair is a Quote Token. Quote Tokens represent the number of tokens needed to purchase 1 Base Token.

Common quote tokens include SOL, USDC or other stablecoins.

2. Select Fee

The selected fee is the amount that traders will pay to trade the pair. Liquidity providers earn 100% of token emissions and 84% of trading fees, with 12% and 4% of fees allocated to RAY buybacks and treasury, respectively.

Fee Tiers: Pool creators can choose from 4 fee tiers

  • 0.01% - best for very stable assets

  • 0.05% - best for pegged-assets and high volume pairs

  • 0.25% - best for most pairs

  • 1% - best for exotic pairs

3. Set Starting Price

The starting price determines the number of Quote Tokens needed to purchase 1 Base Token when the pool is created.

Pool creators can choose to view the starting price with regards to the Quote Token or Base token.

IMPORTANT: After confirming and initializing the pool, you can no longer edit starting price, fee tiers, or initial liquidity. Pool creators can, however, add additional liquidity within any range they deem suitable.

4. Select Position Price Range:

Select a price range for your initial liquidity position of the pool. As the creator of the pool, this just represents your initial liquidity position. It has no effect on users adding liquidity once the pool is created, as other users can add liquidity at their own desired price ranges. You can remove liquidity or create a new position with different price range at any time once the pool is live.

The pool creation tool will automatically populate a price range that is 50% above and below the Starting Price. Pool creators can choose a custom range around the Starting price.

The price of the token pair will change as the tokens are traded. If the price trades below the position’s min price, the position will then be comprised of 100% base token. If price trades above the max price, the position will effectively sell the base token and then be 100% comprised of the quote token. This is different from a standard constant product AMM, where liquidity from all users is spread out along a curve from 0 to infinity.

5. Deposit Amount

The deposit amount represents the amount of Base and Quote tokens that will be used to add liquidity when the pool is initialized. The deposit ratio will be populated automatically based on previous settings. The amount of liquidity added for the Base and Quote token can be manually adjusted by the pool creator.

6. Preview Pool and Confirm

The pool creator can preview the pool after determining the deposit amount. Click “Confirm Deposit” and approve the transaction. Congratulations you have created a concentrated liquidity pool on Raydium!

Please note: Gas fees will be higher than usual due to the initialization transaction.

IMPORTANT: The concentrated liquidity pool will be created after approving the transaction. The pool creator cannot edit the starting price or initial liquidity until the pool opens for trading. However, after the pool is created the pool creator can manage a current position or add additional liquidity in a chosen range.

Adding Farming Emissions on a Concentrated Pool

After creating a concentrated pool, pool creators can add token emissions. Token emissions can be added at any time, however, only the user (wallet) that created the pool can add emissions.

  1. Creating a Farm

Pool creators can add token emissions immediately after creating a concentrated pool. Simply click “Create Farm” on the pop up window.

Pool creators can also add emissions at a later date by connecting their wallet and clicking 'Create Farm' in the drop down of a created pool on the 'My Pools' tab.

2. Set up rewards and duration

Rewards: Choose the reward token and amount to be emitted from the farm. Pool creators can choose up to 2 reward tokens.

The first farming reward token can be any SPL token. If there are two reward tokens, at least one should be the base or quote token from the pool. For example, if a pool is created for mSOL-USDH, one reward can be any token on the Solana Token list but the other reward must be either mSOL, USDH, or a token from the following list:

Duration and Start Time: Choose a duration for farming period. The period must be a minimum of 7 days and a maximum of 90 days. Then select the date and time for the farming to start. The farming end time will be calculated accordingly.

  • Pay close attention to the chosen start time as this can NOT be adjusted after the farm has been created.

  • Newly created farms generally appear on the Raydium UI approx 5 minutes after creation, depending on Solana’s network status. Farms on the UI will display an 'Upcoming' tag prior to the start time of rewards.

Rewards allocated to farms are final and cannot be withdrawn once the farm is created. Details on adding additional rewards to the farm are below.

3. Review and confirm

After all settings for the farm are confirmed, click “Review Farm.”

Make sure to confirm that rewards, duration and start time are correct. These can not be changed once the farm is created. Then click 'Confirm changes'

That's it, your farm should be live on the UI in approx 5 minutes. You can click the 'Show Created' tab on the Concentrated page to view your farms.

4. Extend or adjust farming rewards

After creating, you can easily view with the “Show Created” toggle on the Concentrated page.

If you want to extend farm emissions or adjust rewards for a specific farm, click the ‘Edit Farm’ button in the farm drop down.

Rewards allocated to farms are final and cannot be withdrawn

Rewards can be adjusted or extended according to below requirements:

  • To increase rewards rate or extend the farming period, additional tokens can be added to the farm at any time while the farm period is running. The farming period must be extended by at least 7 days and additional tokens added from the pool/farm creator's wallet.

  • To reduce the rewards rate, this can only be done within 72 hours of the current farming period end time. The farming period must be extended by at least 7 days and any additional tokens added from the pool/farm creator's wallet.

  • Additionally, once a farming period ends, the creator can easily create a new farming period.

Additional reward token: An additional reward token can be added at any time, up to a maximum of 2 reward tokens. The rewards period can be different for different tokens.

That's it! You're now bootstrapping decentralized liquidity on Raydium!

If you have questions, feel free to drop by the Raydium Discord server

Last updated

#204: Developers - broken link + cl program

Change request updated