Why this matters more than you think
Bitcoin's blockchain is permanently public. Once an address is linked to you, every transaction touching it — past and future — is visible to anyone with a chain-analysis subscription. That isn't a hypothetical surveillance risk; it's the default state of every coin you hold.
Whether that matters depends on who you are. Three concrete scenarios:
The holder
You buy a coffee with sats. The merchant's terminal — and anyone watching the chain — now sees your wallet's full balance. The bigger your stack, the bigger the targeting risk.
The HNW individual
Your KYC exchange knows your full name and address. Every withdrawal it ever made is on a public ledger. A determined adversary doesn't need to hack you — they need a subpoena and a map.
The family
When you pass keys to heirs, you also pass an inheritance of disclosure. Counterparties who saw your addresses now see theirs. The ledger has no concept of "I'm new to this."
The transparency problem
Cash is private by default; you have to work to leave a trail. Bitcoin is the opposite: public by default; you have to work to remove the trail. That work is what this page is about.
How chain analysis actually works
Chain-analysis firms don't break Bitcoin's cryptography. They use heuristics — patterns that probabilistically link addresses to the same owner. A few addresses get tagged at a regulated exchange, and the graph spreads from there.
Walk through what they see
bc1q...abc (you)
0.1 BTC
The exchange tags this address with your KYC identity. Anyone with their data feed knows it's you.
bc1q...abc (you) → coffee shop
0.0005 BTC
bc1q...xyz (you)
0.0995 BTC
The coffee shop now sees your full balance (~0.1 BTC). The change address is automatically linked to you under the change-detection heuristic.
bc1q...xyz (you) → landlord
0.05 BTC
Your landlord can now trace back through the change address to the exchange. Three transactions in, your full spending pattern, balance, and identity are linked.
The heuristics chain analysis relies on
- Common-input ownership: all inputs in a single transaction are assumed to belong to one wallet.
- Change detection: the smallest output is usually change, going back to the sender.
- Address reuse: the same address appearing twice ties the two transactions together permanently.
- Round-number payments: a non-round output paired with a round one usually marks the round one as the payment, the other as change.
The CoinJoin idea, and what it doesn't solve
A CoinJoin is a transaction in which several people contribute equal-sized inputs and receive equal-sized outputs. Because the outputs are identical, an outside observer cannot tell which input paid which output. The common-input-ownership heuristic, the strongest tool chain analysis has, breaks.
Before: clear links
Three separate transactions. Each ownership trail is obvious.
After: broken links
One combined transaction
One combined transaction. Each output could belong to any of the three participants.
Anonymity set
In a CoinJoin with 5 participants, each output has an anonymity set of 5 — it could plausibly belong to any of them. Larger rounds give larger sets. Multiple sequential rounds compound the effect.
What CoinJoin does not fix
Most of what undoes a CoinJoin happens after the mix, not during it. Be honest with yourself about all four:
- Post-mix consolidation. Combine a mixed UTXO with an unmixed one in a later transaction and the common-input heuristic links them. You've just walked your privacy back.
- Amount correlation. If you mix exactly 0.314159 BTC and then spend exactly 0.314159 BTC the next day, an observer doesn't need the input graph to figure out it was you.
- Timing patterns. Spending an hour after a round, every round, builds a behavioral fingerprint that survives any single mix.
- Network metadata. If you submit your CoinJoin from your home IP, the coordinator (and anyone watching the network) can link the round to you regardless of what happens on-chain. Tor matters.
One round of CoinJoin isn't a privacy guarantee — it's a privacy improvement, with conditions.
Run a round
Pick a participant count and a mix amount, then step through the four phases of a real CoinJoin round. The values are simulated; the structure is not.
Pool configuration
Anonymity set vs. effort
Equal amounts are non-negotiable
If outputs differ, they're trivially unmixed by amount. That's why CoinJoin pools force a fixed denomination.
Coordinator can't steal
Each participant signs only the transaction that pays them out. A bad coordinator can stall a round but cannot move funds.
More rounds, more privacy, more cost
Anonymity sets compound across rounds, but so do fees and time. Plan for 3–5 rounds, not one — and budget the fee impact in advance.
Tools, tradeoffs, and what to do this week
Source check: April 2026
The CoinJoin landscape changed materially in 2024 and has been rebuilding since. Here is what is current as of 2026-04-27.
What changed in 2024:
- Samourai Wallet & Whirlpool: servers seized and founders indicted by the US DOJ on April 24, 2024. The app and Whirlpool coordinator have been inactive since.
- Sparrow Whirlpool integration: removed in Sparrow 1.9.0 on the same day.
- Wasabi (zkSNACKs coordinator): shut down on June 1, 2024 over sanctions-compliance risk. Wasabi 2.x still ships, but no longer with a default coordinator.
What's happened since:
- Independent coordinators have repopulated the ecosystem. Wasabi-compatible coordinators are listed at wabisabi.io.
- Independent operators (e.g. Kruw) have been running WabiSabi-protocol coordinators publicly post-shutdown.
- JoinMarket added user-friendly self-hosting via Jam, which installs in a couple of clicks on Umbrel and Start9 nodes.
If you're reading this more than 6 months after the date above, treat the tool list as a starting point and verify each project's current status before depending on it.
The tools that actually work today
JoinMarket via Jam
Decentralized · node-based
The most censorship-resistant option. Two-click install on Umbrel or Start9, runs through your own Bitcoin node. Higher friction than desktop wallets, but no central coordinator to take down.
jam.bitcoin →Wasabi 2.x
Desktop · choose your coordinator
Mainstream UX. Ships without a default coordinator since the June 2024 shutdown — you point it at one yourself (e.g. Kruw, others listed on wabisabi.io). The coordinator you pick can deny you service; vet before use.
wasabiwallet.io →Ginger Wallet
Desktop · Wasabi fork
A community-maintained Wasabi fork that ships with its own coordinator already configured. Pragmatic option for users who want the Wasabi UX without the coordinator-selection step.
gingerwallet.io →Sparrow Wallet (no Whirlpool)
Desktop · manual privacy
Strong UTXO labeling and coin control. Has had no built-in CoinJoin since Sparrow 1.9.0 — the value here is manual privacy hygiene (labeling, coin control, fee-bumping), not mixing.
sparrowwallet.com →