Skip to main content
PumpSwap uses a separate AMM program from the Pump.fun bonding curve. Use this reference to identify its program, decode trades, or construct buy/sell instructions from the IDL.
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

After curve completion, the bonding curve program’s migrate instruction creates the AMM pool.

Anchor IDL

Use the bundled IDL or compare it with the upstream Pump.fun repository:

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:

Bonding curve program

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

Launches and graduations

Track launches and graduations with Solana Tracker APIs.

Swap tokens

Buy and sell without building AMM instructions.

Memescope

Live migrated / PumpSwap token feed.