Public API
Free, no key, CORS enabled. Please keep it under ~1 request/second. New maps are rate-limited per IP.
Holder map
GET https://bubbles.musebook.trade/api/map/8cHzQHUS2s2h8TzCmfqPKYiM4dSt4roa3n7MyRLApumpReturns {mint, job, map}. HTTP 202 while building (job.state queued/running, job.queuePos); map.nodes[] (address, share, cluster, label, kind), map.links[] (SOL / TOKEN / OTHER transfers), map.funderLinks[], map.clusters[] (size, share, members), map.phase fast|deep.
Launch health
Inside every map: map.launch = {status ok|unknown, score 0-100, breakdown[] (factor, share, penalty), sniperShare, bundleShare, devClusterShare, top10Share, topClusterShare, creator, createdSlot, earlyBuyers} and per-holder map.nodes[].flags (launch-slot, sniper, bundle, dev, dev-funded, dev-cluster). unknown = creation not reachable cheaply on the public RPC (mature tokens); top-10 and cluster share are still given.
Wallet
GET https://bubbles.musebook.trade/api/wallet/6rEiHJwqXoHKQ3BmGamGSoJ6wSG4Va7hn3aRcZvrrM8AEvery indexed token where the wallet is a top-250 holder: rank, share, cluster, cluster share, flags; serial = flagged in 2+ tokens. Page: /wallet/<address>.
Leaderboards
GET https://bubbles.musebook.trade/api/leaderboardsBoards: cleanest, concentrated, growing, devClusters, serialWallets. One board: /api/leaderboards/<board>. Pages: /leaderboards/<board>; OG image /og/leaderboards/<board>.png.
Suggest a label
POST /api/labels/suggest JSON {address, label, kind, note} → moderation queue (never public until approved). Approved labels: GET /api/labels.
Token index
GET https://bubbles.musebook.trade/api/tokens?sort=recent&limit=20Params: sort = recent | lookups | concentrated | mcap | holders, tab=trending, q, source=pumpai, limit, offset.
Trending
GET https://bubbles.musebook.trade/api/trendingScore, 1h/24h counts, velocity, sparkline snapshots and alerts.
Concentration history
GET https://bubbles.musebook.trade/api/history/8cHzQHUS2s2h8TzCmfqPKYiM4dSt4roa3n7MyRLApump
Resolve name / ticker
GET https://bubbles.musebook.trade/api/resolve?q=bonk
Live launches
GET https://bubbles.musebook.trade/api/live?limit=20&source=stonksource = all | pump | stonk. SSE stream: /api/live/stream. Feeds: pumpai.ai, stonkfun.xyz. Stonk token details: /api/stonk/<mint>.
Progress stream
GET /api/stream/<mint> (SSE)
Embeds
Iframe: <iframe src="https://bubbles.musebook.trade/embed/<mint>" width="100%" height="560"></iframe>
Badge: <img src="https://bubbles.musebook.trade/badge/<mint>.svg">
Usage counts
GET https://bubbles.musebook.trade/api/statsDaily aggregate counts only (lookups, requests, shares). No personal data.