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
- Read it once from the start, 1,000 coins a page, until
has_moreis false. Keep the lastnext_cursor. - 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);import os, time, requests
KEY, BASE = os.environ["PAYDAY_KEY"], "https://payday.direct/api/v1"
cursor, seen = None, {}
def follow():
global cursor
while True:
p = {"limit": 1000, **({"cursor": cursor} if cursor else {})}
r = requests.get(BASE + "/registry", params=p, headers={"Authorization": "Bearer " + KEY})
if r.status_code == 429:
time.sleep(int(r.headers.get("Retry-After", 1))); continue
j = r.json()
for c in j["data"]: seen[c["mint"]] = c
cursor = j["next_cursor"]
if not j["has_more"]: return
while True:
follow(); time.sleep(3)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/checkpayday 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.
sourceislaunched(launched on Payday) orrouted(an existing coin whose fees were pointed at Payday later).modesays whether the fees go to an account or to holders.- Check it without trusting us:
fee_configis 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
totaldiffers from your own count, read from the start again. A coin that comes back gets a new, higherseq. - 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.