ProgramMap

The Solana program universe, charted live.

connecting
—sampled blocks
—transactions
—programs seen
—window
ProgramMapPointing the telescope at mainnet…

Plate IWhat it is

A star chart of what Solana is running.

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.

  • For builders, researchers and the curious who want to see which programs carry Solana’s traffic right now — not last month.
  • Who calls whom? Every filament is a measured caller → callee edge, taken from the runtime’s own call depth.
  • How much does it cost to run? Each program’s own compute, read from the runtime’s “consumed” log lines minus the programs it called.
  • Honest names. A curated label or the program’s own on-chain IDL — otherwise the bare address. Never a guess.

Plate IIWhat you’re looking at

How to read the sky

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.

Star

One program. Its size grows with the square root of its share of sampled transactions that invoke it, directly or via CPI.

Filament

A cross-program invocation, caller → callee. Light travels in the call direction; brighter means more calls in the window.

Dashed arc

Co-invoked: two applications called directly in the same transaction (counted when a transaction calls two to six apps).

Plumbing

Runtime programs — Compute Budget, System, Token, Memo and the like — drawn dimmer. The Plumbing toggle hides them.

Timeline

On wide screens, each bar along the bottom is one sampled block in the window; height is its transaction count.

Census

Every program in the window ranked by share of transactions. Search by name or paste an address to jump to its star.

Colour key

  • DEX / AMM
  • Aggregator
  • Launchpad
  • Perps
  • Lending
  • NFT
  • Oracle
  • Staking
  • Token
  • Core runtime
  • Infra
  • Unlabelled — a soft hue derived from the program’s address

Click a star: its dossier

Share of tx
Sampled transactions that invoked it, out of all in the window.
Seen in
How many of the sampled blocks it appeared in.
Direct · via CPI
Top-level instructions versus inner invocations by other programs.
Compute
Its own compute units and CU per call. Builtin programs do not log compute, so they show none.
In failed tx
Share of its transactions that reverted.
Neighbours
Who calls it, what it calls and what it is co-invoked with — each one clickable.

Plate IIIHow it works

One telescope, every viewer

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.

  1. i

    Solana mainnet

    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.

  2. ii

    ProgramMap server

    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).

  3. iii

    Server-Sent Events

    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.

  4. iv

    Your browser

    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.

Cadence

  • One full block every 6 seconds; the chart re-forms each time a new one lands.
  • About 20 upstream RPC calls a minute at idle, whatever the number of viewers. Name lookups add almost nothing once cached.
  • Names come from a curated list of about 70 well-known programs, then from a program’s own on-chain Anchor IDL (looked up once and cached).

Limits, stated plainly

  • It is a sample: one block in roughly fifteen. Shares are reliable for busy programs; a rarely used one may not appear in a given window.
  • The sky shows the top 120 programs, the 420 strongest CPI links and the 210 strongest co-invocation pairs.
  • Compute comes from runtime logs. If a transaction’s log is truncated, compute after the cut is not counted.
  • If the server cannot reach Solana, the live badge turns red and the chart holds its last real state.

Plate IVBuilt with

The instruments

  • three.js r169, vendoredServed from this site, not a CDN. Stars are GPU point sprites sized in screen space; filaments and their flowing light are line and particle buffers updated in place.
  • Live force layoutEvery frame, an n-body repulsion pushes stars apart while log-weighted springs pull callers and callees together, so the shape of the chart is the shape of the call graph.
  • Adaptive qualityThree tiers with a pixel-ratio cap and flow particles per filament capped at 0, 3 or 6 (more calls, more light); it steps down if the frame rate sags. Rendering stops when the tab is hidden or you scroll down to read. Reduced motion: no auto-rotation, a pre-settled layout.
  • Exact call edgesInner instructions carry their stack height, so each CPI is attributed to its real parent — not just to the top-level program.
  • Own compute from logsThe runtime’s “consumed N of M” lines include children; the server subtracts each child’s share to get a program’s own compute.
  • Zero-dependency Node serverPlain http, Server-Sent Events, atomic JSON saves, a throttled RPC client — and version-1 transactions read with maxSupportedTransactionVersion: 1 plus lookup-table addresses.
  • Locked-down pageContent-Security-Policy with a per-request nonce, no third-party scripts, the RPC endpoint kept server-side, and formula-safe CSV exports.

Plate VFeatures

Free to explore. One thing to take home.

Free · no wallet

The live atlas

  • The live 3D chart of Solana’s most active programs, re-formed with every sampled block
  • Three link views — CPI, Co-invoked, or Both — and a Plumbing toggle
  • The census: every program ranked by share, searchable by name or address
  • A dossier for any program: share, blocks seen, direct vs CPI calls, own compute, failure share, a per-block sparkline, callers, callees and co-invocations
  • Links to Solscan, Solana Explorer and the latest sampled transaction
  • Works on phones: drag to orbit, pinch to zoom, census in a drawer
Burn to unlock

Unlock with the coin

Dossier export — take the numbers with you.

  • Export any program’s dossier as CSV or JSON: full stats, every caller, callee and co-invoked program, and its per-block series over the window
  • Export the whole census of programs seen in the window
  • Built from the server’s memory of the window — instant, and no extra load on Solana
Burn
50,000 tokens
Unlocks
30 days
Stacking
Burn again any time to add another period on top

The burn price and length are set by the server; the live values appear here.

Plate VIThe coin

Burned, not paid

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.

  1. Sign in. Your wallet signs a short text message (domain, wallet, purpose, one-time nonce, 5-minute expiry). It is free and sends no transaction.
  2. Review. The server builds an unsigned transaction: an SPL burnChecked from your own token account plus a memo programmap unlock dossier …. The exact amount is shown before you sign.
  3. Burn. Your wallet signs and sends it. The tokens are destroyed on Solana.
  4. Verify. The server reads the confirmed transaction and accepts it only if the right coin and amount were burned by your wallet, it is under an hour old and has never been used before. Then exports unlock.

Burning destroys tokens permanently. It gives no return, revenue share or financial right. The free version stays free.

Contract

The ProgramMap coin is coming soon. Its contract address will appear here and in the header once it is published.

Public burn ledger

Every 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

What we never do

  • No custody. The server never holds keys, tokens or SOL. Burns go nowhere — they are destroyed in your own transaction.
  • No seed phrases. ProgramMap will never ask for a seed phrase or private key. Anyone who does is not us.
  • Signing in is free. It is a message signature, not a transaction, and it moves no funds.
  • You see the burn first. The exact token amount is shown before your wallet opens, and you sign it yourself.
  • The RPC key stays on the server. Your browser only ever talks to this site.
  • No trackers. No analytics or ad scripts. The only outside request the page makes is for Google Fonts.

What the server keeps

  • A sign-in session for 24 hours (HttpOnly cookie; stored hashed).
  • For unlocked wallets: the wallet address, unlock expiry and number of burns.
  • Every burn signature it has accepted, so none can be reused, and the public ledger entries (shortened wallet, amount, time, signature; the latest 500).
  • Nothing about what you look at. The chart and every export are built from public chain data; your wallet’s own activity is never read.

Plate VIIIFAQ

Questions

Is the data live?

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.

Why is a program I know missing?

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.

Why do some stars show an address, not a name?

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.

What is the difference between CPI and co-invoked?

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.

Does it cost anything? What happens when I burn?

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.

Which wallets work?

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.

Can I use it on mobile?

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.