The Launchlab program will update shortly.
This update relates to platform initialization and the use of alternative quote tokens.
This is a non-code-breaking change and does not affect trading, indexing, or any other operations outside of new platform ID creation.
The update is reflected in: sdk version 0.2.34-alpha
This update relates to platform initialization and the use of alternative quote tokens.
This is a non-code-breaking change and does not affect trading, indexing, or any other operations outside of new platform ID creation.
The update is reflected in: sdk version 0.2.34-alpha
β€1
π§ Raydium CLMM Program Upgrade going live May 18thβ Full Integrator Brief
Three new features ship together: limit orders, dynamic fee, and single-sided fee. Opt-in at pool creation via CreateCustomizablePool. Fully backwards-compatible β existing pools and positions work unchanged. Classic CreatePool still works for default-fee pools without these flags.
β Limit Orders
Single-tick orders with FIFO fill, settled by keeper so owners stay offline.
Lifecycle: Open β Filled β Settled β Closed
New accounts:
β’ LimitOrderState β per-(pool, owner, tick, nonce) account tracking input amount, unfilled ratio, and phase
β’ LimitOrderNonce β monotonically incrementing counter for PDA seeds
SDK methods (raydium.clmm):
createCustomizablePool, openLimitOrder, increaseLimitOrder, decreaseLimitOrder, settleLimitOrder, closeLimitOrder, closeAllLimitOrder, settleAllLimitOrder
API endpoints:
β’ /clmm/limit-orders/open?wallet= β open orders awaiting fill
β’ /clmm/limit-orders/filled?wallet= β filled, awaiting settle
β’ /clmm/limit-orders/closed?wallet= β settled and closed history
Keeper note: limit_order_admin is an off-chain operational keeper with bounded authority β can only call SettleLimitOrder and CloseLimitOrder, output always lands in owner's ATA. Cannot mutate pool fields, open orders, or sign for anything else.
β‘ Dynamic Fee
Volatility-reactive surcharge calibrated per tier. Surcharge rises with rapid tick movement, decays over time.
New account:
β’ DynamicFeeConfig β per-tier calibration record (filter period, decay period, reduction factor, max fee numerator). Created by admin via CreateDynamicFeeConfig.
On PoolState: dynamic_fee_info: DynamicFeeInfo (embedded)
API: /main/clmm-dynamic-config β list of all tier configs.
Behavior: SwapV2 applies decay β accumulate β cap each step, adding the surcharge on top of the base fee. Swap path shape is unchanged.
β’ Single-Sided Fee
Collect swap fees always from token0 or token1 instead of input side.
On PoolState: fee_on: u8 β (0 = FromInput legacy, 1 = Token0Only, 2 = Token1Only)
Set once at pool creation via CreateCustomizablePool. Useful when one side of the pair is your canonical accounting token.
β οΈ Breaking Change β PoolState Reshape
Old layout β New layout:
β’ Per-direction volume counters (swap_in/out_amount_token_*) β folded into padding5: [u128; 4]
β’ Lifetime fee counters (total_fees*_token_*) β folded into padding6: [u64; 4]
Total account size is unchanged. Existing pools retain their last values β reading these fields post-upgrade returns stale data. Migrate volume/fee tracking to the Observation ring or API before the upgrade date 18/05
TickState Additions (non-breaking)
Four additive fields at the tail replacing padding:
β’ order_phase: u64 β disambiguates limit-order cohorts
β’ orders_amount: u64 β total input committed by open orders at this tick
β’ part_filled_orders_remaining: u64 β unfilled input in current cohort
β’ unfilled_ratio_x64: u128 β Q64.64 ratio for computing fill shares
Tick-array layout, sizing, and PDA seeds are unchanged.
SDK & API Summary
SDK (@raydium-io/raydium-sdk-v2, branch clmm-dynamic-fee-and-limit-order)
β’ 8 new CLMM methods + 3 new REST helpers on raydium.api (getClmmDynamicConfigs, getClmmLimitOrderConfigs)
β’ New types: CollectFeeOn, DynamicFeeConfig, DynamicFeeInfo, LimitOrderState, LimitOrderConfig
β’ Internal reorg: utils/ β libraries/ β affects deep imports only
β’ Code demos: products/clmm/code-demos
New API endpoints:
β’ api-v3: /main/clmm-dynamic-config, /main/clmm-limit-order-config
β’ temp-api-v1: /clmm/limit-orders/{open,filled,closed}
New error codes: 6045β6050 (InvalidDynamicFeeConfigParams, InvalidFeeOn, OrderAlreadyFilled, InvalidOrderPhase, InvalidLimitOrderAmount, OrderPhaseSaturated)
Three new features ship together: limit orders, dynamic fee, and single-sided fee. Opt-in at pool creation via CreateCustomizablePool. Fully backwards-compatible β existing pools and positions work unchanged. Classic CreatePool still works for default-fee pools without these flags.
β Limit Orders
Single-tick orders with FIFO fill, settled by keeper so owners stay offline.
Lifecycle: Open β Filled β Settled β Closed
New accounts:
β’ LimitOrderState β per-(pool, owner, tick, nonce) account tracking input amount, unfilled ratio, and phase
β’ LimitOrderNonce β monotonically incrementing counter for PDA seeds
SDK methods (raydium.clmm):
createCustomizablePool, openLimitOrder, increaseLimitOrder, decreaseLimitOrder, settleLimitOrder, closeLimitOrder, closeAllLimitOrder, settleAllLimitOrder
API endpoints:
β’ /clmm/limit-orders/open?wallet= β open orders awaiting fill
β’ /clmm/limit-orders/filled?wallet= β filled, awaiting settle
β’ /clmm/limit-orders/closed?wallet= β settled and closed history
Keeper note: limit_order_admin is an off-chain operational keeper with bounded authority β can only call SettleLimitOrder and CloseLimitOrder, output always lands in owner's ATA. Cannot mutate pool fields, open orders, or sign for anything else.
β‘ Dynamic Fee
Volatility-reactive surcharge calibrated per tier. Surcharge rises with rapid tick movement, decays over time.
New account:
β’ DynamicFeeConfig β per-tier calibration record (filter period, decay period, reduction factor, max fee numerator). Created by admin via CreateDynamicFeeConfig.
On PoolState: dynamic_fee_info: DynamicFeeInfo (embedded)
API: /main/clmm-dynamic-config β list of all tier configs.
Behavior: SwapV2 applies decay β accumulate β cap each step, adding the surcharge on top of the base fee. Swap path shape is unchanged.
β’ Single-Sided Fee
Collect swap fees always from token0 or token1 instead of input side.
On PoolState: fee_on: u8 β (0 = FromInput legacy, 1 = Token0Only, 2 = Token1Only)
Set once at pool creation via CreateCustomizablePool. Useful when one side of the pair is your canonical accounting token.
β οΈ Breaking Change β PoolState Reshape
Old layout β New layout:
β’ Per-direction volume counters (swap_in/out_amount_token_*) β folded into padding5: [u128; 4]
β’ Lifetime fee counters (total_fees*_token_*) β folded into padding6: [u64; 4]
Total account size is unchanged. Existing pools retain their last values β reading these fields post-upgrade returns stale data. Migrate volume/fee tracking to the Observation ring or API before the upgrade date 18/05
TickState Additions (non-breaking)
Four additive fields at the tail replacing padding:
β’ order_phase: u64 β disambiguates limit-order cohorts
β’ orders_amount: u64 β total input committed by open orders at this tick
β’ part_filled_orders_remaining: u64 β unfilled input in current cohort
β’ unfilled_ratio_x64: u128 β Q64.64 ratio for computing fill shares
Tick-array layout, sizing, and PDA seeds are unchanged.
SDK & API Summary
SDK (@raydium-io/raydium-sdk-v2, branch clmm-dynamic-fee-and-limit-order)
β’ 8 new CLMM methods + 3 new REST helpers on raydium.api (getClmmDynamicConfigs, getClmmLimitOrderConfigs)
β’ New types: CollectFeeOn, DynamicFeeConfig, DynamicFeeInfo, LimitOrderState, LimitOrderConfig
β’ Internal reorg: utils/ β libraries/ β affects deep imports only
β’ Code demos: products/clmm/code-demos
New API endpoints:
β’ api-v3: /main/clmm-dynamic-config, /main/clmm-limit-order-config
β’ temp-api-v1: /clmm/limit-orders/{open,filled,closed}
New error codes: 6045β6050 (InvalidDynamicFeeConfigParams, InvalidFeeOn, OrderAlreadyFilled, InvalidOrderPhase, InvalidLimitOrderAmount, OrderPhaseSaturated)
π Docs & changelog: https://docs.raydium.io/reference/changelog#unreleased-%E2%80%94-clmm-limit-orders-single-sided-fee-dynamic-fee
π Program branch: https://github.com/raydium-io/raydium-clmm/tree/feat_limitorder_dynamicfee
π SDK branch: @raydium-io/raydium-sdk-v2 / clmm-dynamic-fee-and-limit-order
π Audit: https://github.com/raydium-io/raydium-docs/tree/master/audit/Sec3%20Q2%202026
Docs updated across: accounts, instructions, fees, math, code-demos, API reference.
π Program branch: https://github.com/raydium-io/raydium-clmm/tree/feat_limitorder_dynamicfee
π SDK branch: @raydium-io/raydium-sdk-v2 / clmm-dynamic-fee-and-limit-order
π Audit: https://github.com/raydium-io/raydium-docs/tree/master/audit/Sec3%20Q2%202026
Docs updated across: accounts, instructions, fees, math, code-demos, API reference.
The CLMM Program Upgrade is live on mainnet, the new feature set includes limit orders, dynamic fees, and single-sided fees. These features are Opt-in at pool creation via CreateCustomizablePool. Fully backwards-compatible β existing pools and positions work unchanged. Classic CreatePool still works for default-fee pools without these flags.
β οΈ Breaking Change β PoolState Reshape
Old layout β New layout:
β’ Per-direction volume counters (swap_in/out_amount_token_*) β folded into padding5: [u128; 4]
β’ Lifetime fee counters (total_fees*_token_*) β folded into padding6: [u64; 4]
Total account size is unchanged. Existing pools retain their last values β reading these fields post-upgrade returns stale data. Migrate volume/fee tracking to the Observation ring or API before the upgrade date 18/05
Full Scope: https://t.me/RaydiumDeveloperUpdates/21
π Docs & changelog: https://docs.raydium.io/reference/changelog#unreleased-%E2%80%94-clmm-limit-orders-single-sided-fee-dynamic-fee
π Program branch: https://github.com/raydium-io/raydium-clmm/tree/feat_limitorder_dynamicfee
π SDK branch: @raydium-io/raydium-sdk-v2 / clmm-dynamic-fee-and-limit-order
π Audit: https://github.com/raydium-io/raydium-docs/tree/master/audit/Sec3%20Q2%202026
Docs updated across: accounts, instructions, fees, math, code-demos, API reference.
β οΈ Breaking Change β PoolState Reshape
Old layout β New layout:
β’ Per-direction volume counters (swap_in/out_amount_token_*) β folded into padding5: [u128; 4]
β’ Lifetime fee counters (total_fees*_token_*) β folded into padding6: [u64; 4]
Total account size is unchanged. Existing pools retain their last values β reading these fields post-upgrade returns stale data. Migrate volume/fee tracking to the Observation ring or API before the upgrade date 18/05
Full Scope: https://t.me/RaydiumDeveloperUpdates/21
π Docs & changelog: https://docs.raydium.io/reference/changelog#unreleased-%E2%80%94-clmm-limit-orders-single-sided-fee-dynamic-fee
π Program branch: https://github.com/raydium-io/raydium-clmm/tree/feat_limitorder_dynamicfee
π SDK branch: @raydium-io/raydium-sdk-v2 / clmm-dynamic-fee-and-limit-order
π Audit: https://github.com/raydium-io/raydium-docs/tree/master/audit/Sec3%20Q2%202026
Docs updated across: accounts, instructions, fees, math, code-demos, API reference.
Telegram
Raydium Developer Updates
π§ Raydium CLMM Program Upgrade going live May 18thβ Full Integrator Brief
Three new features ship together: limit orders, dynamic fee, and single-sided fee. Opt-in at pool creation via CreateCustomizablePool. Fully backwards-compatible β existing pools andβ¦
Three new features ship together: limit orders, dynamic fee, and single-sided fee. Opt-in at pool creation via CreateCustomizablePool. Fully backwards-compatible β existing pools andβ¦
π2
stable-program-upgrade-260611.md
4.8 KB
Stable swap AMM upgrade - 22/06/26 12.00 UTC:
Raydium is simplifying the stable swap amm by removing its dependency on OpenBook, and reducing the number of required accounts.
Few integrators are currently using this program, for those who are, please review the Stable AMM upgrade changes carefully.
The update will be effective on Monday 22 at 12:00 PM UTC. Existing Swap, Deposit, and Withdraw flows using the old account layouts will continue to work for now, but we recommend migrating to the new reduced account layouts as soon as possible. Please note that
More information in the .md.
Upgrade details are available at https://docs.raydium.io/reference/changelog/2026-06-22-stable-amm-openbook-cleanup, our new canonical version ledger.
Raydium is simplifying the stable swap amm by removing its dependency on OpenBook, and reducing the number of required accounts.
Few integrators are currently using this program, for those who are, please review the Stable AMM upgrade changes carefully.
The update will be effective on Monday 22 at 12:00 PM UTC. Existing Swap, Deposit, and Withdraw flows using the old account layouts will continue to work for now, but we recommend migrating to the new reduced account layouts as soon as possible. Please note that
WithdrawPnl is a hard breaking change and must be updated to the new 10-account layout.More information in the .md.
Upgrade details are available at https://docs.raydium.io/reference/changelog/2026-06-22-stable-amm-openbook-cleanup, our new canonical version ledger.