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
βœ… New API endpoints for DAMM v1 and DAMM v2

We will continue to maintain the old endpoints as well for approximately ~2 weeks to facilitate this transition. But please switch to the new API endpoints as soon as possible. Thank you!

DAMM v1 API
New endpoints
- Mainnet: https://damm-api.meteora.ag/swagger-ui/
- Devnet: https://damm-api.devnet.meteora.ag/

Old endpoints (deprecated soon)
- Mainnet: https://amm-v2.meteora.ag/swagger-ui/
- Devnet: https://devnet-amm-v2.meteora.ag/

DAMM v2 API
New endpoints
- Mainnet: https://dammv2-api.meteora.ag/swagger-ui/
- Devnet: https://dammv2-api.devnet.meteora.ag/

Old endpoints (deprecated soon)
- Mainnet: https://cp-amm-api.meteora.ag/swagger-ui/

You can view Meteora's main API endpoints here: https://docs.meteora.ag/resources/meteora-apis
πŸ‘7
βœ… DAMM v2 Program Update containing Permissionless Liquidity Management (Farming Rewards) is LIVE

Pool creators can now permissionlessly set up a DAMM v2 Pool Farm

Added:
⁃ Pool state add a new field creator, that records address for pool creator

Changes:
⁃ Allow pool creator to initialize reward at index 0 permissionlessly

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

Summary: https://meteoraag.notion.site/Changelog-Permissionless-Rewards-21fcd1ff211180959426f3b16c1968e0?pvs=74
πŸ”₯5
βœ… DBC Program Update containing Token Update Authority and Mint Authority is LIVE

You can now specify mutable / immutable token metadata authority and mint authority

feat:
- added 3 new options: PartnerUpdateAuthority [2], CreatorUpdateAndMintAuthority [3], PartnerUpdateAndMintAuthority [4]

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

minor:
- CollectFeeMode enums in TS SDK changed from QuoteOnly and Both to QuoteToken and OutputToken

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

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

Summary: https://meteoraag.notion.site/Changelog-Token-Update-Authority-and-Mint-Authority-219cd1ff21118190be05d05a2c7346e1
❀4
βœ… DLMM Program Update containing Dynamic Positions (Extendable & Rebalance Positions) is GOING LIVE THIS WEEK

This week, we are rolling out a major update to the DLMM program - Dynamic Positions. This update will allow liquidity providers to increase or decrease their DLMM position length, as well as rebalance their DLMM position dynamically.

NOTE: Integrators can start to prepare for the upcoming deployment. After we execute the program, we will update you again and you can pump the changes.

Added:
⁃ Endpoint claim_fee and claim_fee2 emit event ClaimFee2Event, that includes active_bin_id.
⁃ Endpoint claim_reward and claim_reward2 emit event ClaimReward2Event, that includes active_bin_id.
⁃ Add new endpoints increase_position_length and decrease_position_length, that helps to modify the position's length.
⁃ Add new endpoint rebalance_liquidity, that help position's owner to manage position better (can combine multiple modifying liquidity instructions and resize position underneath).

Changes:
⁃ Update to anchor 0.31.1 and solana 2.1.*
⁃ Support dynamic position, new position bin data will be added in extended bytes data of position account, can support up to 1400 bin data in a position account.
⁃ Remove the constraints 70 bins in endpoints add_liquidity_by_strategy, add_liquidity_by_weight, add_liquidity_by_weight_one_side
⁃ Endpoint initialize_bin_array_bitmap_extension won't return error if the bitmap_extension account has been initialized.

Full typescript SDK changelog: https://github.com/MeteoraAg/dlmm-sdk/blob/feat/extendable-position/CHANGELOG.md#meteora-agdlmm-160---pr-196

Summary: https://meteoraag.notion.site/Changelog-Dynamic-Positions-233cd1ff211181c8922be4d7989330db
πŸ”₯7πŸ‘1πŸ’―1
βœ… 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
πŸ‘3❀1