Meteora Dev Updates
700 subscribers
1 photo
1 video
45 links
Important updates for anyone building with Meteora.

Docs: https://docs.meteora.ag/
Download Telegram
DLMM Program Update containing Dynamic Positions (Extendable & Rebalance Positions) is LIVE

Integrators can start deploying their changes.

Check the Changelog + Pre-announcement here: https://t.me/meteora_dev/26

Happy building ☄️
🔥3👍1
DBC Program Update containing Customizable Graduated Pool Fee (for DAMM v2 graduated pools) is LIVE

You can now specify customizable fees in DBC -> DAMM v2 pools.

feat:
⁃ customizable fees (between 0.01% to 10%)
⁃ dynamic fees (enabled or disabled)
⁃ specify quote only or quote + base token collect fee modes
⁃ Emit new event when partner create a new config key, that includes more information: EvtCreateConfigV2

❗️FOR AUTO MIGRATORS: Migrators needs to check the new value for migration_fee_option, if the value is 6 (Customizable), then need to use the new config key for DammV2 migration (A8gMrEPJkacWkcb3DGwtJwTe16HktSEfvwtuDh2MCtck)

❗️Update your typescript SDK to v1.3.5 to use this latest feature

minor:
- buildCurve, buildCurveWithMarketCap, buildCurveWithTwoSegments, buildCurveWithLiquidityWeights functions now have an optional migrationFeeOption parameter

Full program changelog: https://github.com/MeteoraAg/dynamic-bonding-curve/blob/main/CHANGELOG.md#dynamic_bonding_curve-015-pr-113

Full TS SDK changelog: https://github.com/MeteoraAg/dynamic-bonding-curve-sdk/blob/main/packages/dynamic-bonding-curve/CHANGELOG.md#135---2025-07-31

Summary: https://meteoraag.notion.site/Changelog-Customizable-Graduated-Pool-Fees-219cd1ff21118190be05d05a2c7346e1?pvs=74
🫡3🔥2
DAMM v2 Program Update containing Split LP Position and Changes to EvtInitializeReward is LIVE

You can now dynamically split LP position onchain via the program endpoint.

Added:
⁃ Add new endpoint split_position that allows position's owner to split position.

Changes:
⁃ Update quote function in rust sdk, added a condition for swap enabled

Breaking Changes:
EvtInitializeReward emit more fields: creator, reward_duration_end, pre_reward_rate and post_reward_rate

Full program changelog: https://github.com/MeteoraAg/damm-v2/blob/main/CHANGELOG.md#cp_amm-013

Full TS SDK changelog: https://github.com/MeteoraAg/damm-v2-sdk/blob/main/CHANGELOG.md#damm_v2_sdk-110-pr-59

Summary: https://meteoraag.notion.site/Changelog-Split-LP-Position-241cd1ff211180b5beabfb717689b694?pvs=74
DBC Program Update containing Swap2 is LIVE

You can now process swaps via 3 different swap modes: Exact In, Partial Fill or Exact Out

❗️NOTE: ALL Trading Terminals are to change to swap2`endpoint - `swapMode: 1 (PartialFill)
The previous swap function was a swap ExactIn function that processes swaps based on the exact amount in, not taking into account how much baseMint tokens are left available in the curve to be sold. With swap2, we introduced 2 additional modes, PartialFill and ExactOut that trading terminals can use to accurately process trader swaps without causing traders to overpay for the last swap in the curve due to lack of baseMint tokens.

P.S.: We will not be processing any refund requests from traders who overpaid from DBC last swap, in 1 weeks’ time.

For the DBC Program:

Added:
- Added new endpoint swap2, that includes 3 different swap_mode: 0 (ExactIn), 1 (PartialFill) and 2 (ExactOut)
- Emit new event in 2 swap endpoints EvtSwap2, that includes more information about quote_reserve_amount, migration_threshold and included_fee_input_amount


❗️the previous swap function is still available and all changes are backwards compatible

For the DBC Typescript SDK:

Added:
- Added new endpoint swap2, that includes 3 different swap_mode: 0 (ExactIn), 1 (PartialFill) and 2 (ExactOut)
- Added new endpoint swapQuote2 that includes 3 different swap_mode: 0 (ExactIn), 1 (PartialFill) and 2 (ExactOut) and returns SwapResult2
- Added prepareSwapAmountParam helper that calculates your token amountIn in lamports
- Added getCurrentPoint helper that helps you to getSlot() or getBlockTime() depending on your activationType

Changed:
- swapQuote now returns SwapResult instead of QuoteResult
- Deprecated swapQuoteExactIn
- Deprecated swapQuoteExactOut


Full program changelog: https://github.com/MeteoraAg/dynamic-bonding-curve/blob/main/CHANGELOG.md

Full TS SDK changelog: https://github.com/MeteoraAg/dynamic-bonding-curve-sdk/blob/main/packages/dynamic-bonding-curve/CHANGELOG.md

Summary: https://meteoraag.notion.site/Changelog-Swap2-219cd1ff21118190be05d05a2c7346e1?pvs=74
5
Meteora Dev Updates
DBC Program Update containing Swap2 is LIVE You can now process swaps via 3 different swap modes: Exact In, Partial Fill or Exact Out ❗️NOTE: ALL Trading Terminals are to change to swap2`endpoint - `swapMode: 1 (PartialFill) The previous swap function…
Adding on to the DBC Program Update - Swap2 feature:

ALL trading terminals to take note:

- ensure that you index swap2 and EvtSwap2
- ONLY change the swap ix from swap to swap2 with swapMode: 1 (partialFill) on 22nd August, Friday (9am UTC) (you can test this on mainnet already)

+ For Trading Terminals to take NOTE: it is crucial for all trading terminals to only change their swap ix from `swap` to `swap2` to ensure that the charts across all trading terminals are synchronous

dbc idl: https://github.com/MeteoraAg/dynamic-bonding-curve-sdk/blob/main/packages/dynamic-bonding-curve/src/idl/dynamic-bonding-curve/idl.json

P.S. we will be extending the refunds for last swap till Friday 29th August, 9am UTC
👍2🫡1
Reminder for ALL Trading Terminals integrating our Dynamic Bonding Curve Program to switch to use swap2 and also to index swap2 and EvtSwap2

Because of our high fees in our Anti-Sniper Suite, all trading terminals are encouraged to use the decoded EvtSwap2 instead of transfer IXs to plot their charts.

This is crucial to get the accurate token prices before/after fees depending on trade direction and fee collection modes

The logic to display accurate price charts is as follow:


if excludedFeeInputAmount != includedFeeInputAmount then
-> excludedFeeInputAmount <> outputAmount

if excludedFeeInputAmount == includedFeeInputAmount then
-> excludedFeeInputAmount <> outputAmount + tradingFee + protocolFee + referralFee
🫡5👍2
gmet everyone

as you all know, our DBC program is as customizable as a Subway sandwich.

due to it being fully customizable, we noticed a few bad actors using this customizability to wash trade and create inauthentic trading volume.

we WILL be introducing stricter guardrails on our program by bumping the minimum trading fee to at least 0.25%.

we want to protect our LPers and trench warriors, while still being the most customizable and dynamic liquidity layer for all launchpads to build on top of.

if you are a launchpad building on top of DBC and this update affects you, let me know either via discord ticket or telegram (if u have my tg)
👍8🔥3🫡1
DAMM v2 Program Update containing Swap2, EvtSwap2, and Rate Limiter is COMING SOON

❗️NOTE: This update contains BREAKING CHANGES

📖 View the full announcement is here on discord

📆 ETA: Thursday, 9th October 2025, 11am UTC+8 (in ~1 week)**
Ideally, you should deploy your update a short period before our program deployment (e.g. by 9th October, ~1030am UTC+8)

We’ll notify if the timeline shifts and when the program is deployed.

ALL Trading Terminals are to do the following:

BEFORE Program Update on 9th October 11am SGT:
[1] Swap Quote functions to update to the new quoting logic (containing Rate Limiter).

[2] Index new swap2 endpoint.

[3] Keep the current swap endpoint until program update takes place.

AFTER Program Update on 9th October 11am SGT:
[1] Index new EvtSwap2 event. The new event emits collect_fee_mode, trade_direction, reserve_a_amount and reserve_b_amount.

❗️NOTE: the previous swap function is still available and all changes are backwards compatible

❗️NOTE: we have deployed this in DEVNET for you to test with

Full program changelog: https://github.com/MeteoraAg/damm-v2/blob/122677027a44afbb0ffb4faf9e36cdb44a71a542/CHANGELOG.md#cp_amm-015-pr-122

Full TS SDK changelog: [will be available soon]

Summary: https://meteoraag.notion.site/Changelog-Swap2-EvtSwap2-Rate-Limiter-99-Max-Fee-280cd1ff211180fcb458c52130156ae2?pvs=74
2
📣 REMINDER: DAMM v2 Program Update containing Swap2, EvtSwap2, and Rate Limiter is HAPPENING IN 19 HOURS

📆 ETA: Thursday, 9th October 2025, 11am UTC+8 (in 19 hours)

For all Trading Terminals, please ensure that you have already done the following:

[1] Swap Quote functions to update to the new quoting logic (containing Rate Limiter).

[2] Index new swap2 endpoint.

AFTER the Program Update on 9th October 11am SGT, please ensure that you do the following:

[1] Index new EvtSwap2 event. The new event emits collect_fee_mode, trade_direction, reserve_a_amount and reserve_b_amount.

The logic to index DAMM v2 swaps properly can be seen in this notion document here
1
DAMM v2 Program Update containing Swap2, EvtSwap2, and Rate Limiter is LIVE

For all Trading Terminals, you can now merge your PR to index EvtSwap2 to ensure ur price charts are plotted accurately.

Also ensure that:
⁃ The swap or swap2 endpoint that you are using includes a SYSVAR_INSTRUCTIONS_PUBKEY in remainingAccounts
⁃ Pivot to the new quoting logic (including swap modes ExactIn, PartalFill and `ExactOut`)
⁃ Index the new swap2 endpoint

Full program changelog: https://github.com/MeteoraAg/damm-v2/blob/122677027a44afbb0ffb4faf9e36cdb44a71a542/CHANGELOG.md#cp_amm-015-pr-122

Full TS SDK changelog: https://github.com/MeteoraAg/damm-v2-sdk/blob/7fda441407d3e07301f52bed7903979b55444a4e/CHANGELOG.md#damm_v2_sdk-116-pr-74

Summary: https://meteoraag.notion.site/Changelog-Swap2-EvtSwap2-Rate-Limiter-99-Max-Fee-280cd1ff211180fcb458c52130156ae2?pvs=74
👍1🫡1
DBC Program Update containing Increased Minimum Base Fee and Error Surplus is COMING SOON

📆 ETA: Tuesday, 4th November 2025, 11am UTC+8 (in ~1 week)**

❗️NOTE: This upcoming update contains BREAKING CHANGES for Trading Terminals who are using swap or swap2 (exactIn or exactOut). Instead of taking a surplus for swap modes exactIn or exactOut, the program will return an error if pool.sqrtPrice is more than poolConfig.migrationSqrtPrice.


require!(
next_sqrt_price <= config.migration_sqrt_price,
PoolError::SwapAmountIsOverAThreshold
);


Important Changelogs:

Breaking Changes:
- Swap ExactIn and SwapExactOut won't take surplus for the last swap, instead of returning error if pool.sqrt_price is over migration_sqrt_price
- Changing min base fee from 1 bps (0.01%) to 25 bps (0.25%). Effected to endpoints: create_config, initialize_virtual_pool_with_spl_token and initialize_virtual_pool_with_token2022. Not able to work if min base fee less than 25 bps.

Changed:
- A pool creation fee of 0.01 SOL will be charged if the pool collect_fee_mode is CollectFeeMode::OutputToken and base_mint is token_2022 (endpoint: `initialize_virtual_pool_with_token2022`)
- Migration Fee cap has been increased from 50% to 99%

Deprecated:
- Endpoint migration_damm_v2_create_metadata and migration_metadata account as migrator doesn't need migration_metadata anymore when migrating to a DAMM v2 pool

Full program changelog: https://github.com/MeteoraAg/dynamic-bonding-curve/blob/release_0.1.7/CHANGELOG.md

Full TS SDK changelog: https://github.com/MeteoraAg/dynamic-bonding-curve-sdk/blob/feat/release_0.1.7/packages/dynamic-bonding-curve/CHANGELOG.md

Full Summary: https://meteoraag.notion.site/Changelog-Increased-Minimum-Base-Fee-and-Error-Surplus-29acd1ff211180949d85c3fbf6dcf8f0?pvs=73
🔥2
📣 REMINDER: DBC Program Update containing Minimum Base Fee and Error Surplus is COMING SOON

📆 ETA: Tuesday, 4th November 2025, 11am UTC+8 (in 19 hours)

For all Trading Terminals that are currently using swap or swap2 with ExactIn or ExactOut swap modes, please take note that instead of taking a surplus and succeeding the transaction, the program will return an error if pool.sqrtPrice is more than poolConfig.migrationSqrtPrice. (usually for large buys in bonding curve last swap)

require!(
next_sqrt_price <= config.migration_sqrt_price,
PoolError::SwapAmountIsOverAThreshold
);

Full announcement here: https://t.me/meteora_dev/38
DBC Program Update containing Increased Minimum Base Fee and Error Surplus is LIVE

⁃ Swap ExactIn and SwapExactOut won't take surplus for the last swap, instead of returning error if pool.sqrt_price is over migration_sqrt_price
⁃ Minimum base fee changed from 1 bps (0.01%) to 25 bps (0.25%). Effected endpoints includes: create_config, initialize_virtual_pool_with_spl_token and initialize_virtual_pool_with_token2022. Not able to work if min base fee less than 25 bps.
⁃ A pool creation fee of 0.01 SOL will be charged if the pool collect_fee_mode is CollectFeeMode::OutputToken and base_mint is token_2022 (endpoint: `initialize_virtual_pool_with_token2022`)
⁃ Migration Fee cap has been increased from 50% to 99%
⁃ Migrating DAMM v2 pools now do not require createDammV2MigrationMetadata

❗️For TS SDK users, you can update your Typescript SDK version to v1.4.6 to use the latest features

Full program changelog: https://github.com/MeteoraAg/dynamic-bonding-curve/blob/release_0.1.7/CHANGELOG.md

Full TS SDK changelog: https://github.com/MeteoraAg/dynamic-bonding-curve-sdk/blob/feat/release_0.1.7/packages/dynamic-bonding-curve/CHANGELOG.md

Full Summary: https://meteoraag.notion.site/Changelog-Increased-Minimum-Base-Fee-and-Error-Surplus-29acd1ff211180949d85c3fbf6dcf8f0?pvs=73
👍31
gm

recently some critical security flaws in the React package were flagged out across all React applications.

if you are using [Meteora Invent](https://github.com/MeteoraAg/meteora-invent) scaffold repository, be sure to rebase and bump your "next", "react" and "react-dom" packages based on the updates in the following article. + migrate any secrets

https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components
2🫡2
gmet

DAMM v2 Program Update containing Fee By MarketCap is COMING SOON

📆 ETA: Friday, 26th December 2025, 11am UTC+8

❗️NOTE: This update contains BREAKING CHANGES

Breaking Changes:
⁃ Swap quote function will contain breaking change to include the 2 new fee modes: FeeByMarketCapLinear and FeeByMarketCapExponential
⁃ Events EvtSwap, EvtRemoveLiquidity and EvtAddLiquidity are removed.

Added:
⁃ Add 2 new modes for base fee: FeeByMarketCapLinear and FeeByMarketCapExponential, fee will be reduced when current price increases from initial price

Changed:
⁃ Remove constraints for quote tokens (SOL/USDC), affected endpoints: initialize_pool_with_dynamic_config and initialize_customizable_pool
⁃ Update current pool version to 1, that changes max fee of new created pools to 99%

FULL SUMMARY HERE: https://meteoraag.notion.site/Changelog-Fee-By-MarketCap-2cbcd1ff2111809f8d6fc3f96b5e3e04
4
DLMM Program Update containing Preset Parameter Function Type is COMING SOON

📆 ETA: Friday, 26th December 2025, 11am UTC+8

❗️NOTE: This update contains BREAKING CHANGES

Breaking Changes:
⁃ Bin state no longer store amount_x_in and amount_y_in
⁃ Endpoint set_activation_point doesn't require signer mut anymore

Added:
⁃ Endpoint initialize_customizable_permissionless_lb_pair and initialize_customizable_permissionless_lb_pair2 requires a new field function_type

Changed:
⁃ Remove constraints for quote tokens (SOL/USDC), affected endpoints: initialize_customizable_permissionless_lb_pair and initialize_customizable_permissionless_lb_pair2
⁃ Endpoint close_position doesn't check lp_pair and bin_array_lower and bin_array_upper anymore

FULL SUMMARY HERE: https://meteoraag.notion.site/Changelog-Preset-Parameter-Function-Type-2cbcd1ff2111801d899afd204dc0942c?pvs=73
7
gmet!

the DLMM [release 0.1.1] and DAMM v2 [release 0.1.6] program updates scheduled earlier today are both now live 🙏🏻
👍101
#launchpad

DBC Program Update containing Vested Locked Liquidity and Pool Creation Fee is COMING SOON

📆 ETA: Friday, 16th January 2026, 11am UTC+8 (in ~1 week)**

❗️NOTE: This upcoming update contains BREAKING CHANGES for Launchpad Partners who have 100% unlocked LP liquidity in their graduated DAMM v2 pool. All affected Launchpad Partners are to craft and test their updated DBC config key on DEVNET using the Typescript SDK beta version @meteora-ag/dynamic-bonding-curve-sdk@1.4.10-rc.0 before the program update next week


require!(
config.get_total_liquidity_locked_bps_at_n_seconds(SECONDS_PER_DAY)?
>= MIN_LOCKED_LIQUIDITY_BPS,
PoolError::InvalidMigrationLockedLiquidity
);

// SECONDS_PER_DAY  =  86400 = 1 day
// MIN_LOCKED_LIQUIDITY_BPS = 10% = 1000 bps


Breaking Changes:
- Endpoints: create_config, initialize_virtual_pool_with_spl_token and initialize_virtual_pool_with_token2022 will only allow config that has minimum 10% of locked liquidity in at least 1 day

- migration_damm_v2 endpoint require vesting accounts for first_position and second_position if LP vesting was configured.

Added:
- Add new endpoint claim_partner_pool_creation_fee to allow partners to withdraw the pool creation fee.

- PoolConfig account now stores creator_lp_vesting_info and partner_lp_vesting_info fields. Only applicable to DAMM v2 migration option. It store vesting parameters required for lock_position cpi during DAMM v2 migration.

Changed:
- Allow partners to configure the pool_creation_fee when creating a config. The value is in SOL lamport, so when token creator create pool (throught endpoint initialize_virtual_pool_with_spl_token and initialize_virtual_pool_with_token2022`), they would need to pay `pool_creation_fee in SOL lamport. Later partner would be able to claim that fee (Meteora would take 10% from that fee)

- Allow partners to config partner_lp_vesting_info and creator_lp_vesting_info when creating config key that includes liquidity vesting information if pool is migrated to damm v2 later

Full Summary: https://meteoraag.notion.site/Changelog-Vested-Lock-Liquidity-and-Pool-Creation-Fee-2e3cd1ff21118010af56f3daff676306?pvs=74
6
#launchpad

📣 REMINDER: DBC Program Update containing Vested Locked Liquidity and Pool Creation Fee is COMING THIS WEEK

📆 ETA: Friday, 16th January 2026, 11am UTC+8

❗️NOTE: This upcoming update contains BREAKING CHANGES for Launchpad Partners who have 100% unlocked LP liquidity in their graduated DAMM v2 pool. All affected Launchpad Partners are to craft and test their updated DBC config key on DEVNET using the Typescript SDK beta version @meteora-ag/dynamic-bonding-curve-sdk@1.4.10-rc.0 before the program update this Friday.

In this update, DBC Config Keys will require at least 10% of total liquidity locked+vested at day 1 (86400 seconds) after migration.


require!(
config.get_total_liquidity_locked_bps_at_n_seconds(SECONDS_PER_DAY)?
>= MIN_LOCKED_LIQUIDITY_BPS,
PoolError::InvalidMigrationLockedLiquidity
);

// SECONDS_PER_DAY  =  86400 = 1 day
// MIN_LOCKED_LIQUIDITY_BPS = 10% = 1000 bps


Full Announcement: https://t.me/meteora_dev/46

Full Summary: https://meteoraag.notion.site/Changelog-Vested-Lock-Liquidity-and-Pool-Creation-Fee-2e3cd1ff21118010af56f3daff676306?pvs=74
🔥2