"BTC Trace: On-Chain Bitcoin Clustering & Fund Flow Visualiser"
Follow the money — directly in your browser
Today I'm launching BTC Trace, a free on-chain analysis tool that clusters Bitcoin addresses into likely entities and visualises fund flows as an interactive graph. No sign-up, no fees — just paste an address and go.
What it does
Paste one or more Bitcoin addresses, set a hop depth (1–3), and BTC Trace will:
- Fetch transaction history via the mempool.space API
- Cluster addresses using the common-input-ownership heuristic — if two addresses appear as inputs in the same transaction, they likely belong to the same entity
- Walk the graph N hops from your seed address, following fund flows
- Label known entities — Binance, Coinbase, Kraken, OKX, Bitfinex, Bitstamp, Huobi, Gemini, Bybit, KuCoin, and major mining pools
The result is a zoomable, pannable D3.js graph where nodes are address clusters and edges are transaction flows (weighted by BTC value).
Heuristics
Beyond co-input clustering, the tool applies several optional heuristics:
Change address detection — three signals are combined:
- Direct address reuse: output address also appears as an input in the same tx (definitive change)
- Round-value payment: in a 2-output tx, one output is a round BTC amount (the payment), so the other (non-round, smaller) is the change
- Script-type consistency: change outputs usually match the address format of the inputs
Dust filter — ignores outputs under 546 sat (likely spam/dust attacks)
Address reuse clustering — if an output address also appears as an input in the same tx, it's merged into the sender's cluster
Skip coinbase — optionally exclude mining reward transactions (no shared-ownership semantics)
Aggressive expansion — follow all output addresses at each hop, not just inputs (wider graph, slower)
New in today's launch
The final round of features shipped today:
⚡ Path-finding to exchanges
Hit the lightning bolt in the toolbar to find the shortest path from your seed cluster to the nearest known exchange via BFS. Path nodes glow gold, a banner shows the full route, and a toast tells you how many hops away the exchange is. Useful for quickly checking "does this wallet have a direct connection to Binance?"
📦 Export
- JSON export — full graph data: nodes, edges, addresses, entity labels, BTC values, block heights. Useful for piping into your own scripts or archiving a trace.
- PNG export — renders the SVG to a 2× retina canvas and downloads as a PNG. Good for reports and screenshots.
🔗 Shareable URLs
After a trace, the URL updates to ?addr=<addresses>&depth=<n>&max=<txs>. Share the link and whoever opens it gets the form pre-populated and the trace auto-starts. No server state needed — all analysis runs client-side.
Try it
A good starting address to explore: 1A1zP1eP5QGefi2DMPTfTL5SLmv7Divfna — Satoshi's genesis block coinbase output.
Technical notes
- All chain data is fetched from mempool.space's public API — no API key needed
- The backend is a lightweight Express proxy with a 2-tier LRU cache (server-side + client-side sessionStorage) to minimise API calls
- Confirmed transactions are cached for 1 hour (they're immutable); address stats for 5 minutes
- Rate-limiting is handled by a request queue with backoff
- Zero tracking, zero auth, fully open
Built with Express, D3.js, and the mempool.space API. Part of the c.pixeldev.eu toolbox.