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
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
#launchpad

DBC Program Update containing Market Cap Fee Scheduler and First Swap with Min Fee is COMING SOON

📆 ETA: Wednesday, 4th February 2026, 11am UTC+8

❗️NOTE: This upcoming update contains BREAKING CHANGES for Launchpad Partners who are parsing/indexing the EvtPartnerClaimPoolCreationFee event. All affected Launchpad Partners are to update their event deserialization to include the new fee_receiver field and test using the Typescript SDK version @meteora-ag/dynamic-bonding-curve-sdk@1.5.2 before the program update.

Breaking Changes:
EvtPartnerClaimPoolCreationFee event now includes a fee_receiver field. Partners parsing/indexing this event must update their deserialization.

Added:
- New migrated_pool_base_fee_mode and MigratedPoolMarketCapFeeSchedulerParams fields in create_config to allow partners to configure a market cap-based fee scheduler for graduated DAMM v2 pools. Instead of a fixed fee after migration, the pool fee dynamically adjusts based on the token's price movement (market cap growth). Two modes available: Linear (mode 3) and Exponential (mode 4).

- New enable_first_swap_with_min_fee field in create_config to allow pool creators to initialize a pool and perform their first buy in a single transaction at the minimum base fee, bypassing anti-sniper fees on that first swap only.

Changed:
- When enable_first_swap_with_min_fee is enabled in the config, swap and swap2 endpoints require SYSVAR_INSTRUCTIONS_PUBKEY in remaining accounts. The program uses this to verify that the transaction contains a pool initialization instruction before the swap. Only the very first swap on a newly created pool within the same transaction will receive the minimum base fee. All subsequent swaps are charged normal fees. The SDK handles passing this account automatically.

- A protocol migration fee of 0.2% (20 bps) is now charged upon migration. It takes a cut from the liquidity being migrated to the graduated pool.

SDK (v1.5.1-rc.0):
- New getStartingBaseFeeBpsFromBaseFeeParams helper to automatically derive the starting base fee from the pool's baseFeeParams.

Full Summary:
https://meteoraag.notion.site/Changelog-Market-Cap-Fee-Scheduler-and-First-Swap-with-Min-Fee-2f8cd1ff21118091a75ff67c04f598dd?pvs=74
👍2
#launchpad

We've launched Bedrock, a new framework to build tokenized equity on Solana.

https://x.com/0xSoju/status/2018371205083132068

Bedrock is our attempt to give tokens more rights, as we move towards a fully ICM future.

We're happy to work with you to see how Bedrock best fits into your business, reach out to Soju or the rest of the Meteora team for more info
4🔥3👏2