BitcoinDatabase.com

Compliance & flows · Transaction tracing API

Bitcoin transaction tracing API: trace Bitcoin transactions and crypto fund flows across hops

Tracing a Bitcoin transaction means walking the transaction graph: take an output, find the transaction that spent it, look at where that transaction sent the value, and repeat. On a public block explorer that is a manual click per hop, and a fund flow of any real length runs to dozens or hundreds of hops. This Bitcoin transaction tracing API turns each hop into a call. Give it a transaction ID or an address and get back the spending transactions, the inputs and outputs with amounts and addresses, and the confirmation and block height for each step, so your own code can expand a trail to whatever depth your investigation needs.

The part that makes a trace useful is what sits at the end of it. Because entity labels are indexed alongside the chain, a path that terminates at a known exchange deposit address, a mining pool payout or a service wallet comes back labeled instead of as an anonymous hash, which is usually the point at which an investigation stops being on-chain work and becomes a records request. You can also drop into SQL and traverse many hops in one recursive query rather than looping REST calls, then export the whole path as rows. Important limits, stated plainly: this is on-chain data and probabilistic clustering heuristics, not identity. We do not deanonymize individuals, we do not recover funds, and nothing here is legal advice or an accusation about any person or address. Regulated teams use it as evidence-gathering input to their own review.

or try it below ↓

REST API · SQL · dashboards · indexed from genesis

Query Console
btc
try:

Hit Run to query the fully-indexed Bitcoin blockchain.

BTC

30-day trend

informational on-chain data · not financial advice

REST API · SQL · dashboards, one indexed dataset. Querying the indexed Bitcoin blockchain ...
REST API SQL DASHBOARDS WEBHOOKS CSV EXPORT

Indexed from genesis queryable in seconds

On-chain data not financial advice

Why it works

What you get with Transaction tracing API

One call per hop, to any depth

Every output in our index carries a pointer to the transaction that spent it, so following the money is a lookup instead of a search. Trace forward from a source address or backward from a destination, branch across multiple outputs, and stop at the depth you choose. What takes an afternoon of clicking in an explorer becomes a loop your service runs in seconds.

Labeled endpoints, not bare hashes

A trail that ends at an exchange, a mining pool or a payment processor is worth far more than one that ends at an unattributed address. Entity labels are indexed with the chain, so the endpoints and intermediate hops that we can attribute come back named, and the ones we cannot are returned honestly as unlabeled rather than guessed at.

Multi-hop traversal in SQL

Some questions are graph questions: every path between two addresses under ten hops, or the total value that reached any exchange from a given source. Those are one recursive SQL query against the full indexed chain, not thousands of API round trips, and the result set exports straight to CSV for a case file or a report.

What it handles

The indexed Bitcoin chain, queryable your way

Look up an address, a transaction, a UTXO, the rich list or an on-chain metric, by REST API, SQL or dashboard. The same authoritative data, reconciled block-by-block against the canonical chain, without running a node.

  • Follow a Bitcoin transaction hop by hop from a starting txid
  • Expand every input and output with addresses, amounts and block height
  • Trace backward to find where funds originally came from
  • See which hops land at labeled exchanges, pools or services
  • Traverse many hops at once with a recursive SQL query
  • Detect peel chain and fan-out patterns across a fund flow
  • Export a full traced path as rows for a case file
  • Pin a trace to a block height so the result is reproducible
GET /v1/address/{addr} query result
200 · JSON
{
  "address": "bc1qxy2k…l0wdv8",
  "balance_btc": 68432.10,
  "balance_usd": 4612165420,
  "tx_count": 1284,
  "unspent_outputs": 37,
  "first_seen": "2014-02-09"
}
indexed from genesis · to the satoshi ✓ reconciled block-by-block

Why BitcoinDatabase

One platform, queryable three ways

Not a raw node to sync, not an indexer to build, and not five vendors to stitch together. The fully-indexed Bitcoin blockchain, available as a REST API, as SQL, and as dashboards, on one authoritative dataset.

REST API

Typed JSON for addresses, transactions, balances, UTXOs and metrics. Drop it into apps, wallets, explorers and agents with curl, Python or our SDKs.

SQL access

Run SQL directly against the indexed Bitcoin dataset for ad-hoc analysis, cohorts and exports, the same data the API and dashboards read from.

Compliance-first

Informational on-chain data and analytics only. Entity labels and flow tracing are framed as tooling to support a regulated team's own review, not accusations.

Good questions

Questions about transaction tracing api

Yes. Every Bitcoin transaction since 2009 is recorded on a public ledger, and each output records which transaction later spent it, so the flow of value from one address to the next is fully visible to anyone. What the chain does not record is identity. Tracing shows you where value moved, not who moved it.
Start from a transaction ID or address, list its outputs, then find the transaction that spent each output and repeat for as many hops as you need. In practice you also group addresses that appear as co-inputs, watch for the change output, and check each hop against entity labels to see where the path reaches a regulated service.
Not from the blockchain alone. On-chain data links addresses to other addresses, never to a legal identity. Attribution normally happens off-chain, when a trail reaches a service that collects customer identification and a law enforcement or legal process compels that record. We supply the on-chain half only.
There is no fixed hop limit. Each hop is a lookup against the indexed chain, so depth is a question of how much you want to retrieve, not a product cap. Long traces are usually better run in SQL, where a single recursive query walks many hops and returns the whole path at once.
No. It is the underlying Bitcoin data layer: the transaction graph, entity labels and query access that tracing tools are built on. There is no case management, no report builder and no risk verdict. Compliance vendors, exchange investigation teams and researchers use it to build or supplement their own tracing workflow.
You can trace up to and away from a mixing service, but not reliably through it. A CoinJoin or mixer is designed to break the link between a specific input and a specific output, so a trace that enters one usually ends there. Our data shows the path and the point where it reaches the service, without asserting a link the chain does not support.

Explore more

More ways to query Bitcoin with BitcoinDatabase

Stop running a node. Just query Bitcoin.

Run your first query now and get on-chain data back by REST API, SQL or dashboard, indexed from the genesis block. Informational on-chain data only, not financial advice.

See pricing

Indexed from genesis · REST · SQL · dashboards · addresses, transactions, UTXOs, metrics