PaydayAPI
Guides

Which coins are Payday's

Follow the registry and check mints in bulk.

A Payday coin is a pump.fun coin. Its address ends in pump like every other and nothing in the address marks it. The registry is how you tell them apart: every Payday coin on Solana in the order it was registered, each with a number (seq) that only grows.

Follow it

  1. Read it once from the start, 1,000 coins a page, until has_more is false. Keep the last next_cursor.
  2. Every few seconds, call it again with that cursor. You get only the coins registered since, and a new cursor. With nothing new the list is empty and the cursor is the same.
const KEY = process.env.PAYDAY_KEY, BASE = "https://payday.direct/api/v1";
let cursor = null; const seen = new Map();
async function follow() {
  for (;;) {
    const url = BASE + "/registry?limit=1000" + (cursor ? "&cursor=" + cursor : "");
    const r = await fetch(url, { headers: { Authorization: "Bearer " + KEY } });
    if (r.status === 429) { await sleep(1000 * Number(r.headers.get("Retry-After") || 1)); continue; }
    const j = await r.json();
    for (const c of j.data) seen.set(c.mint, c);
    cursor = j.next_cursor;
    if (!j.has_more) break;
  }
}
const sleep = (ms) => new Promise((ok) => setTimeout(ok, ms));
await follow(); setInterval(follow, 3000);

Check mints you meet elsewhere

Up to 500 mints in one call, which counts as one request:

curl -X POST -H "Authorization: Bearer pd_YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"mints":["MINT_ONE","MINT_TWO"]}' https://payday.direct/api/v1/coins/check

payday has the registry entry of each Payday coin and not_payday the rest. For one mint, GET /registry/{mint} answers 200 or 404.

Things to know

  • A coin is registered once its launch is confirmed and recorded, usually within a few seconds. If a seconds-old coin reads as not Payday's, ask again shortly before you settle on that.
  • source is launched (launched on Payday) or routed (an existing coin whose fees were pointed at Payday later). mode says whether the fees go to an account or to holders.
  • Check it without trusting us: fee_config is the coin's pump.fun fee sharing config. Read it on chain; GET /fees/{mint} gives the wallet that must be its only shareholder.
  • A coin can leave the registry (its account opted out). Leaving is not announced: when total differs from your own count, read from the start again. A coin that comes back gets a new, higher seq.
  • Answers come from memory, so asking about every new pump.fun coin is fine. The registry covers Solana; EVM coins are in /coins?chain=elysium.