Update (April 2024): Samourai Wallet and its Whirlpool coordinator were seized by the DOJ/FBI, and the founders were arrested on money transmitting charges. Samourai's coordinator no longer operates, and Sparrow Wallet removed its Whirlpool integration in v1.9.0. In 2025, Ashigaru — a community fork continuing the Samourai lineage — launched its own new Whirlpool coordinator (Tor-only, independent of Samourai's seized infrastructure). This guide is preserved as a historical record of how the original Whirlpool worked, followed by the on-chain privacy tools that are operational today: JoinMarket, PayJoin (BIP78), and Ashigaru Whirlpool. If you came here to mix coins, skip to the live alternatives.
What Whirlpool CoinJoin Was
Whirlpool was a CoinJoin implementation developed by the Samourai Wallet team, later integrated into Sparrow Wallet as a desktop interface. It broke the transaction history of your bitcoin by mixing your UTXOs with other users' UTXOs in a structured process. After a Whirlpool mix, the on-chain link between the source of your funds and the mixed output was mathematically broken — a blockchain analyst could not determine which input mapped to which output.
Unlike centralized mixing services that take custody of your bitcoin, Whirlpool used a coordinator that blindly facilitated the mix without ever controlling your funds. The coordinator could not steal your bitcoin, could not link your inputs to your outputs, and could not censor specific users. Every mix was a standard Bitcoin transaction with equal-value outputs, enforced by Bitcoin's consensus rules.
Why CoinJoin Matters
Bitcoin transactions are permanently public. Every time you buy bitcoin on a KYC exchange and withdraw to your wallet, that address is linked to your identity. When you spend from that address, the recipient can trace the funds backward to the exchange and infer your purchase history. Chain analysis companies like Chainalysis exploit these links to build financial profiles of Bitcoin users.
CoinJoin disrupts this surveillance by creating ambiguity. After mixing, your bitcoin's on-chain history points to multiple possible origins instead of one definitive source. This is not about hiding illegal activity — it is about restoring the basic financial privacy that traditional banking provides by default but Bitcoin's transparent ledger does not. The chain analysis guide explains how tracking works in detail. The privacy goal remains valid; the tooling has simply changed.
How Whirlpool Worked
The Mix Structure
A Whirlpool mix was a multi-party transaction where 5 participants each contributed one UTXO of equal value and received one UTXO of equal value. The transaction had 5 inputs and 5 outputs, all of exactly the same denomination. An outside observer saw 5 equally sized inputs and 5 equally sized outputs with no way to determine the mapping.
The forward-looking anonymity set (anonset) started at 5 after one mix. Each subsequent remix increased the anonymity set because a UTXO got mixed with other already-mixed UTXOs. After 3–5 remixes, the practical anonset could reach dozens or hundreds of possible origins. The mechanics below are described in the past tense because the coordinator that enforced them is gone.
Pool Sizes
Whirlpool offered multiple pool denominations to accommodate different UTXO sizes:
| Pool | Denomination | Best For |
|---|---|---|
| 0.5 BTC | 50,000,000 sats | Large UTXOs from significant purchases |
| 0.05 BTC | 5,000,000 sats | Medium holdings |
| 0.01 BTC | 1,000,000 sats | Smaller amounts, more accessible |
| 0.001 BTC | 100,000 sats | Micro amounts, highest accessibility |
You paid a one-time pool entry fee (the coordinator fee) when your UTXO entered a pool. After that, you could remix an unlimited number of times for free. This economic structure incentivized leaving UTXOs in the mix pool for extended periods, which benefited all participants by increasing the available anonymity set.
TX0: The Pre-Mix Transaction
Before entering a Whirlpool pool, a UTXO went through a TX0 — a preparation transaction that split funds into pool-sized chunks. For example, sending 0.15 BTC to Whirlpool and choosing the 0.05 BTC pool, the TX0 created:
- 3 outputs of 0.05 BTC each (ready for mixing)
- 1 output for the coordinator fee
- 1 change output (any leftover amount that did not fit the pool denomination)
The TX0 change output was called toxic change because it was directly linked to your pre-mix identity. The concept of toxic change is still relevant to any CoinJoin-style tool — the live alternatives below inherit the same discipline around handling it.
How Whirlpool Was Operated (Historical)
Whirlpool ran on Samourai's own infrastructure and, from 2021, was accessible through Sparrow Wallet as a desktop client. The workflow below is documented for historical understanding. None of these steps are executable today: the Samourai coordinator was seized in April 2024, and Sparrow removed the Whirlpool mixing interface (Tools → Mix To no longer exists in current releases). Do not attempt this flow with real funds.
Step 1: Set Up the Wallet
Users downloaded and verified Sparrow Wallet, connected it to their own Bitcoin node or a public Electrum server, and opened a wallet holding the bitcoin they intended to mix. Running your own node to avoid address leakage to third parties is still good practice — and Sparrow's node connectivity, coin control, and labeling remain fully functional even though its Whirlpool feature is gone.
Step 2: Configure the Mix
The mixing tab presented the available coordinator, let the user select a pool, and accepted an optional SCODE (a discount code that reduced or eliminated the coordinator fee). This entire mixing panel has since been removed.
Step 3: Initiate the TX0
The user selected the UTXO(s) to mix, chose the pool denomination, reviewed the breakdown (pool-sized outputs, coordinator fee, miner fee, and toxic change), and broadcast the TX0.
Step 4: Wait for Mixes
After the TX0 confirmed, pool-sized UTXOs entered the pre-mix queue. Mixes happened automatically when enough participants were available, each taking one on-chain confirmation, and UTXOs moved from a "Premix" account to a "Postmix" account after their first mix.
Step 5: Remix
Once in postmix, UTXOs re-entered the pool as free riders with no additional coordinator fee, and each remix increased the anonymity set. This automatic remixing was the core value proposition — and it is precisely what stopped working when the coordinator went offline.
Remix Strategy (Historical Context)
Under Whirlpool, the number of remixes directly affected forward-looking privacy. The framework operators used was roughly:
- Minimum: 2–3 mixes — Broke the direct link from the TX0 inputs.
- Recommended: 5–10 mixes — A strong anonymity set that defeated most chain analysis heuristics.
- Paranoid: 20+ mixes — Maximum privacy, used for coins from a KYC exchange.
The same "more rounds, more ambiguity" logic applies to any decentralized CoinJoin. JoinMarket (below) lets you set a target number of coinjoins per UTXO in an analogous way.
UTXO Management After Mixing
The post-mix discipline described here was true for Whirlpool and remains true for every on-chain privacy tool. How you handle mixed UTXOs determines whether you preserve or destroy the privacy gained. This is where most users make mistakes, regardless of which tool produced the coins.
Rule 1: Never Merge Post-Mix UTXOs
If you combine two post-mix UTXOs in a single transaction, a blockchain analyst can infer they belong to the same owner. This is called the common input ownership heuristic and it partially undoes the mixing. Spend post-mix UTXOs individually whenever possible.
Rule 2: Never Merge Post-Mix With Unmixed UTXOs
Combining a mixed UTXO with a KYC-linked unmixed UTXO instantly re-links your mixed funds to your identity. This is the most common and most damaging mistake. Keep mixed and unmixed wallets completely separate.
Rule 3: Handle Toxic Change Carefully
Toxic change — the leftover output from a pre-mix transaction — is directly linked to your pre-mix identity. Options for handling it:
- Run it through a live privacy tool separately — If it is large enough, process it via JoinMarket or spend it as a PayJoin so it does not touch your clean coins.
- Spend it on something non-sensitive — Use it for a purchase where identity linkage does not matter.
- Consolidate with other KYC UTXOs only — Since it is already linked, merging it with other KYC coins does not make things worse (but never merge it with private coins).
For a comprehensive treatment of UTXO management strategies, the UTXO privacy management guide covers best practices in depth.
Rule 4: Use Coin Control for Every Spend
Sparrow's coin control feature lets you select exactly which UTXO(s) to spend in each transaction. Always use coin control when spending from any privacy-sensitive wallet. Never rely on automatic coin selection — it may merge UTXOs in ways that damage privacy. This Sparrow feature is unaffected by the removal of Whirlpool and remains one of the best coin-control implementations available.
Rule 5: Combine With Spending Tools
Sparrow supports collaborative and structured spending patterns that add plausible deniability on top of any mixing you have done, including PayJoin (see below), which turns an ordinary payment into a two-party CoinJoin. These tools are complementary to the anonymity set you build with a dedicated mixing tool.
Costs and Economics (Historical)
Coordinator Fees
Each Whirlpool pool charged a one-time fee for the TX0:
| Pool | Coordinator Fee |
|---|---|
| 0.5 BTC | ~175,000 sats (3.5%) |
| 0.05 BTC | ~17,500 sats (3.5%) |
| 0.01 BTC | ~5,000 sats (5%) |
| 0.001 BTC | ~700 sats (7%) |
The percentage was higher for smaller pools, but the absolute cost was lower. After the initial fee, all remixes were free. Fee structures on the live alternatives differ substantially: JoinMarket takers pay small maker fees per coinjoin rather than a one-time entry fee, and PayJoin adds no privacy-specific fee at all beyond ordinary miner fees.
Miner Fees
Each mix was an on-chain transaction, so users paid mining fees for the TX0 and each subsequent mix. During high-fee periods it was cost-effective to wait for lower fee rates before initiating a TX0. This on-chain cost reality applies to every CoinJoin-based approach, past and present.
Privacy Considerations
Network-Level Privacy
On-chain mixing addresses transaction graph analysis but does not protect against network-level surveillance. If your Bitcoin node's IP address is monitored, an observer can correlate transactions with your identity. Run your wallet over Tor or connect to a node that routes over Tor to prevent this. Sparrow's Tor support remains fully functional and applies to any transaction you build with it.
Coordinator Trust Model
The Whirlpool coordinator used blind signatures (a cryptographic technique where the coordinator signs something without seeing its content) to prevent linking your input to your output. The coordinator knew that you were participating in a mix but could not determine which output was yours. It still learned your IP address (mitigated by Tor) and the fact that you were mixing. This centralized-coordinator dependency is exactly the single point of failure that the April 2024 seizure exploited — and it is why the decentralized alternatives below matter.
The April 2024 Seizure and Its Aftermath
In April 2024 the DOJ/FBI seized Samourai Wallet and its Whirlpool coordinator, and the founders were arrested on money transmitting charges. Contrary to a common misconception, this was not merely an infrastructure hiccup with community coordinators picking up where Samourai left off — the Whirlpool coordinator has not operated since, and Sparrow Wallet removed its Whirlpool integration in response. Separately, zkSNACKs (the default coordinator behind Wasabi's coinjoin) shut down its coinjoin service in 2024 as well. The practical takeaway: coordinator-dependent mixing on Bitcoin was effectively dismantled that year, and privacy-conscious users moved to the tools described next.
Live On-Chain Privacy Tools Today
These are the operational paths for on-chain Bitcoin privacy as of this writing. They replace, rather than restore, the Whirlpool workflow above.
- JoinMarket — A decentralized CoinJoin marketplace with no central coordinator. Makers offer liquidity and earn fees; takers pay those fees to build coinjoins on demand. It is more technically involved to run than a one-click mixer was, but there is no coordinator to seize, which is precisely why it survives. This is the closest live equivalent to what Whirlpool offered.
- PayJoin (BIP78) — A two-party CoinJoin disguised as an ordinary payment. Both the sender and receiver contribute inputs, which breaks the common input ownership heuristic for that transaction. It only works when you are making a real payment to a cooperating counterparty, but it adds privacy with no dedicated coordinator and no separate mixing fee. Sparrow supports PayJoin natively.
- Ashigaru Whirlpool — The community fork continuing the Samourai lineage relaunched Whirlpool in 2025 with its own new coordinator: Tor-only (no clearnet connections), independent of Samourai's seized infrastructure, with an initial 0.025 BTC pool, a 5% coordinator fee, and free remixing. Know the trade-offs before using it: it is still a centralized coordinator — the same structural risk that ended Samourai — and the coordinator fee is substantially higher than the original Whirlpool charged. If you specifically want the Zerolink design tradition Whirlpool came from, this is the project carrying it forward; if avoiding any central coordinator matters more, use JoinMarket.
Alongside these, Silent Payments (BIP352) improve receiver privacy through static reusable addresses without any CoinJoin, and are complementary to the tools above. The advanced privacy strategies guide compares these approaches and when to use each.
Practical Workflow Example (Illustrative, Historical)
To illustrate how the full Whirlpool flow used to fit together — again, this was the process before April 2024 and is no longer executable:
- Starting position: 0.12 BTC in a wallet, received from a KYC exchange. The exchange knew the owner's identity and could see the UTXO on the blockchain.
- Choose the 0.01 BTC pool. The 0.12 BTC would produce roughly 11 outputs of 0.01 BTC each, plus coordinator fees and toxic change.
- Initiate TX0. The wallet split the UTXO into pool-sized pieces at a cost of the coordinator fee (about 5,000 sats) plus miner fees, leaving 11 pre-mix UTXOs and a small toxic change output.
- Wait for mixes. Over hours to days, each of the 11 UTXOs got its initial mix and moved from "Premix" to "Postmix."
- Let them remix. Each UTXO remixed multiple times at no cost, steadily increasing the anonymity set.
- Spend when ready. The user selected a single post-mix UTXO with coin control and sent it; the recipient had no way to trace it back to the KYC purchase.
- Handle toxic change. The leftover change stayed in a separate wallet, still linked to identity.
To achieve the same outcome today, a JoinMarket taker would target a number of coinjoins on a UTXO instead of pool remixes, while keeping the identical discipline: never let private UTXOs touch pre-mix or unmixed coins, and treat them as entirely separate financial pools managed in separate wallets.
Common Mistakes and How to Avoid Them
These errors partially or fully undo the privacy benefits of any CoinJoin tool — Whirlpool historically, JoinMarket and PayJoin today:
- Sending private UTXOs back to a KYC exchange address. This re-links the coins to your identity. If you need to sell, use a peer-to-peer method that does not require identity verification.
- Consolidating small private UTXOs. Each consolidation partially degrades privacy. When possible, use multiple separate transactions instead of one consolidated spend.
- Not using Tor. Without Tor, your home IP address is visible to your Bitcoin node's peers and to any coordinator or maker you interact with. Always connect through Tor when doing privacy-sensitive transactions.
- Mixing and immediately spending. Spending within a few blocks of mixing lets timing analysis narrow down which output is yours. Let private UTXOs sit for at least a few days before spending.
Frequently Asked Questions
Is CoinJoin legal?
CoinJoin is a standard Bitcoin transaction. There is no law in most jurisdictions that prohibits constructing transactions with specific structures. The legal risk relates to operating a centralized mixing service — as seen with the Samourai case, where the founders were arrested and the Whirlpool coordinator seized in April 2024 — not to participating in a decentralized CoinJoin as a user. Regulations vary by jurisdiction, and some exchanges may flag coins with CoinJoin history. Consult local legal guidance for your specific situation.
Can I still use Whirlpool?
Not the original. Samourai's Whirlpool coordinator has not operated since the DOJ/FBI seizure in April 2024, and Sparrow Wallet removed its Whirlpool integration in v1.9.0. In 2025, the community fork Ashigaru relaunched Whirlpool with its own new Tor-only coordinator, independent of Samourai's infrastructure — but it remains a centralized coordinator with a 5% fee, so weigh that trade-off. For coordinator-free on-chain privacy, use JoinMarket (decentralized maker/taker CoinJoin) or PayJoin (BIP78, a two-party CoinJoin inside a normal payment).
Will exchanges reject bitcoin with CoinJoin history?
Some exchanges use chain analysis tools that flag CoinJoin transactions. Coinbase, for example, has reportedly frozen accounts with mixing-associated UTXOs. If you plan to sell privacy-processed bitcoin on a KYC exchange, be aware of this risk. Alternatives include peer-to-peer sales or using exchanges with more privacy-friendly policies.
Can I mix directly from a hardware wallet?
Hardware wallets do not participate in interactive CoinJoin directly, because the process requires frequent automatic signing. Decentralized tools like JoinMarket run on an always-on machine. After building privacy, you can send the resulting UTXOs to a hardware wallet for cold storage, but send each UTXO to a separate address and never consolidate them.
What was the minimum amount Whirlpool could mix?
The smallest Whirlpool pool was 0.001 BTC (100,000 sats), and a UTXO had to cover the pool denomination plus the coordinator fee plus mining fees — in practice at least 110,000–120,000 sats. This is historical; JoinMarket has no fixed pool denominations, so minimums depend on offered maker liquidity and fee economics.
Did Whirlpool work on mobile?
Whirlpool was accessible via Samourai's mobile app and via desktop Sparrow. Both paths are gone: Samourai was seized in April 2024 and Sparrow removed Whirlpool. For a broader perspective, explore our Bitcoin privacy techniques guide.