← Back to Insights
CoinJoin Detection

CoinJoin Detection

What is a CoinJoin

Bitcoin is pseudonymous, which means users operate under addresses rather than real identities, but every transaction is public. Clustering techniques like the multi-input heuristic can link together hundreds of addresses under a single actor. If two inputs appear in the same transaction, they are often controlled by the same entity, and that assumption is the foundation of most address clustering in blockchain analytics.

CoinJoin is the class of methods that deliberately break that assumption. A CoinJoin is a cooperative transaction where several independent users combine their spends into a single on-chain transaction, with each participant contributing their own inputs and receiving their own outputs. Without knowledge about CoinJoins the transaction still looks like “one entity spent all these inputs and sent money to all these outputs”, but that is no longer true. The multi-input heuristic is exploited and becomes misleading, and any clustering built on top of it pulls strangers into the same cluster.

For an investigator, walking into a CoinJoin unaware means chasing outputs that were never controlled by the subject, and attributing funds to the wrong cluster. Detecting CoinJoins up front makes it possible to know before tracing begins whether a given transaction can be trusted as a simple transfer or has to be treated as a mixing event.

How to recognise a CoinJoin

Every CoinJoin method leaves a structural fingerprint in the shape of its inputs and outputs. The engine behind Iknaio exploits this by running six independent checks on every Bitcoin transaction, one per major method in the wild today, based on Schnoering and Vazirgiannis (2023) with adjustments as the methods evolve.

The six methods differ mostly in three dimensions: how the participants coordinate, what the output amounts look like after mixing, and how many people are required.

  • JoinMarket is peer-to-peer with no coordinator and a flexible denomination, which makes it the loosest fit and the easiest to confuse with a normal transaction.
  • Wasabi 1.0 adds a central coordinator and fixes the post-mix value near 0.1 BTC.
  • Wasabi 1.1 extends that with doubling levels so a single round can produce outputs at 0.1, 0.2, 0.4 and 0.8 BTC simultaneously.
  • Wasabi 2.0 (WabiSabi) throws the fixed denomination out entirely and derives a dynamic value set from the transaction’s own outputs, but is flagged by the detection engine when a transaction has at least 20 inputs.
  • Whirlpool has two transaction types: a preparation step (Tx0) that produces pre-mix outputs plus a coordinator fee and an OP_RETURN (a special type of output in Bitcoin), and the mix itself, which always has exactly 5 inputs and 5 outputs at a fixed pool denomination.
JoinMarketWasabi 1.0Wasabi 1.1Wasabi 2.0Whirlpool Tx0Whirlpool CJ
Fixed denominationflex~0.1 BTC~0.1 BTCdynamicpool dpool d
Multi-denom (2^i) outputsnonoyesyesnono
Zero-value outputnonononoyesno
Coordinator feenoyesyesyesyesno
Min input count≥ 3≥ 3≥ 3≥ 20= 5
Distinct output scriptsyesyesyesyesyesyes

Because JoinMarket has the loosest rules and its conditions overlap with the more specific methods, we run the specific checks first and only fall back to JoinMarket at the end. Whirlpool Tx0 is treated separately because it is a preparation step rather than the mix itself, so we do not want to double-count the same user journey once at preparation and again at the round.

Once every check has run, we roll the results into a single answer: if any method matched, the transaction is flagged as a CoinJoin, and the label shown to the investigator is the strongest signal of the bunch. A single transaction can match more than one method at once, which is expected whenever a Whirlpool or Wasabi mix also satisfies the looser JoinMarket conditions.

Check it out in Pathfinder

Here is a real CoinJoin as it appears in Pathfinder. The transaction panel shows Whirlpool CoinJoin · High confidence, with 5 sending and 5 receiving addresses at 0.25 BTC total:

In the graph view, mixing transactions such as CoinJoins are marked with an M. Multiple sending addresses each contribute 0.050 BTC, and the outputs each receive exactly 0.050 BTC:

The same transaction can be opened in Pathfinder .

Improve your investigations

For investigators, the mixing label is an immediate signal that the standard tracing approach changes at this point. When tracing funds forward from a victim address and landing on a CoinJoin, following every output past it will pull in strangers. The next step is to find a different angle on the subject (a Tx0 or a downstream withdrawal from an exchange that received one of the mixed outputs).

For compliance teams, a CoinJoin label is the kind of signal that should feed directly into transaction monitoring. An address that appears on the output side of many consecutive CoinJoins carries a different risk profile than one that participates in a single round. CoinJoin detection makes that distinction visible.

Limitations

All checks rely purely on the structure of the transaction. That works well in most cases, but it means that a regular transaction with equal output amounts can look like a JoinMarket mix. Most regular transactions do not produce this pattern, but false positives exist and their exact count is unknown. Wasabi 2.0 detection requires at least 20 inputs, so small WabiSabi rounds with fewer participants will not be detected. It is also possible that participants coordinate CoinJoin transactions through unofficial or private channels outside of the known methods. If their structure differs enough from known patterns, they would not be recognised by any of the six checks.

Outlook

CoinJoin methods continue to evolve. At the same time, regulators are increasing pressure on mixing services. The arrest of the Samourai Wallet developers in 2024 and the shutdown of the Wasabi Wallet coordinator show that law enforcement is treating CoinJoin infrastructure as a priority. Whether that reduces CoinJoin volume or pushes it toward more decentralised methods remains to be seen.