PumpSwap AMM IDL

pumpswapv0.1.0DEX / AMM
Program Address
pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA
On-chain

PumpSwap AMM is the native automated market maker built by Pump.fun for graduated tokens. Provides liquidity pools with buy/sell/deposit/withdraw operations, volume tracking, and token incentive distribution programs.

25
Instructions
7
Accounts
22
Events
34
Types

Instructions

admin_set_coin_creatoradmin_update_token_incentivesbuybuy_exact_quote_inclaim_cashbackclaim_token_incentivesclose_user_volume_accumulatorcollect_coin_creator_feecreate_configcreate_pooldepositdisable+13 more

Account Types

BondingCurveFeeConfigGlobalConfigGlobalVolumeAccumulatorPoolSharingConfigUserVolumeAccumulator

Events

AdminSetCoinCreatorEventAdminUpdateTokenIncentivesEventBuyEventClaimCashbackEventClaimTokenIncentivesEventCloseUserVolumeAccumulatorEventCollectCoinCreatorFeeEventCreateConfigEvent+14 more

Integration Examples

Use the PumpSwap AMM IDL in your application with these code examples for TypeScript, Rust, and Python.

import { Connection, PublicKey } from "@solana/web3.js";
import { Program, AnchorProvider, Idl } from "@coral-xyz/anchor";

// Load the PumpSwap AMM IDL
import idl from "./pumpswap amm.json";

const PROGRAM_ID = new PublicKey("pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA");

// Set up the provider and program
const connection = new Connection("https://api.mainnet-beta.solana.com");
const provider = new AnchorProvider(connection, wallet, {
  commitment: "confirmed",
});
const program = new Program(idl as Idl, provider);

// Fetch and decode an account
const accountData = await program.account.pumpSwap_AMM
  .fetch(accountPublicKey);
console.log("Account data:", accountData);

// Build and send an instruction
const tx = await program.methods
  .initialize(/* ...args */)
  .accounts({
    /* ...required accounts */
  })
  .rpc();
console.log("Transaction signature:", tx);

IDL JSON Preview

pumpswap amm.json
{
  "address": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA",
  "metadata": {
    "name": "pump_amm",
    "version": "0.1.0",
    "spec": "0.1.0",
    "description": "Created with Anchor"
  },
  "instructions": [
    {
      "name": "admin_set_coin_creator",
      "docs": [
        "Overrides the coin creator for a canonical pump pool"
      ],
      "discriminator": [
        242,
        40,
        117,
        145,
        73,
        96,
        105,
        104
      ],
      "accounts": [
        {
          "name": "admin_set_coin_creator_authority",
          "signer": true,
          "relations": [
            "global_config"
...

Frequently Asked Questions

What is the PumpSwap AMM IDL?

The PumpSwap AMM IDL (Interface Definition Language) is a JSON schema that defines the on-chain program interface for the PumpSwap AMM smart contract on Solana. It describes all available instructions, account structures, events, and custom types that developers need to interact with the PumpSwap AMM program. This IDL contains 25 instructions, 7 account types, 22 events, and 34 type definitions.

How do I use the PumpSwap AMM IDL in my project?

Download the JSON file and import it in your project. With TypeScript, use the @coral-xyz/anchor package to create a Program instance. In Rust, use anchor-client. For Python, use anchorpy. See the integration examples above for complete code snippets in all three languages.

What is the PumpSwap AMM program address on Solana?

The PumpSwap AMM program is deployed at address pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA on Solana mainnet. You can verify this on any Solana block explorer.

What version of the PumpSwap AMM IDL is this?

This is version 0.1.0 of the PumpSwap AMM IDL. IDL versions correspond to specific program deployments and may be updated as the protocol evolves. Always verify compatibility with the on-chain program version before integrating.