On this page
Access comes with your account. Sign in to BLIX with Google, open Developers, and your API session and the MCP connector command are shown there, ready to copy. Everything below assumes you are signed in. Questions: the Discord.
A typed client
// blix.ts (Node 20+): BLIX_SESSION from https://blixvip.com/developers
const BLIX = "https://blixvip.com";
const H = { cookie: `blix_wait=${process.env.BLIX_SESSION}` };
export interface Launch { mint: string; name: string; symbol: string; dev: string; uri: string }
export interface Holders {
holders: number; top10: number; trades: number; partial?: boolean;
dev: { wallet: string; pct: number; maxPct: number; sol: number; sold: "none" | "part" | "all" };
snipers: { n: number; pct: number; maxPct: number; sold: number };
bundle: { n: number; pct: number; maxPct: number; sold: number };
top: { wallet: string; pct: number; sol: number; trades: number; tag: string | null }[];
}
const get = <T>(p: string) => fetch(BLIX + p, { headers: H }).then((r) => r.json() as Promise<T>);
export const pulse = () => get<{ newPairs: any[]; stretch: any[]; migrated: any[] }>("/api/pulse");
export const holders = (mint: string, top = 25) => get<Holders>(`/api/holders/${mint}?top=${top}`);
export const candles = (mint: string, tf = 60) => get<any[]>(`/api/candles/${mint}?tf=${tf}`);
export const quote = (mint: string, side: "buy" | "sell", amount: number, slip = 300) =>
get<any>(`/api/quote?mint=${mint}&side=${side}&amount=${amount}&slip=${slip}`);
export async function onLaunch(fn: (c: Launch) => void) {
const res = await fetch(BLIX + "/api/stream", { headers: H });
let buf = "", event = "";
for await (const chunk of res.body!.pipeThrough(new TextDecoderStream())) {
buf += chunk;
for (const line of buf.split("\n").slice(0, -1)) {
if (line.startsWith("event:")) event = line.slice(6).trim();
else if (line.startsWith("data:") && event === "launch") fn(JSON.parse(line.slice(5)));
}
buf = buf.slice(buf.lastIndexOf("\n") + 1);
}
}Screen a coin's holders
import { holders, onLaunch, pulse } from "./blix.js";
export async function screen(mint: string) {
const h = await holders(mint, 10);
if (h.partial) return ["seen mid-life"];
const flags: string[] = [];
if (h.dev.pct > 5) flags.push(`dev holds ${h.dev.pct.toFixed(1)}%`);
if (h.dev.sold === "all") flags.push("dev sold everything");
if (h.bundle.pct > 20) flags.push(`bundles hold ${h.bundle.pct.toFixed(1)}%`);
if (h.snipers.pct > 20) flags.push(`snipers hold ${h.snipers.pct.toFixed(1)}%`);
if (h.top10 > 40) flags.push(`top 10 hold ${h.top10.toFixed(1)}%`);
return flags;
}
// log every launch, and screen the final stretch every 5 seconds
onLaunch((c) => console.log("launch", c.symbol, c.mint));
setInterval(async () => {
for (const c of (await pulse()).stretch) {
const flags = await screen(c.mint);
if (!flags.length && c.hl.h >= 50) console.log("clean:", c.symbol, Math.round(c.progress * 100) + "%");
}
}, 5000);In the browser
Signed in on blixvip.com, the browser already has your session: fetch("/api/pulse").then(r => r.json()) in the console works as is, and new EventSource("/api/stream") gives you the live stream with addEventListener("launch", …). A page on another site cannot use your session; run the code from Node instead.
Run it
export BLIX_SESSION="<from your Developers page>"
node --experimental-strip-types bot.ts # Node 22.6+; or compile with tsc
# or
npx tsx bot.tsThe BLIX community
Every account comes with the BLIX Discord: the people trading on the terminal, the narratives as they form, feature drops before they are announced, and the team answering questions. Join the Discord once you have signed up.
More for developers
BLIX is independent and not affiliated with pump.fun. Facts about pump.fun were checked against public sources on October 10, 2026 and can change.
Frequently asked questions
Is there a pump.fun npm package?
Not an official one. BLIX needs no package: the API is HTTPS and JSON, so fetch is the client.
Does it work with TypeScript?
Yes. The interfaces above cover the common shapes; everything else is plain JSON you can type as you go.
Can I use it from a React or Next.js app?
From the server side with your session, yes. In the browser only a page on blixvip.com carries the session.
Can I trade from JavaScript?
The API quotes trades through Jupiter and runs your paper desk; it never signs. Real trades are made in the terminal.

