Skip to main content
Reference for the Pump.fun AMM (PumpSwap) program used after a token graduates from the bonding curve: official program ID, Anchor IDL, and buy / sell instruction discriminators. For pre-graduation curve trading, see the Pump.fun bonding curve program. Solana Tracker market filter for these pools: pumpfun-amm.
Need swaps without assembling AMM accounts? Use the Raptor Swap API — it routes graduated Pump.fun tokens through PumpSwap and other DEXes.

Official program IDs

Well-known accounts

Tokens reach this program via the bonding-curve migrate instruction after the curve completes.

Anchor IDL

Download the official Anchor IDL (mirrored from pump-fun/pump-public-docs):

Instruction discriminators

AMM buy / sell use the same Anchor sighashes as bonding-curve buy / sell. Disambiguate by program ID: pAMMBay… (AMM) vs 6EF8rrecth… (curve).

Detect AMM buy vs sell in Rust


buy instruction

Args Accounts

sell instruction

Args Accounts — same shape as buy through coin_creator_vault_authority (indices 0–18), then fee_config (19) and fee_program (20). Sell does not pass the volume accumulator accounts.

Buy / sell with @solana/web3.js

Live PumpSwap buy instructions often append remaining accounts after the 23 IDL accounts (observed +3 on mainnet). sell may append +2. Base mints are frequently Token-2022 (TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb) while quote is WSOL on the legacy token program. Decode the pool with /idl/pump_amm.json or copy accounts from a recent successful swap before mainnet use.

Easier path: Raptor + Data API


Stream & index with Solana Tracker

Docs:

Pump.fun program

Bonding curve program ID, IDL, create/buy/sell discriminators.

Pump.fun lifecycle

Track launches and graduations with Solana Tracker APIs.

Swap API

Buy and sell without building AMM instructions.

Memescope

Live migrated / PumpSwap token feed.