Blix GitHub

Blix API · 52 endpoints · free

Free Solana memecoin API

Blix is an open-source memecoin terminal that runs on your own machine and serves everything it sees as JSON: every pump.fun launch within about a second, every trade decoded straight from Solana, holder ledgers with dev, sniper and bundle shares, 5-second candles, real Jupiter quotes, safety checks and AI reads. 52 endpoints and one live event stream, with no API key, no credits and no rate card.

Free and open source (MIT) · Node 24.16+ · Windows, macOS, Linux · Updated October 4, 2026

Price
Free, open source (MIT)
API key
None on your machine
Transport
HTTP + JSON, and one Server-Sent Events stream
Chain
Solana: pump.fun launches, bonding curve, migrations, plus DexScreener and GeckoTerminal pairs
Speed
Launches about a second after the chain; live prices several times a second
Trading
Paper desk at real Jupiter quotes. Blix never signs a transaction.

Quick start

You need Node 24.16 or newer. There is nothing else to install: Blix has no dependencies.

git clone https://github.com/blixvip/blixtrade.git
cd blixtrade
npm start
# dashboard and API on http://localhost:4420
curl http://localhost:4420/api/pulse

Launches start arriving within seconds. Holder ledgers, candles and AI reads fill in as coins trade. Everything optional (a faster RPC, Discord or Telegram alerts, your Claude or Grok login for AI reads) is set on the dashboard's Settings page, never in code.

What you can build with it

Live stream

GET /api/stream is a Server-Sent Events stream. One connection carries new launches, live prices, migrations, signals and paper fills, so a bot never has to poll.

EventPayloadWhen
tick{ tracking, launchesPerHour, tradesPerSecond, … }every few seconds
launcha new pump.fun launch (mint, name, symbol, dev, uri)sub-second after the chain
livelive price / mcap / flow updates for coins on the Pulseper trade batch
signala new signal (type, mint, symbol, text, safety, score)when raised
miga pump.fun graduation / migrationwhen detected
piccoin image became availablewhen fetched
paperpaper desk changed (fill, sell, rule, stop)on change
briefa new market briefhourly or on demand
curl -N http://localhost:4420/api/stream
const es = new EventSource("http://localhost:4420/api/stream");
es.addEventListener("launch", (e) => {
  const coin = JSON.parse(e.data);            // { mint, name, symbol, dev, uri, ... }
  console.log("new pump.fun coin", coin.symbol, coin.mint);
});
es.addEventListener("signal", (e) => console.log(JSON.parse(e.data)));
import json, requests  # pip install requests

with requests.get("http://localhost:4420/api/stream", stream=True) as r:
    event = None
    for line in r.iter_lines(decode_unicode=True):
        if line.startswith("event:"):
            event = line[6:].strip()
        elif line.startswith("data:") and event == "launch":
            coin = json.loads(line[5:])
            print(coin["symbol"], coin["mint"])

Pulse: new pairs, final stretch, migrated

GET /api/pulse returns the four columns you know from Axiom and GMGN: newPairs (fresh pump.fun launches), stretch (bonding curve past 50%), migrated (graduated to a pool in the last hours) and running (any coin moving in the last five minutes). Each row carries the live market cap in USD, bonding progress, buys, sells, traders and volume, the holder stats, the triage score, the AI's call and a 0–100 rank from live traction.

{
  "newPairs": [{
    "mint": "9VinAschN7A1yZvk432ovidJvTRtwYP1spDhzJA4pump",
    "symbol": "J", "name": "Joule", "pool": "pump",
    "mcap": 4592, "progress": 0.188,
    "buys": 57, "sells": 26, "traders": 51, "liveVol": 8641,
    "hl": { "h": 29, "t10": 18.67, "dev": 0, "ds": "all", "sn": 0, "bd": 0.09, "bdN": 3 },
    "tri": { "score": 32, "label": "meh", "why": "11 same-ticker launches this hour, built on a tweet" },
    "ai": { "status": "running", "grade": null, "action": null },
    "tr": 16
  }],
  "stretch": [ ... ], "migrated": [ ... ], "running": [ ... ]
}
FieldMeaning
progressShare of the bonding curve sold, 0 to 1
hl.h · hl.t10Holders · share held by the top 10 wallets (%)
hl.dev · hl.dsDev's share (%) · whether the dev sold part or all
hl.sn · hl.bd · hl.bdNSnipers' share (%) · bundle share (%) · bundle wallets
triTriage: an instant rules score on every launch, relabelled by a fast model
aiThe AI read: status, grade A to F, buy / watch / avoid
trRank 0–100 from live traction: traders, flow, 5-minute volume, change

Holders, snipers and bundles

GET /api/holders/<mint>?top=25 is a holder ledger Blix builds itself from the trade feed, with no paid indexer. For a coin it watched from its first trade, it tags the dev, snipers (bought within 2 blocks of the first trade) and bundles (bought in the same block as the first trade), and tracks how much of each group has sold. A coin first seen mid-life is marked partial and its sniper and bundle figures are left empty rather than guessed.

{
  "holders": 12, "top10": 12.49, "trades": 109, "genesis": true,
  "dev":     { "wallet": "G2Dx...sobK", "pct": 0, "maxPct": 29.42, "sol": -5.29, "sold": "all" },
  "snipers": { "n": 0, "pct": 0, "maxPct": 0, "sold": 0 },
  "bundle":  { "n": 3, "pct": 0.09, "maxPct": 2.08, "sold": 2 },
  "top": [
    { "wallet": "5j2V...ufWZ", "pct": 6.46, "sol": 4.2, "trades": 3, "tag": null }
  ]
}

Candles and quotes

GET /api/candles/<mint>?tf=1m returns market-cap candles built from real trades (5s, 15s, 1m, 5m, 15m, 1h) with buy and sell counts, and falls back to GeckoTerminal for older history. GET /api/quote returns a real Jupiter quote for a buy or a sell: amount out, price impact and route. Nothing is traded.

curl "http://localhost:4420/api/candles/<mint>?tf=1m"
curl "http://localhost:4420/api/quote?mint=<mint>&side=buy&amount=0.5&slip=300"

All 52 endpoints

Paths are relative to http://localhost:4420. Errors are JSON { "error": "…" } with a 4xx or 5xx status. Responses are cached for 1 to 60 seconds, so polling faster returns the same body; use the stream for anything live. The long-form reference is docs/API.md.

Market

MethodPathReturns
GET/api/overviewKPIs: launches per hour, tracking, pass-safety, signals 24h, graduations, health issues
GET/api/pulseThe four Pulse columns (new, final stretch, migrated, running) with per-coin stats and AI verdicts
GET/api/botAnti-slop filter state, today's desk, live counters, narrative scout, early-launch model
GET/api/tokens?…Coins table. Query params mirror the Coins page filters (sort, safety, stage, search)
GET/api/token/<mint>Full coin detail: price history, safety report, holders summary, socials, research, signals
GET/api/token/<mint>/explainClaude's explanation of the coin from Blix's data
POST/api/token/<mint>/classify{ themes, assetClass }. Your correction wins over the automatic classification; null puts it back on automatic
GET/api/holders/<mint>?top=25Live holder ledger: top holders tagged dev / sniper / bundle, each position, top-10 share
GET/api/candles/<mint>?tf=5s|15s|1m|5m|15m|1hMarket-cap candles built from real trades, with volume
GET/api/quote?mint=<mint>&side=buy|sell&amount=<n>&slip=<bps>A real Jupiter quote: out amount, price impact, route

Signals, narratives, briefs

MethodPathReturns
GET/api/signals?…Signals feed. Params: type, safety=passed|unscreened|all, group=coin, limit
GET/api/narrativesThemes with heat, launch share, lift vs previous hours, emerging words, lead coins
GET/api/clustersNarrative bursts (same word or same X post within minutes) and Grok's calls on them
GET/api/briefsLast 20 market briefs
POST/api/briefWrite a brief now
GET/api/eventsLast 80 system events

Research and picks

MethodPathReturns
GET/api/researchResearch desk status: providers, queue, reads this hour, narratives the AI rates
GET/api/research/<mint>The coin's reads: first read, deep read, grade, thesis, plan, sources
POST/api/research/<mint>Queue the coin for a fresh read at top priority
GET/api/triageThe first-read gate's record
GET/api/picksPicks scorecard: by stage, by AI call, by reason, by day, running result
GET/api/picks/allEvery pick with entry, exit, peak, rule result
POST/api/picks/reviewStart a self-review (Grok studies the scorecard and rewrites the playbook)
POST/api/picks/scoutRun the narrative scout now

Paper desk

MethodPathReturns
GET/api/paperThe desk: positions, today's and lifetime PnL
POST/api/paper/quoted{ mint, sol, slippageBps?, tp?, sl?, trail? }. Open at the real quote
POST/api/paper{ mint, sol, tp?, sl?, trail? }. Open at the last price
GET/api/paper/<id>/preview?pct=100What selling would return at the real quote
POST/api/paper/<id>/sellq{ pct?, why? }. Sell all or part at the real quote
POST/api/paper/<id>/sell{ pct?, why? }. Sell at the last price
POST/api/paper/<id>/rule{ tp?, sl?, trail? }. Take-profit multiple, stop-loss %, trailing %; omitted or zero clears
DELETE/api/paper/<id>Forget a closed position

Wallets and Fomo

MethodPathReturns
GET/api/walletsFollowed wallets with PnL, smart-money ranking, recent activity, RPC tracking stats
POST/api/wallets{ address, label? }. Follow a wallet
GET/api/wallet/<address>Wallet detail: swaps, realized / open / sellable PnL, positions, linked wallets, alert rule
POST/api/wallet/<address>{ scan: true } scans without following; { follow: true, label? } follows; { label?, muted? } updates
DELETE/api/wallet/<address>Unfollow
GET/api/fomoFomo overview: learned fee payer, what Fomo is buying, top Fomo traders
POST/api/fomo/trader{ wallet, handle? }. Mark a wallet as a Fomo wallet

Track record, health, ops

MethodPathReturns
GET/api/perfTrack record per signal type: checked, up 20%+, down 50%+, unsellable, median, worst, reached 2x
GET/api/healthEvery dependency with last success, last failure, what to do
GET/api/settingsPublic settings (secrets never returned)
POST/api/settings{ settings: {…}, clear: ["discordWebhook", …] }
POST/api/test-notify · /api/test-grok · /api/test-fastTest a destination or provider with the body's values, without saving
GET/api/alertsAlert rules (mute / quiet / cooldown), destinations, last 80 deliveries
POST/api/alerts{ scope: "coin"|"wallet"|"type", target, effect, note } or { clear: true, scope, target }
DELETE/api/alerts/<id>Remove a rule
GET/api/export?secrets=1One JSON file: settings, wallets, rules, playbook (secrets only with secrets=1)
POST/api/importThe export file
GET · POST/api/backupList backups · write one now
POST/api/repairRebuild derived tables from snapshots
GET/api/remote-linkLocal only: the tunnel URL with the remote key

Blix API vs GMGN, Axiom, Fomo and PumpPortal

What each option gives a developer today, checked on October 4, 2026. Each name links to the details and sources.

Public APIKeyCostReal trading
BlixOpen source, runs on your machineNoneFree (MIT)No. Paper desk at real quotes
GMGNYes, the GMGN OpenAPIApply at gmgn.ai/ai with an Ed25519 public keyNot published in its docsYes. Swaps need your private key and an IP whitelist
Axiom TradeNone publishedUnofficial SDKs sign in as your accountNot applicableOnly through unofficial SDKs
FomoNone publishedThird-party APIs use their own keyfomoapi.io: 250,000 free credits a month, paid from $49.99No
PumpPortalThird-party pump.fun APIRequired for trade streamsLaunch and migration streams free; trades 0.01 SOL per 10,000Yes, 0.5% (local) or 1% (Lightning) a trade

Pick GMGN's API if you need execution or chains beyond Solana. Pick Blix if you want Solana memecoin data with nothing to sign up for, code you can read and change, and AI reads on top.

Frequently asked questions

Is the Blix API free?

Yes. Blix is open source under the MIT licence and runs on your own machine, so there is no key, no credit system and no rate card. Your only costs are optional: a free-tier Helius RPC makes wallet tracking about ten times faster, and AI reads use your own Claude or Grok login.

Do I need an API key?

No. On your machine every endpoint is open to local scripts. If you turn on the optional remote link (a Cloudflare tunnel to your own install), a per-install key kept in a cookie protects it.

Is this the official GMGN or Axiom API?

No. Blix is independent and not affiliated with GMGN, Axiom Trade, Fomo or pump.fun. GMGN has its own official API (see GMGN API); Axiom Trade and Fomo publish none (see Axiom API and Fomo API). Blix gives you the same kind of memecoin data without an account.

Where does the data come from?

New pump.fun coins come from PumpPortal's free launch stream with an on-chain backup for any it misses. Trades are decoded straight from Solana program logs over RPC. Prices for graduated coins come from Jupiter, pairs from DexScreener and GeckoTerminal, safety reports from RugCheck. Holders, snipers and bundles are computed by Blix from the trades it sees.

How fast is it?

New launches arrive about a second after they land on chain, often less. Live market caps, buys, sells and bonding progress are pushed over the stream several times a second. Roughly 2,000 pump.fun launches an hour and 50 to 80 trades a second flow through a normal day.

Can I trade through the Blix API?

Not with real money. Blix never signs a transaction and never touches your keys. It has a paper desk that fills at real Jupiter quotes with slippage, take-profit, stop and trailing rules, and every coin carries a Buy on Fomo link.

Which chains does it cover?

Solana. pump.fun launches, the bonding curve and migrations get the deepest coverage; other Solana pairs come in through DexScreener and GeckoTerminal.

Can an AI agent use it?

Yes. The Blix MCP server turns the API into 20 tools for Claude, Cursor, Codex and any other MCP client.