Skip to main content
This guide builds a long-running listener for every new Pump.fun token. It filters on the two instructions Pump.fun uses to launch a token, and stays connected across idle timeouts and deploys.
1

Look Up the Program

Pump.fun launches tokens through two instructions depending on version: create and create_v2. Confirm the exact names and account roles with describeProgram before filtering on them:
Request
Check the response’s instructions list for create and create_v2, and its roles list for the account you want — typically the new mint address, and either a creator account role or a creator field in args. The two instruction versions don’t necessarily share a shape, which is why the code below checks both an arg and a couple of role names rather than assuming one.
2

Build the Filter

Filter on the program and both instruction names. Leave includeCpi on — Pump.fun’s create/create_v2 are usually top-level, but this is cheap insurance — and exclude failed transactions since a failed deploy never produces a live mint:
3

Connect with a Reconnect-Safe Client

A deploy tracker is a long-running process, so treat disconnects as routine rather than exceptional: watchdog the initial handshake, keep the connection alive on a quiet filter, and reconnect automatically on close.
pumpfun-deploys.js
This uses a fixed 3-second reconnect delay for simplicity. For a production listener, back off exponentially instead — see Handling Reconnects.
4

Handle Notifications and Log Each Deploy

Route incoming messages by id (your own requests) or method (server-pushed notifications), then pull the mint, creator, and metadata out of the decoded instruction:
Because includeFailed is false, every notification you log is a token that actually deployed. Check ix.decoded is present before trusting args and accounts — an unrecognized build of the Pump.fun program arrives with decoded: null and would otherwise show up as mint: null.

Next Steps

Track Jupiter Swaps

The describeProgram → build filter → subscribe flow in more detail.

Handling Reconnects

Exponential backoff and slot-gap backfill for long-running listeners.

Fetch Pump.fun Mints

The historical version: page through a creator’s past deploys with Parsed Events.