Pump Developer Updates – Telegram
Pump Developer Updates
5.87K subscribers
1 file
15 links
Updates regarding all technical related changes that may affect integrations
Download Telegram
Pump Developer Updates
Hello! Effective Monday, September 1st, both Pump and PumpSwap programs will require 2 additional readonly accounts for all buy and sell transactions. Required Changes: Pump program (6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P): - Buy instruction: Add accounts…
Hello. We reverted the program changes from the previous message, but we will re-apply the updates tomorrow at 20:00 UTC.

It's important to note the changes described in the message above still need to be implemented and can be done from now, as they only require appending 2 new accounts on buy / sell instructions in both programs.

The updated programs are already deployed on Devnet. You can check that the same integration code works on Devnet and Mainnet before we re-apply the update from the previous message.

The reason so many integrations had problems with this program update is that they have added unused input accounts to buy / sell instructions at the new indexes. You need to remove those accounts or replace them with the 2 new required ones from the update above. As they are currently not used, they will not break anything.

A common pitfall is that integrations added the accumulator accounts to both buy and sell transactions, even if we have specified adding them ONLY on buy instructions.

The latest IDL for both programs is deployed everywhere (including on chain) and as part of our SDKs:
- https://www.npmjs.com/package/@pump-fun/pump-sdk
- https://www.npmjs.com/package/@pump-fun/pump-swap-sdk
- https://github.com/pump-fun/pump-public-docs/tree/main/idl
Screenshot 2025-08-29 at 3.38.58 PM.png
165.1 KB
Hello. We pushed again the update to both Pump and PumpSwap programs which adds the 2 new additional accounts on buy / sell.

On Monday, September 1, 20:00 UTC, these 2 accounts will become mandatory and the programs fee structure will change from the existing one to a dynamic fee structure depending on the current coin market cap.

The new fee structure code is present in both our Typenoscript SDKs:
- https://www.npmjs.com/package/@pump-fun/pump-sdk?activeTab=code
- https://www.npmjs.com/package/@pump-fun/pump-swap-sdk?activeTab=code

All technical details about this update can be found here: https://github.com/pump-fun/pump-public-docs/blob/main/docs/FEE_PROGRAM_README.md

We will use the attached fee tiers structure starting from Monday.

In order to avoid possible issues created by the new fee structure, until you make sure it's implemented correctly, you can increase the slippage tolerance on buy / sell instructions as a temporary mitigation.
Pump Developer Updates
Screenshot 2025-08-29 at 3.38.58 PM.png
Hello. We already pushed on Devnet the update which makes the 2 new fee accounts on buy / sell required. This will be pushed to Mainnet on Monday too.
Hi all, today at 20:00 UTC we will deploy a change that makes the two additional accounts for the new fee structure mandatory — these accounts are currently optional. Shortly after verifying that this works we will deploy the fee schedule change outlined above. There will be 1 hour of notice before the fee schedule changes go live.
Pump Developer Updates
Screenshot 2025-08-29 at 3.38.58 PM.png
Hello. The new fee schedule from here has been deployed on Devnet already and can be tested there
The pump bonding curve contract and the pump swap contract were upgraded earlier today at: October 17, 2025 16:47:00 UTC. It was a routine upgrade with no breaking changes.
Hi all, we will be doing a breaking program upgrade on pump swap on Tuesday, 4th November, 14:00 UTC. As part of the change, we require you to mark the pool account at account index 1 in pump swap buys and sells as mutable ( as opposed to readonly ). Please make the changes as soon as possible, your integration will not break if you make it mutable before we do the program upgrade.

IDL change for reference: https://github.com/pump-fun/pump-public-docs/commit/ff9cbf8238b4e459864fed415465cc8163113d1c


SDK version with update: @pump-fun/pump-swap-sdk@1.9.0
The pump bonding curve contract and the pump swap contract were upgraded earlier today at: November 5, 5:02pm UTC. The bonding curve upgrade was a routing upgrade with no breaking changes but Pump swap has breaking changes as mentioned earlier.
Hi all, On 11th November at 12:00 UTC, we will enable 2 new breaking features.
1. New token creation standard with token2022 called create_v2
2. Mayhem Mode

Please refer here for the updated IDLs and IDL types: https://github.com/pump-fun/pump-public-docs

Please note:
1. Any coin created with the usual create instruction and owned by the legacy token program can be traded the same way as before. This is not a breaking change for trading or creating such coins, you can continue to use the same accounts and instruction data.
2. Any new coin created after 11th November at 12:00 UTC with create_v2 will be owned by the Token2022 program. Creating and trading such accounts will need changes as described here: https://github.com/pump-fun/pump-public-docs/blob/main/README.md

Program is updated on devnet for testing with both features enabled.

SDKs for both bonding curve and pump swap are updated

https://www.npmjs.com/package/@pump-fun/pump-sdk
https://www.npmjs.com/package/@pump-fun/pump-swap-sdk
Hi all, Mayhem mode and create v2 will now be enabled on 12th November 12:00 UTC instead of 11th November.
Hi all,

We have pushed a non breaking program upgrade on the bonding curve and pump swap program.
Changes as part of this upgrade:

1. The global_volume_accumulator account on the buy instruction of bonding curve and pump swap do not need to be mutable anymore.
2. New fee recipients for mayhem mode: We have introduced 7 new fee recipients that can be used for the buy and sell instruction that can be used when bonding_curve.is_mayhem_mode = true and pool.is_mayhem_mode = true. They can be found in the global and global_config accounts in bonding curve and pump swap respectively.

Any of the following 8 fee recipients can now be used:
[
'GesfTA3X2arioaHp8bbKdjG9vJtskViWACZoYvxp4twS',
'4budycTjhs9fD6xw62VBducVTNgMgJJ5BgtKq7mAZwn6',
'8SBKzEQU4nLSzcwF4a74F2iaUDQyTfjGndn6qUWBnrpR',
'4UQeTP1T39KZ9Sfxzo3WR5skgsaP6NZa87BAkuazLEKH',
'8sNeir4QsLsJdYpc9RZacohhK1Y5FLU3nC5LXgYB4aa6',
'Fh9HmeLNUMVCvejxCtCL2DbYaRyBFVJ5xrWkLnMH6fdk',
'463MEnMeGyJekNZFQSTUABBEbLnvMTALbT6ZmsxAbAdq',
'6AUH3WEHucYZyC61hqpqYUWVto5qA5hjHuNQ32GNnNxA'
]


Updated IDLs can be found here: https://github.com/pump-fun/pump-public-docs
Hi, we will be pushing an update to our programs on Fri Jan 9, afternoon UTC.

This update will make some coins' creator_vault point to new addresses. To ensure buy and sell instructions work seamlessly, always fetch the latest creator on-chain. Do not use cached addresses for bonding_curve.creator or pool.coin_creator.

The derivation logic remains the same, so no code changes are needed if you're already fetching fresh data.

### Pre-Graduation Coins (Bonding Curve)
const bondingCurve = await pumpProgram.account.bondingCurve.fetch(bondingCurvePda);
const creatorVault = PublicKey.findProgramAddressSync(
[Buffer.from("creator-vault"), bondingCurve.creator.toBuffer()],
PUMP_PROGRAM_ID
)[0];

### Graduated Coins (AMM Pool)const pool = await pumpAmmProgram.account.pool.fetch(poolPda);
const coinCreatorVaultAuthority = PublicKey.findProgramAddressSync(
[Buffer.from("creator_vault"), pool.coinCreator.toBuffer()],
PUMP_AMM_PROGRAM_ID
)[0];

If you already fetch the latest bonding_curve.creator and pool.coin_creator from the chain before building your buy and sell instructions, no code changes are needed.
# Creator Rewards Sharing - Developer Update

## Overview

Creator Rewards Sharing allows token creators to split their creator fees with multiple recipients. Instead of all fees going to a single wallet, creators can configure a list of shareholders with custom percentage splits.

## Dynamic creator_vault Address
This update will make some coins' creator_vault point to new addresses. To ensure buy and sell instructions work seamlessly, always fetch the latest creator on-chain. Do not use cached addresses for bonding_curve.creator or pool.coin_creator.

The derivation logic remains the same, so no code changes are needed if you're already fetching fresh data.

### Pre-Graduation Coins (Bonding Curve)

const bondingCurve = await pumpProgram.account.bondingCurve.fetch(bondingCurvePda); const creatorVault = PublicKey.findProgramAddressSync( [Buffer.from("creator-vault"), bondingCurve.creator.toBuffer()], PUMP_PROGRAM_ID )[0];


### Graduated Coins (AMM Pool)

const pool = await pumpAmmProgram.account.pool.fetch(poolPda); const coinCreatorVaultAuthority = PublicKey.findProgramAddressSync( [Buffer.from("creator_vault"), pool.coinCreator.toBuffer()], PUMP_AMM_PROGRAM_ID )[0];


## How Fee Distribution Works
1. Fees accumulate in the creator_vault during buy/sell transactions as before
2. Creator enables sharing by calling create_fee_sharing_config - this changes the coin_creator field to the sharing_config PDA
3. Creator configures shareholders via update_fee_shares with addresses and basis points (must total 10,000 bps = 100%)
4. Fees are distributed by calling distribute_creator_fees on the pump program, which splits the vault balance to shareholders based on their share percentages

## Testing
Here are some examples coins with creator rewards sharing enabled:
- Cmzo3D5XwdzC2jzAbb4x8kJinyHAbHBM9s58kd8Tpump (pump)
- 5x9nfwrY4DywKNANjorjLFEJkXjut1iPSYXDgbTS1PG9Bqa4rKbnZPkJj55UqiHLWLLBn1XGHJZmtd6rAxycwyB7 (pump-amm)
* pump-public-docs has been updated with all the latest IDLs
* SDKs updated at: https://www.npmjs.com/package/@pump-fun/pump-sdk and https://www.npmjs.com/package/@pump-fun/pump-swap-sdk
Cashback Rewards allows token creators to create coins with "cashback" enabled which redirects the creator fee to the users. Each user would get the creator fee on their swap volume as cashback rather than paying that fee to the coin creator.

This is a backwards compatible change, so if you do not update to the latest IDsL/SDKs it will work but cashback will not be enabled.

## Integration

You can also use our Typenoscript SDKs for easier integration:
- [Pump SDK](https://www.npmjs.com/package/@pump-fun/pump-sdk)
- Latest version is 1.28.0
- [PumpSwap SDK](https://www.npmjs.com/package/@pump-fun/pump-swap-sdk)
- Latest version is 1.14.0
- IDLS: https://github.com/pump-fun/pump-public-docs/tree/main/idl
- Docs: https://github.com/pump-fun/pump-public-docs/blob/main/docs/PUMP_CASHBACK_README.md

## Changes to Instructions

Cashback is only given to the user if the buy/sell instruction appends the proper remaining accounts.
If the coin traded is a cashback coin but the cashback remaining accounts are now added, then the creator fee will
go to the creator as it normally would.

### Bonding Curve Buy Instructions
No change. Cashback is handled automatically if the coin has cashback enabled.

### Bonding Curve Sell Instruction
Expects the UserVolumeAccumulator PDA for the Pump program at the 0th index in the remaining accounts with isWritable: true

### Pump Swap Buy Instruction
Expects the WSOL associated token account of the UserVolumeAccumulator for the Pump AMM program (this is different than same account for the Pump program) at the 0th index of the remaining accounts.

### Pump Swap Sell Instruction
Expects the WSOL associated token account of the UserVolumeAccumulator for the Pump AMM program (this is different than same account for the Pump program) at the 0th index of the remaining accounts.

Expects the UserVolumeAccumulator for the Pump AMM Program (used to derive the WSOL ATA above) at the 1st index of the remaining accounts.

### Create V2
New parameter expected for create_v2 instruction which is an OptionBool to define whether the coin has cashback enabled or not.
In typenoscript this is a tuple, so it would look like [true].

### Bonding Curve Claim Cashback
New claim_cashback instruction for the Pump program.
No parameters needed. It transfers native lamports from the UserVolumeAccumulator to the user.

### Pump Swap Claim Cashback
New claim_cashback instruction for the Pump AMM program.
No parameters needed. It transfers WSOL from the WSOL ATA of the UserVolumeAccumulator to the user's WSOL ATA.
The user's WSOL ATA is expected to exist before hand, so use "create idempotent associated token account" instruction before the claim instruction if need be.

## Account Changes

### Bonding Curve
New is_cashback_coin: bool field on the BondingCurve account.

## Reading Unclaimed Cashback
It is important to note that there is an UserVolumeAccumulator account for both the Pump (bonding curve) program and Pump Swap (AMM) program.
They share a seed "user_volume_accumulator" with the program ID being the only difference in its seeds.
🚨 PROGRAM UPGRADE: NEW REQUIRED ACCOUNTS 🚨

We pushed a program upgrade that requires 1 extra account for an upcoming feature on BOTH:
• Bonding Curve program
• Pump Swap AMM program

These additions are REQUIRED for BOTH cashback + non-cashback coins.


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🆕 NEW PDAs TO DERIVE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1) Bonding Curve v2 PDA
• Seeds: ["bonding-curve-v2", mint]
• Program ID: Bonding Curve program id

2) Pool v2 PDA
• Seeds: ["pool-v2", base_mint]
• Program ID: Pump AMM program id


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CASE A) If you have done ALL cashback-related changes
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Bonding Curve program:
• For: buy / buy_exact_in / sell
→ Append: bonding_curve_v2 (readonly)
→ Placement: AT THE END of the account list

Pump AMM program:
• For: buy / buy_exact_in / sell
→ Append: pool_v2 (readonly)
→ Placement: AT THE END of the account list

NOTE: Required for BOTH cashback + non-cashback coins.


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CASE If you have NOT done ALL cashback-related changes
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Placement rule:
• Add the new accounts AFTER the fee program
(i.e. AFTER the FINAL account in the IDL)


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ACCOUNT ADDITIONS MATRIX
(AFTER FEE PROGRAM / FINAL IDL ACC)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1) BONDING CURVE
────────────────────────────
Cashback coins:
• buy
+ bonding_curve_v2 (readonly)

• buy_exact_in
+ bonding_curve_v2 (readonly)

• sell
+ user_volume_accumulator (mutable)
+ bonding_curve_v2 (readonly)


Non-cashback coins:
• buy
+ bonding_curve_v2 (readonly)

• buy_exact_in
+ bonding_curve_v2 (readonly)

• sell
+ bonding_curve_v2 (readonly)


2) PUMP SWAP AMM
────────────────────────────
Cashback coins:
• buy
+ user_volume_accumulator WSOL ATA (mutable)
+ pool_v2 (readonly)

• buy_exact_in
+ user_volume_accumulator WSOL ATA (mutable)
+ pool_v2 (readonly)

• sell
+ user_volume_accumulator WSOL ATA (mutable)
+ user_volume_accumulator (mutable)
+ pool_v2 (readonly)


Non-cashback coins:
• buy
+ pool_v2 (readonly)

• buy_exact_in
+ pool_v2 (readonly)

• sell
+ pool_v2 (readonly)