UTXO segregation means keeping coins from different sources apart, so that spending one never exposes the others. A UTXO (unspent transaction output) is one of the separate coins your wallet holds, and each one carries its own public history. CoinJoin is one transaction that several people build together, in which many outputs share the same amounts, so that outsiders looking at the blockchain cannot tell which of those outputs belongs to whom. The two work as a pair: segregation stops you from creating new links between your coins, and CoinJoin cuts links that already exist. This guide follows the whole route, from sorting your coins by source to mixing them and moving them into cold storage on a hardware wallet.
Which CoinJoin tools still work (checked 7 November 2026). The tools have changed a lot since this guide first appeared:
- Samourai’s Whirlpool is gone. US authorities seized Samourai Wallet’s servers in April 2024, and Sparrow Wallet removed its Whirlpool client in version 1.9.0 that same month. Ashigaru, an independent project, revived the Whirlpool design in 2025 with a new coordinator, the server that organizes each mixing round.
- Wasabi’s original coordinator is gone, but the wallet still works. zkSNACKs switched its coordinator off on 1 June 2024. In Wasabi you now choose an independent coordinator yourself, and Ginger Wallet, a Wasabi fork, comes with its own.
- The original JoinMarket software is archived and unsafe. It was archived in April 2026, and its page now says “DO NOT USE THIS CODE”: its known vulnerabilities will not be fixed. On 4 November 2026 its maintainers added that every release with PayJoin (v0.7.0 to v0.9.12) lets a malicious receiver take the full value of the coins you spend when you send a PayJoin payment with it. (In a PayJoin, the person you pay adds one of their own coins to the payment; Step 5 explains it.) JoinMarket NG, an independent reimplementation that joins the same market, is the maintained option; Jam 2.0, a web interface that now runs on it, is in beta.
How a CoinJoin works, what each tool costs and what you trust a coordinator with are explained step by step in our lesson CoinJoin in 2026: How Bitcoin Mixing Works and What Still Operates After Whirlpool.
Start with where your coins came from. Coins withdrawn from an exchange that verified your identity (KYC, “know your customer”) are tied to your name; coins bought peer to peer without ID carry no such record, though a seller you pay by bank transfer still sees your name. Chain analysis assumes that all the coins spent in one transaction belong to one person, so a single payment that spends both kinds links them for good. Our guide to Bitcoin and digital identity shows how those links reach your name.
Mix before cold storage. The CoinJoin tools in this guide sign with keys held in a software wallet on an online device, because each round needs quick signatures; Wasabi’s documentation states that a hardware wallet cannot take part directly. The usual route is to send coins from the hardware wallet to the mixing wallet, mix them, and send each mixed coin back to a fresh address on the hardware wallet. Done in that order, the coins you keep for years arrive in cold storage with the link to your identity already cut.
Run the whole route through your own node. A wallet that asks someone else’s server about your addresses tells that server which coins are yours, before and after the mix. Your own node answers those questions at home and checks every transaction against the rules itself. If you are setting one up, our guide to node sync problems and their fixes helps with the first sync.
Sparrow Wallet remains a strong desktop interface for a hardware wallet. It lists every coin, lets you label each one and choose by hand which coins a payment spends (coin control), and connects to your own node. It no longer mixes coins: use it to sort and spend, and a separate tool to mix. These habits are covered further in our advanced wallet privacy strategies and in how wallets build in privacy features.
Step-by-Step Guide to Implementing CoinJoin with Proper UTXO Segregation
Running CoinJoin well takes more than clicking a button in your wallet. The privacy you gain depends on how you handle your coins before, during and after the shared transaction. The steps below work with any of the tools that still operate; where a tool behaves differently, it is named.
Step 1: Sort your UTXOs by source before you mix. List every coin and note where it came from: purchases on an exchange that verified you (tied to your identity), purchases without ID (Bisq, HodlHodl, RoboSats or other peer-to-peer trades), mining rewards, payments from people who know you, and coins from earlier CoinJoins. In Sparrow Wallet, open the UTXOs tab and give every coin a label. Labels live only in your wallet file, so export them (Sparrow uses the BIP 329 format) and keep the file as private as the wallet itself. Many people go further and keep a separate wallet for each source, so coins from different sources can never be spent together by accident. This sorting also tells you which coins need mixing most.
Step 2: Choose a CoinJoin tool that still works. Most tools use a coordinator, a server that gathers the participants and assembles the transaction. A coordinator cannot take your coins, because your wallet checks the transaction and signs only its own inputs. It can stop its rounds, though, and a dishonest one may learn which outputs are yours, so prefer coordinators run by people with a public reputation. As of November 2026 the options are as follows (fees and status change quickly, so check each project’s own pages before you start):
- Wasabi Wallet with an independent coordinator. You paste a coordinator address in Settings, on the Coordinator tab, and restart Wasabi. Wasabi joins only rounds with no coordinator fee: you pay mining fees, and in rare cases a leftover of at most 10,000 sats per coinjoin goes to the coordinator. Each person can put in and take out different amounts, so little change is left over.
- Ginger Wallet. A Wasabi fork that comes with its own coordinator. It charges a 0.3% coordinator fee on coins over 0.03 BTC, plus mining fees; smaller coins and remixes pay no coordinator fee. Its coordinator screens coins, and its terms exclude U.S. nationals and anyone located in the U.S. or its territories.
- Ashigaru Whirlpool. The revived Whirlpool design, on new infrastructure and over Tor only (Tor is a network that hides your IP address). It has fixed pools of 0.025 and 0.25 BTC, an entry fee of 5% of the pool size, and free remixes afterwards. Download it only from ashigaru.rs and verify the signature.
- JoinMarket NG, optionally with Jam 2.0. There is no central coordinator: makers leave coins available and earn a fee each time they are used, and a taker starts a CoinJoin, picks makers and pays them. Because the taker builds the transaction, the taker learns which outputs belong to which maker, so takers get the stronger privacy. JoinMarket NG is used mainly from the command line and is technical to set up; its getting-started guide walks through installation. Jam 2.0, the web interface, is still in beta.
Choose by amount and comfort. Wasabi or Ginger suit most people mixing on a desktop, because your coins don’t have to match a fixed pool size. Ashigaru’s fixed pools make costs easy to predict, but they leave toxic change (Step 7) and cost at least 125,000 sats per entry. JoinMarket NG avoids a central coordinator in exchange for more setup. If you still run the original JoinMarket from an old node app, stop using it and move the wallet to JoinMarket NG with its backup, recovery and migration guide; if your node’s app store offers Jam or JoinMarket, check which backend it installs.
Step 3: Mix one source at a time. Whatever the tool, a mixing session should never bring together coins you have kept apart.
- Wasabi (and Ginger, which is built on it) registers coins for each round automatically; you cannot pick them by hand. Keep each source in its own wallet. In Wasabi you can also hold coins back with Exclude Coins, in the menu of the music box, the coinjoin control at the bottom of the wallet. Its non-private coin isolation setting, on by default in the Default and Enhance Privacy strategies, registers at most one unmixed coin per round, so outside observers can’t use the round’s inputs to link your unmixed coins to each other.
- Ashigaru starts with an entry transaction called Tx0, which splits your coin into pool-sized pieces and pays the entry fee. If you select several coins for one Tx0, they are spent together in it, so select coins from one source only.
- JoinMarket NG keeps separate accounts, called mixdepths, inside one wallet. Its privacy guide advises keeping funds with unrelated histories apart and warns that mixdepth numbers are not a privacy score.
Step 4: Let your coins go through more than one round. Your anonymity set is the number of equal outputs your coin could be, from an outsider’s point of view. A bigger crowd is better, but only real participants count: if one surveillance firm put in most of the coins, your real crowd is small (one party posing as many is called a Sybil attack). Remixing, sending a mixed coin through further rounds, helps, though the gains don’t simply multiply, especially if you meet the same participants again.
How each tool handles remixing:
- Wasabi keeps coinjoining your coins until they reach the anonymity score target of your coinjoin strategy, paying mining fees each round.
- Ginger, built on Wasabi, charges no coordinator fee on remixes.
- Ashigaru remixes your mixed coins for free while the client is running, with no further entry fee.
- With JoinMarket NG, the taker pays the chosen makers’ fees and a mining fee for every CoinJoin. Its tumbler, a script rather than a mixing service, runs a longer sequence of CoinJoins to several destinations, with waits in between. Its privacy guide warns against recombining the payouts right after a run and against treating a finished run as a privacy certificate. As with any mixed coins, spend each payout on its own (Step 5).
Step 5: Spend each mixed coin on its own. After a CoinJoin, treat every mixed coin separately. Never spend a mixed coin together with an unmixed coin or with toxic change, and avoid spending two mixed coins together: coins spent in one transaction look like one owner’s.
When a payment is bigger than any single mixed coin, choose one of these options, each with a cost:
- Pay in parts. Ask the recipient for two addresses and pay each from a different mixed coin, at different times. Nothing on the blockchain joins your coins, but the recipient knows both payments came from you.
- Pay inside a coinjoin. Since version 2.8.0, Wasabi’s app lets you schedule a payment as one of the outputs of a coinjoin, so you don’t have to mix first and then pay on your own.
- Spend two mixed coins together, knowingly. Observers will link those two coins to each other. That is a real loss, but much smaller than merging with an exchange coin, because neither coin points back to your history.
- Plan ahead. If you know a large payment is coming, mix a larger amount, or keep those funds outside your private coins.
If the person you pay supports PayJoin, it adds privacy on top. In a PayJoin the recipient adds one of their own coins to your payment, so an outsider’s assumption that all the inputs share one owner gives the wrong answer. Sparrow can send a PayJoin (BIP 78) when you pay from a payment link or QR code that offers it. Never send a PayJoin with the original JoinMarket software.
Step 6: Move mixed coins to cold storage one at a time. Send each mixed coin in its own transaction to a fresh receiving address on your hardware wallet, and send the whole coin, so no change is created. Do not batch several mixed coins into one transaction to cold storage: that proves they share an owner and undoes the CoinJoin. Space the transfers out over time, and make them through your own node so no outside server sees your addresses. Label each coin in your hardware wallet’s software (for example “mixed, Wasabi, November 2026”): the hardware wallet does not know the coin’s history, and Wasabi’s documentation notes that a mixed coin sent to another Wasabi wallet starts again at an anonymity score of 1. Wasabi can also coinjoin straight into another wallet loaded in Wasabi, such as your hardware wallet’s, which saves a transaction; its documentation warns that this sends every coinjoin output there, whether or not it has reached your privacy target.
Step 7: Keep toxic change apart. Toxic change is the part of your coin that a CoinJoin hands back unmixed, because equal outputs need equal amounts and your coin rarely matches exactly. It stays directly linked to the coin you put in, and so to your identity if that coin came from an exchange. Fixed-pool tools such as Ashigaru produce it on almost every entry: Tx0 keeps only the pool-sized part and returns the rest to you. The figure follows one 0.03 BTC coin through Ashigaru’s 0.025 BTC pool.
Never spend toxic change together with mixed coins, and never send it to an address tied to your mixed funds. Label it (for example “KYC change”), then spend it where your identity is already known, donate it, or keep it for a later mix together with other coins from the same source.
Step 8: Check your own transactions. After mixing and spending, look at your transactions the way an analyst would. In Sparrow connected to your own Electrum server (Electrs or Fulcrum, which index the blockchain on your node), open each transaction and compare its inputs and outputs with your labels. Confirm that no transaction spends coins you meant to keep apart and that no address was used twice. Avoid pasting your addresses into public block explorers: the site learns which addresses interest you. The Samourai-era analysis sites OXT.me and KYCP.org are gone: as of 7 November 2026 one does not answer and the other is a parked domain. If either name comes back, it is not the original service, so don’t paste your addresses into it.
Common Mistakes to Avoid
1. Merging mixed UTXOs in a single spend transaction. This is the most common CoinJoin mistake. If you combine two CoinJoin outputs as inputs to one transaction, you show they belong to the same person, shrinking your effective anonymity set back toward 1. Spend mixed UTXOs individually; when a payment needs more than one, use the options in Step 5.
2. Sending CoinJoin outputs back to a KYC exchange. Depositing mixed bitcoin to an exchange that knows your identity ties those coins to your name again. The exchange links the deposit to your account, and the chain analysis firms it works with can see that the coin came out of a CoinJoin. Some exchanges also question, freeze or refuse deposits with CoinJoin history. If you want to sell mixed bitcoin, sell it peer to peer without ID checks, for example on Bisq or HodlHodl; our lesson on buying bitcoin without KYC explains how those markets work.
3. Letting someone else’s server see your addresses. A wallet connected to a public Electrum server, a server that indexes the blockchain by address, asks it about every address in the wallet. That server can then link your coins before and after the mix, which defeats the purpose. Connect Sparrow to your own Electrum server (Electrs or Fulcrum) on your own Bitcoin node. Wasabi works differently: it downloads compact block filters and checks them on your computer, so the server that provides them does not learn your addresses, and it can also use your own Bitcoin node through its Bitcoin RPC settings. JoinMarket NG runs on your own Bitcoin Core node or on a light backend called Neutrino.
4. Spending toxic change alongside clean outputs. The change left over when a coin enters a CoinJoin is directly traceable to your original coin. If you spend it in the same transaction as a mixed output, the transaction links your pre-CoinJoin identity to your post-CoinJoin funds. Handle toxic change entirely apart from mixed coins: think of it as radioactive material that contaminates anything it touches.
5. Running CoinJoin with insufficient rounds. A single round with a handful of participants gives a small anonymity set, and against a chain analysis firm with access to exchange data that may not be enough. Let your coins go through further rounds: Wasabi does this automatically until your coins reach your privacy target, Ashigaru and Ginger remix without a further coordinator fee, and with JoinMarket NG a taker pays maker fees for every CoinJoin. More rounds generally help, though the gains shrink when you meet the same participants again, so weigh the cost against the privacy you need.
Frequently Asked Questions
How much does CoinJoin cost in transaction fees?
Costs depend on the tool. As of November 2026, Wasabi with an independent coordinator costs mining fees only, plus, in rare cases, a leftover of at most 10,000 sats per coinjoin that goes to the coordinator. Ginger Wallet charges a 0.3% coordinator fee on coins over 0.03 BTC plus mining fees; smaller coins and remixes pay no coordinator fee. Ashigaru Whirlpool charges an entry fee of 5% of the pool size (125,000 sats for the 0.025 BTC pool), paid once per entry, then remixes for free; mining fees come on top. With JoinMarket NG, a taker pays the chosen makers’ fees plus the mining fee for each CoinJoin, and a maker earns fees instead. A PayJoin costs little more than an ordinary payment: the recipient’s extra input adds a small mining fee, which the sender can cap under BIP 78. Fees change, so check each project’s own pages before you start.
Is CoinJoin legal?
Using CoinJoin is a way of building a Bitcoin transaction. The Samourai case targeted the people who ran a coordination service, not its users: US authorities seized Samourai Wallet’s servers in April 2024, and in November 2025 its founders were sentenced to five and four years in prison after pleading guilty to conspiring to run an unlicensed money-transmitting business. zkSNACKs switched off Wasabi’s original coordinator on 1 June 2024; the wallet still works with independent coordinators. As a user, the risk you are most likely to meet is an exchange questioning, freezing or refusing coins with CoinJoin history. Rules differ by country, so check yours.
Can chain analysis firms “unmix” CoinJoin transactions?
From the blockchain alone, a well-run CoinJoin with equal outputs cannot be undone with certainty: each equal output could belong to any participant. Chain analysis firms instead use probabilistic heuristics and outside data, such as exchange records, timing and amounts, to shrink the effective anonymity set, and they exploit mistakes made after mixing (merging outputs, deposits to exchanges that know you, address reuse). The coordinator is the other weak point: in December 2024 developer Yuval Kogman described ways a dishonest coordinator can trick Wasabi-family clients and the Whirlpool design into revealing which outputs are yours. It cannot steal coins, but it can learn those links, so choose coordinators run by people with a public reputation.
Should I CoinJoin all my Bitcoin or only certain UTXOs?
Prioritize CoinJoin for UTXOs with the highest privacy risk: KYC exchange purchases (directly linked to your identity), payments from known entities, and any UTXOs you plan to use for sensitive transactions. Non-KYC Bitcoin purchased through peer-to-peer methods already has better privacy properties, though CoinJoin still improves it. Bitcoin you plan to hold in cold storage for years benefits from CoinJoin as a one-time operation before storage, providing privacy protection against future chain analysis improvements. For small amounts, or coins that will go back to an exchange that knows you, a CoinJoin is often not worth the cost.
What is the difference between CoinJoin and a centralized mixer?
CoinJoin is a collaborative transaction where several participants build one Bitcoin transaction together; at no point does anyone hold another participant’s funds. Centralized mixers (tumblers) take custody of your Bitcoin, mix it with other deposits, and send back different coins. They carry custodial risk (exit scams), legal risk (money transmission licensing), and often keep logs that can be subpoenaed. CoinJoin is non-custodial: you sign only your own inputs, after your wallet checks that your output is in the transaction. It still involves some trust: a coordinator can stop its rounds and may learn which outputs are yours, so pick one run by people with a public reputation, or use JoinMarket NG, which has no central coordinator (there, the taker who builds each CoinJoin learns which outputs belong to which maker). Always prefer CoinJoin over centralized mixers.
Related Resources
- Bitcoin CoinJoin: Mixing Strategies Guide — Deep technical analysis of CoinJoin protocols, anonymity set mathematics, and risk assessment.
- CoinJoin Costs: Privacy Transaction Fees — Detailed cost-benefit analysis of CoinJoin across different implementations and usage patterns.
- Bitcoin UTXO Privacy Management: Full Guide — Guide to UTXO management practices that complement and enhance CoinJoin effectiveness.
- Bitcoin Wallet Privacy Features Explained — How modern wallet software implements CoinJoin and other privacy features at the application level.
- Bitcoin Transaction Privacy: Technical Guide — Broader context for CoinJoin within the full spectrum of Bitcoin transaction privacy techniques.



