If you are adding a GitHub recipient as a fee recipient in sharing config, make sure to initialize the social fee pda before adding it as a recipient. Use one of these methods:
import {
Platform,
PUMP_SDK,
} from "@pump-fun/pump-sdk";
// 1) Update an existing sharing config
await PUMP_SDK.updateSharingConfigWithSocialRecipients({
authority,
mint,
currentShareholders,
newShareholders: [
{ address: authority, shareBps: 7000 },
{ userId: "1234567", platform: Platform.GitHub, shareBps: 3000 },
],
});
// 2) Create sharing config + set social recipients in one flow
// - Use pool for graduated coins or null for ungraduated
await PUMP_SDK.createSharingConfigWithSocialRecipients({
creator,
mint,
pool,
newShareholders: [
{ address: creator, shareBps: 7000 },
{ userId: "1234567", platform: Platform.GitHub, shareBps: 3000 },
],
});Method selection:
updateSharingConfigWithSocialRecipients: use when sharing config already exists.createSharingConfigWithSocialRecipients: use for first-time setup (creates config, then updates shares).
✅ Checklist
- The GitHub user must be able to log in to claim fees. GitHub organizations are not supported for social fee recipients; adding an organization account can result in fees being permanently lost.
- Only
Platform.GitHubis supported. Any attempt to use a different platform value can result in the coin being banned or fees lost. - Fees in a GitHub vault can only be claimed by the linked GitHub user, and only through Pump.fun (web or mobile). You are responsible for directing users to claim there; we do not support any claim flow outside our apps.
- You have initialized the social fee recipient pda by using one of the above helper or
createSocialFeePda
⚠️ Breaking Change Announcement — Bonding Curve and Pump Swap Programs on 12:00 UTC, 11 November 2025
MAyhSmzXzV1pTf7LsNkrNwkWKTo4ougAJ1PPg47MD4e
GesfTA3X2arioaHp8bbKdjG9vJtskViWACZoYvxp4twS
4budycTjhs9fD6xw62VBducVTNgMgJJ5BgtKq7mAZwn6,
8SBKzEQU4nLSzcwF4a74F2iaUDQyTfjGndn6qUWBnrpR,
4UQeTP1T39KZ9Sfxzo3WR5skgsaP6NZa87BAkuazLEKH,
8sNeir4QsLsJdYpc9RZacohhK1Y5FLU3nC5LXgYB4aa6,
Fh9HmeLNUMVCvejxCtCL2DbYaRyBFVJ5xrWkLnMH6fdk,
463MEnMeGyJekNZFQSTUABBEbLnvMTALbT6ZmsxAbAdq,
6AUH3WEHucYZyC61hqpqYUWVto5qA5hjHuNQ32GNnNxA
-
BondingCurve and Pool struct size increase
ThebondingCurveaccount now needs to be at least 82 bytes in size (was 81 earlier) and thepoolstructure needs to be 244 bytes (was 243 earlier).
This is because of a new field calledis_mayhem_modeon both structs which is a boolean. If the account lengths are insufficient, the buy and sell instruction will handle the size extension under the hood, no change needed on your end. -
New instruction to create tokens called
create_v2
This instruction will use the Token2022 program for token creations and to host the metadata, instead of Metaplex. -
New fee recipient requirement for mayhem mode coins
For coins which haveis_mayhem_mode = true(on both the bonding curve and pool), the fee recipient that should be passed must be changed.
We will move to a new standard of token creation with a new instruction called create_v2.
This instruction will use the Token2022 program for minting tokens and managing metadata, replacing the legacy Metaplex approach.
The original create instruction will also be active and will be deprecated at a later time (to be announced).
| Index | Account | Change needed | Seeds |
|---|---|---|---|
| 1 | Mint | None | - |
| 2 | Mint Authority | None | "mint-authority" + PUMP_PROGRAM_ID |
| 3 | Bonding Curve | None | "bonding-curve" + mint + PUMP_PROGRAM_ID |
| 4 | Associated Bonding Curve | Token account should now be owned by Token 2022 instead of Legacy Token | Token 2022 owned token account of Bonding curve account |
| 5 | Global | None | "global" + PUMP_PROGRAM_ID |
| 6 | User | None | - |
| 7 | System Program | None | - |
| 8 | Token Program | Pass Token 2022 instead of Legacy Token program | - |
| 9 | Associated Token Program | None | - |
| 10 | Mayhem Program ID | New Static account: MAyhSmzXzV1pTf7LsNkrNwkWKTo4ougAJ1PPg47MD4e |
- |
| 11 | Global Params | New Static account: 13ec7XdrjF3h3YcqBTFDSReRcUFwbCnJaAQspM4j6DDJ |
"global-params" + MAYHEM_PROGRAM_ID |
| 12 | Sol Vault | New Static account: BwWK17cbHxwWBKZkUYvzxLcNQ1YVyaFezduWbtm2de6s |
"sol-vault" + MAYHEM_PROGRAM_ID |
| 13 | Mayhem State | New Account: dependent on the mint | "mayhem-state" + mint + MAYHEM_PROGRAM_ID |
| 14 | Mayhem Token Vault | New Account: Token 2022 owned token account of Sol vault account | - |
- The associated bonding curve account will be owned by the Token2022 program, not the legacy token program.
- The user token account should also be derived with Token2022 instead of the legacy token program.
- There is a new boolean instruction parameter for
create_v2calledis_mayhem_mode. - Pass the token2022 program instead of the legacy token program.
- All coins previously (and in the future) created with the
createinstruction and owned by the legacy token program will haveis_mayhem_modeas false and cannot be changed.
This means you do not have to handle fee recipients differently for such coins, and existing trade instructions will work as they are.
Any new coin created with create_v2 can have is_mayhem_mode as true or false.
- If it’s false, the trade accounts required do not change.
- If it’s true, you need to pass a different fee_recipient for both buys and sells.
- Pump Swap: 10th account → should be Mayhem fee recipient
- Bonding Curve: 2nd account → should be Mayhem fee recipient
The Protocol Fee Recipient Token Account at account index 11 of Pump Swap should be the WSOL token account of Mayhem fee recipient.
This new fee recipient for mayhem mode coins can be found from:
- The Global account on Bonding Curve, and the GlobalConfig account on Pump Swap,
as any one of the fields in:reserved_fee_recipientandreserved_fee_recipients
| Change | Action Required |
|---|---|
Introduction of create_v2 |
Update creation flow to use create_v2 instruction with Token2022 program |
Fee recipient handling for is_mayhem_mode = true coins |
Pass Mayhem fee recipient as the fee recipient at specified account indexes (Pump Swap: 10, Bonding Curve: 2). Ensure protocol fee token account (index 11) is the WSOL account of Mayhem fee recipient for pump swap |
- Migrate to
create_v2for new tokens - For mints owned by token2022, ensure you're passing the right associated bonding curve, user token account and token program
- Handle
is_mayhem_mode = trueby setting the correct fee recipient - Confirm fee recipient WSOL token account configuration
⚙️ Summary:
create_v2introduces Token2022-based token creation and optional mayhem mode.- Mayhem mode coins require a different fee recipient (Mayhem fee recipient) configured per program indices.