Star
One program. Its size grows with the square root of its share of sampled transactions that invoke it, directly or via CPI.
The Solana program universe, charted live.
Take a program’s full dossier with you — every number behind the map, as CSV or JSON.
Drag to orbit · click a star for its dossier · to zoom, click or drag the sky first, then scroll (or pinch / Ctrl+scroll any time). Scrolling anywhere else moves the page to the written guide below.
Names come from a curated list of well-known programs, else from the program's own on-chain Anchor IDL; everything else is shown by address. The server samples one full block every 6 s and keeps the last 40 — one stream, fanned out to every viewer.
Plate IWhat it is
ProgramMap charts the Solana program universe as it moves. Every few seconds the server reads a full mainnet block, records every program each transaction touched — directly or through a cross-program invocation — and draws the last forty sampled blocks as a constellation. The brightest stars are the programs most transactions lean on; the filaments between them are real calls from one program into another.
Plate IIWhat you’re looking at
Everything in the chart is counted over the current window of sampled blocks. Distance on its own means nothing: programs that call each other are pulled together by springs, everything else drifts apart.
One program. Its size grows with the square root of its share of sampled transactions that invoke it, directly or via CPI.
A cross-program invocation, caller → callee. Light travels in the call direction; brighter means more calls in the window.
Co-invoked: two applications called directly in the same transaction (counted when a transaction calls two to six apps).
Runtime programs — Compute Budget, System, Token, Memo and the like — drawn dimmer. The Plumbing toggle hides them.
On wide screens, each bar along the bottom is one sampled block in the window; height is its transaction count.
Every program in the window ranked by share of transactions. Search by name or paste an address to jump to its star.
Plate IIIHow it works
Your browser never queries Solana. One loop on the server samples the chain and every open page receives the same stream, so the cost to the network does not grow with the audience.
JSON-RPC at confirmed commitment: getBlocksWithLimit finds the newest produced slot, getBlock returns it in full — every instruction, every inner instruction with its stack height, and the runtime logs.
Every 6 s it samples one block and counts, per program, transactions, direct calls, CPI calls, failures and own compute, plus every caller → callee pair. The chart is the rolling sum of the last 40 samples (about four minutes).
The top 120 programs and their strongest links go out to every viewer on one SSE stream. Opening a dossier is answered from memory — zero RPC calls.
three.js lays the graph out with a live force simulation and renders stars, filaments and flowing light on WebGL, scaled to what your device can keep smooth.
Plate IVBuilt with
http, Server-Sent Events, atomic JSON saves, a throttled RPC client — and version-1 transactions read with maxSupportedTransactionVersion: 1 plus lookup-table addresses.Plate VFeatures
Dossier export — take the numbers with you.
The burn price and length are set by the server; the live values appear here.
Plate VIThe coin
In ProgramMap the coin has one job: burning it unlocks dossier export. The burn is part of your own wallet’s transaction, so nobody receives the tokens — not us, not a treasury — and the server checks the result on-chain before anything unlocks.
burnChecked from your own token account plus a memo programmap unlock dossier …. The exact amount is shown before you sign.Burning destroys tokens permanently. It gives no return, revenue share or financial right. The free version stays free.
The ProgramMap coin is coming soon. Its contract address will appear here and in the header once it is published.
Follow on XEvery unlock burn is listed with a shortened wallet, the amount, the time and a Solscan link. For pump.fun coins (1,000,000,000 initial supply) it also shows total burned on-chain = 1B − current supply — every burn by anyone, including any the team may make from creator fees. No such burns are promised.
Plate VIIPrivacy & safety
Plate VIIIFAQ
Yes. The server reads a full mainnet block every 6 seconds at confirmed commitment, and the chart is the rolling sum of the last 40 of them — about four minutes. The observatory pill at the top shows the blocks, transactions and programs in the current window.
ProgramMap counts sampled blocks — roughly one in fifteen — and draws the 120 busiest programs. A program that was quiet in the last few minutes may simply not be in the window. Paste its address into the census search to check.
Names come from a curated list or from the program’s own on-chain Anchor IDL. Programs with neither are shown by address — ProgramMap never guesses a name.
A CPI filament means one program called another inside a transaction (caller → callee). A co-invoked arc means two applications were both called directly by the same transaction, side by side. Switch between them with the CPI · Co-invoked · Both control.
Exploring is free and needs no wallet. Only dossier export needs a burn: the tokens are destroyed and exports unlock for the set period (30 days by default). Burning again adds time on top of what is left. A burn signature can only ever be used once.
Any Solana wallet that supports the Wallet Standard with message signing and sign-and-send — for example Phantom, Solflare or Backpack — with an injected-Phantom fallback. On a phone without a wallet extension, the panel offers to reopen the page inside Phantom’s or Solflare’s in-app browser.
Yes. Drag to orbit, pinch to zoom and tap a star for its dossier; the census opens as a drawer. Quality adapts to the device, and the sky pauses while you read down here.