Launch and trade memecoins on Solana
Pump lets anyone create coins, giving everyone equal access to buy and sell from the start. These docs cover the programs, instructions and SDKs behind it.
Three programs, one protocol
All three are deployed at the same addresses on Mainnet and Devnet, and every instruction is permissionless.
Creates Token-2022 coins that are instantly tradeable on a constant-product curve with synthetic reserves — no liquidity seeding, no listing step.
Program ID
6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6PPDAs
- Global
- ["global"]
- BondingCurve
- ["bonding-curve", mint]
- CreatorVault
- ["creator-vault", creator]
- UserVolumeAccumulator
- ["user_volume_accumulator", user]
The AMM graduated coins migrate into. Pools, liquidity and swaps, priced against effective quote reserves with LP, protocol and creator fees.
Program ID
pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEAPDAs
- GlobalConfig
- ["global_config"]
- Pool
- ["pool", index, creator, base_mint, quote_mint]
- LP mint
- ["pool_lp_mint", pool]
- CreatorVault
- ["creator_vault", coin_creator]
Market-cap based fee tiers shared by curves and canonical pools, plus creator fee sharing across multiple recipients.
Program ID
pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZPDAs
- FeeConfig
- ["fee_config", program_id]
- SharingConfig
- ["sharing-config", base_mint]
The life of a coin
Create
create_v2 mints a Token-2022 coin with 6 decimals and initializes its bonding curve. Pair it with SOL or USDC.
Trade
buy_v2 and sell_v2 price against the curve's virtual and real reserves through one unified account interface.
Graduate
When real token reserves hit zero the curve is complete and ready to migrate.
Migrate
Anyone can call migrate. Liquidity moves into a canonical PumpSwap pool and the LP tokens are burnt.
Ship with the SDKs
First-party TypeScript and Rust clients implement the dynamic fee math, PDA derivations and account ordering the programs expect. Raw Anchor IDLs are published too, if you would rather build instructions yourself.
npm install @pump-fun/pump-sdk @pump-fun/pump-swap-sdk
import { PUMP_SDK } from "@pump-fun/pump-sdk";
const buyInstruction = await PUMP_SDK.getBuyV2InstructionRaw({
user,
mint,
creator,
amount: new BN(100_000 * 10 ** 6),
quoteAmount: new BN(1_000_000_000),
tokenProgram: TOKEN_2022_PROGRAM_ID,
quoteMint: NATIVE_MINT,
quoteTokenProgram: TOKEN_PROGRAM_ID,
feeRecipient,
buybackFeeRecipient,
});
Where Pump lives
One protocol, several surfaces — and the accounts that ship updates for each of them.
pump.fun
Create a coin and trade it from the moment it exists. Equal access to buy and sell from block one.
trade.padre.gg
The multichain trading terminal — limit orders, copy trading, tracked dev highlights and the highest cashback in the market.
pump.fun/live
Livestreams from the trenches, plus clips of top streamers and the viral moments worth catching up on.
github.com/pump-fun
The org behind the protocol: public docs, Anchor IDLs, the carbon indexing framework and agent skills.