Bitcoin Tracer

Trace the flow of bitcoins between addresses

Queue: 0
Queue: 0
Queue: 0

Database Height: 965,317

Are your addresses connected?

This tool does two things:

  1. Finds connections between bitcoin addresses.
  2. Shows the flow of bitcoins from one address to another.

It scans the entire blockchain to find transactions connecting addresses together, and creates a report showing the amount of bitcoins transferred between them.

Check out these examples:

  • Sample Report 1 (Basic)
  • Sample Report 2 (Advanced)
  • Sample Report 3 (Premium)

How do you use it?

  1. Enter your start address and end address.
  2. Select the level of query you want to run.

For simple queries, the "basic" level will do the job. This will allow you to see if two addresses are connected over a short distance.

However, if you want to see the entire flow of bitcoins between two addresses, or believe the addresses are connected over a longer series of transactions, use the "advanced" or "premium" levels instead.

This tool looks for the shortest paths between two addresses only.

Why is it useful?

There are a couple of reasons why you might want to use this tool:

1. Compliance

This tool provides verifiable proof of the connections between two addresses.

This is critical for AML/source of funds checks, where you're required to provide a transaction history that proves ownership of two addresses. Or in other words, to prove that you have moved funds from an one address (e.g. a withdrawal from an exchange) to another address (e.g. your current wallet).

The report will return a verifiable on-chain trail showing every hop from the start address to the end address, along with a complete list of transactions, dates, and amounts involved.

In other words, it gives you an audit trail.

2. Privacy

Find out if there are connections between addresses that you control. And if so, find out the distance between them, and how many bitcoins have been transferred.

This is extremely useful if you think you may have connected your addresses in some way, and want to confirm whether you have left any trace on the blockchain that could be discovered later on.

In other words, it gives you peace of mind.

Every transaction you make is recorded on the blockchain forever.

This tool can find connections that you didn't know existed, and takes the effort out of analyzing your transaction history.

This tool does not make any assumptions about the strength of connections between addresses. It simply reports the historical flow of funds, and a list of transactions connecting the addresses. You can draw your own conclusions.

How does it work?

This tool scans the entire blockchain to find the shortest paths between two addresses.

A simple transaction sends bitcoins from addresses to other addresses:

Transaction:

address -> transaction -> address

Further transactions can then create additional hops between addresses.

Single path (two hops):

address -> transaction -> address -> transaction -> address

Lastly, different transactions can create multiple paths between addresses.

Two paths (three hops):

          ┌─ transaction → address → transaction → address → transaction ─┐
address ──┤                                                               ├── address
          └─ transaction → address → transaction → address → transaction ─┘

And as you can imagine, the more hops (number of connecting transactions) and paths there are, the longer it takes to find the connections between two addresses.

This tool searches for these paths for you.

Higher levels of analysis increase the maximum number of hops and paths the tool will search for.

Who made this?

My name is Greg and my main website is learnmeabitcoin.com.

I've already made quite a few bitcoin tools, but this one needs its own server so I decided to create a separate website for it.

I've spent a long time working with bitcoin.

Why did you make this?

Because I needed to perform some chain analysis.

I was selling my bitcoin on an exchange, and due to AML regulations, their compliance department asked me to prove the source of funds for the bitcoins I wanted to sell.

I had bought the bitcoins on a different exchange, and had moved them between a number of different wallets over time. So I needed a way to prove the bitcoins I owned flowed from the initial withdrawal address to my current wallet address.

There were no online tools that would search for connections between addresses (other than manually browsing through transactions on a blockchain explorer), so I made this tool a much more basic version of this tool to make it easier.

And it worked.

There's an ample amount of blockchain analysis companies out there, but none of them seem to offer a publicly available tool for simply tracing bitcoins between addresses.

So hopefully you find this one useful.

Frequently asked questions

How long does it take?

Queries usually take anywhere from a few minutes to a few hours.

The time it takes to execute depends on how complex your query is (i.e. number of hops and paths to search for), as well as how busy the addresses are along the way (i.e. a lot of activity).

I will send you an email once your query has been executed and your report is ready.

Higher query levels have a higher priority for processing. Your query enters a queue, so during busier periods it may take more time before it can be processed. This is to allow the database to run as efficiently as possible.

Why do you charge?

Because running this kind of query against the blockchain is computationally expensive, and your payment helps to cover the costs of running the server.

It requires a lot of Disk Space, RAM, and CPU, which means significant costs in terms of hardware requirements.

Basically, it's not cheap.

What is a hop?

A hop is a "stepping stone" along the path from one address to another.

                          (hop 1)                   (hop 2)
address -> transaction -> address -> transaction -> address

In short:

  • If you send bitcoins directly from one address to another, that counts as 1 hop.
  • If you send those bitcoins onward in a further transaction to another address, that counts as 2 hops.

So every time you make a transaction to move bitcoins from one address to another, you're adding another hop to the flow of the coins.

As a result, the more hops there are between two addresses, the "further apart" they are, and the more computationally expensive it is to follow the path to find a connection.

The more hops there are between two addresses, the longer it takes to find the connections between them.

What is a path?

A path is a unique route from one address to another.

          ┌─ transaction → address → transaction → address → transaction ─┐              (path 1)
address ──┤                                                               ├── address
          └─ transaction → address → transaction → address → transaction ─┘              (path 2)
  • If you send bitcoins from one address to another across a single series of transactions, there will only be one path between them.
  • If you make multiple transactions from one address to another, there will be multiple paths between them.

In other words, each path represents a unique route moving bitcoins from the start address to the end address.

As a result, the more paths you want to find, the more of the blockchain you need to search through to find them.

The diagram in the report combines paths to simplify the display. So it may not look like all of the unique paths are being shown, but each path is accounted for.

Each path is determined by the inputs and outputs in a transaction. So if you have two inputs from the same address in a transaction, they will count as the start of two separate paths.

Why do you search for shortest paths only?

Because it's faster.

Searching for paths of varying lengths between two addresses takes an exceptionally long time, so it's not feasible to do this for most queries.

This means that if there are multiple paths between two addresses, and some of those paths are longer than others (e.g. some are 5 hops, others are 6+ hops), this tool will return the paths that are 5 hops long only.

So please keep this in mind when analyzing your results.

What type of chart is used in the report?

It's called a Sankey Diagram. They're handy for visualizing the flow of money.

  • The green "nodes" are addresses.
  • The blue "links" are transactions.

The size of the links (transactions) represents the amount of bitcoin being transferred between two addresses.

How are the amounts in the chart calculated?

The amounts represent the maximum amount that could have been transferred between addresses.

For example, if a transaction has the following input and output:

address1 2 BTC    ->    1 BTC address2

Then address1 sent a maximum of 1 BTC to address2.

So even though the raw transaction shows 2 BTC leaving address1, only 1 BTC was received by address2 Therefore, the maximum amount transferred in this transaction between these addresses was 1 BTC.

What is proportional attribution?

Proportional attribution refers to dividing bitcoins up evenly between senders and receivers in a transaction.

Basically, a transaction can have multiple input and output addresses. In this situation, it's not possible to determine exactly "how much" each of the input addresses sent to the output addresses.

For example:

address1 1 BTC    ->     2 BTC address3
address2 3 BTC    ->     2 BTC address4

You could say address1 sent their entire 1 BTC to address3. Or you could say they sent that 1 BTC to address4. You could even say that address1 sent 0.1 BTC to address3, and the rest to address4. There's no way to know unless you made the transaction yourself, or make some assumptions about the intentions of the the sender.

So to avoid making assumptions, the flow diagram calculates the share of the amount sent/received by each of the addresses.

So in this example, using proportional attribution, we say:

  • address1 sent 0.5 BTC to address3, and 0.5 BTC to address4.
  • address2 sent 1.5 BTC to address3, and 1.5 BTC to address4.

This is the fairest way to work out "how much" each address sent and received without making any guesses about the intentions behind the transaction.

I call it "proportional attribution" for short.

Need help?

If you have any questions or run in to any problems, please send me an email:

greg@bitcoi­ntracer.com