Skip to main content
WSS
/
ws
/
pump-lifecycle

Documentation Index

Fetch the complete documentation index at: https://docs.dexploit.dev/llms.txt

Use this file to discover all available pages before exploring further.

The pump-lifecycle stream pushes a token’s entire pump.fun journey — from the mint_created event, through bonding-curve progress, to graduated (migration to a tradeable pumpswap pool). For one-shot history of the same events, use the REST endpoint GET /pump-lifecycle (under Pump lifecycle in the API reference).

When to use it

  • You want to surface fresh mints the second they appear.
  • You want to alert when a token crosses some bonding-curve threshold.
  • You want to react to graduations as the AMM pool comes alive.
For all post-graduation trading activity (swaps), switch to the main WebSocket: swaps feed once you see a graduated event — the pool only has swap volume after that point.

Endpoint and auth

wss://ws.dexploit.dev/ws/pump-lifecycle
Authenticate the same way as the main WebSocket:
Authorization: Bearer ohlcv_live_sk_<your_key>

# or, for browsers:
wss://ws.dexploit.dev/ws/pump-lifecycle?api_key=ohlcv_live_sk_<your_key>
There is no subscribe step — every connected client receives every lifecycle event. Filter client-side.

Event shapes

Frames are typed by type (note: the REST /pump-lifecycle endpoint uses event_type for the same field — the streaming feed differs intentionally). mint_created — a new pump.fun token is minted; the bonding curve is at 0%.
{
  "type": "mint_created",
  "mint": "AkK37QB3MSaEdz2e5LFt1JuFA1MjSckonnEjW6txpump",
  "ts": 1779279502,
  "creator": "FeFdCVhqVyLizLGWkNkgFm4UhZXgrjq6tkjXpVEKHqSk"
}
completing — the bonding curve hit its threshold and migration is imminent. bonding_pct reads 1.0.
{
  "type": "completing",
  "mint": "GEeJ4hSyQVCZv4TJnM4QZCevEiTn1QBXrCRkDM7Qpump",
  "ts": 1779279513,
  "bonding_pct": 1.0
}
graduated — bonding curve done, AMM pool is live at new_pool. Use that pool address for candles and swap queries from now on.
{
  "type": "graduated",
  "mint": "GEeJ4hSyQVCZv4TJnM4QZCevEiTn1QBXrCRkDM7Qpump",
  "ts": 1779279512,
  "dex": "pumpswap",
  "new_pool": "DyYPN3FsuUjbXspisF4HszHswsuVMV3BxWZ8ALmXAKiF"
}
FieldNotes
typemint_created | completing | graduated.
tsUnix epoch seconds (not ms — different from the swaps feed).
dex / new_poolOnly on graduated.
creatorOnly on mint_created.
bonding_pctOnly on completing (always 1.0).

Minimal TypeScript client

import WebSocket from 'ws'; // browser: use the global WebSocket

const URL = 'wss://ws.dexploit.dev/ws/pump-lifecycle';
const API_KEY = 'ohlcv_live_sk_<your_key>';

let backoff = 1000;

function connect() {
  const ws = new WebSocket(URL, {
    headers: { Authorization: `Bearer ${API_KEY}` },
  });

  ws.on('open', () => { backoff = 1000; });

  ws.on('message', (raw) => {
    const e = JSON.parse(raw.toString());
    switch (e.type) {
      case 'mint_created':
        console.log(`NEW MINT   ${e.mint} by ${e.creator}`);
        break;
      case 'completing':
        console.log(`COMPLETING ${e.mint} (curve at ${e.bonding_pct})`);
        break;
      case 'graduated':
        console.log(`GRADUATED  ${e.mint} → pool ${e.new_pool} (${e.dex})`);
        break;
    }
  });

  ws.on('close', () => {
    setTimeout(connect, backoff);
    backoff = Math.min(backoff * 2, 60_000);
  });

  ws.on('error', () => { /* close will fire next */ });
}

connect();
For pings, idle timeouts, and gap-filling against the REST endpoint, see Reconnect & backpressure.

Programmatic spec

All three WebSocket channels — including this one — are described in a single AsyncAPI 3.0 document. Useful for client codegen or LLM context.
Messages
api_key
type:httpApiKey

?api_key=ohlcv_live_sk_… appended to the connection URL. Browser-friendly; the only option in environments where you can't set headers.

Mint created

A new pump.fun token has been minted. Bonding curve sits at 0%.

Bonding curve completing

The pump.fun bonding curve has reached its threshold and migration to pumpswap is imminent. bonding_pct will read 1.0.

Token graduated to pumpswap

The token has finished bonding and an AMM pool exists at new_pool. Use that pair address on the candles / swaps endpoints.