🔀 You Fixed Your Receiving Privacy. Now Fix Your Spending.
Silent Payments protect you when you receive Bitcoin. CoinJoin protects you when you spend it. Here’s the complete picture — and how to actually do it in May 2026.
If you read my previous article on Silent Payments, you already know that BIP352 elegantly solves one half of the Bitcoin privacy problem: receiving funds without leaking your financial history to anyone watching the blockchain. If you haven’t read it yet, start there: Silent Payments (BIP352): The Complete Guide to Receiving Bitcoin Privately → https://davidebtc186.substack.com/p/silent-payments-bip352-the-complete
But a commenter on Reddit made a point I want to address directly:
“if/when a receiver of a Silent Payment spends his received UTXOs, perhaps even KYC’d ones, it can be inferred that he very likely is the owner of all the UTXOs spent in the transaction.”
He’s right. Silent Payments are not a complete privacy solution on their own. They protect your receiving address from being linked across multiple payments. But the moment you spend those UTXOs, standard chain analysis heuristics — especially the Common Input Ownership Heuristic (CIOH) — come back into play.
The fix for the spending side is CoinJoin.
What Is CoinJoin and Why Does It Matter
CoinJoin was first proposed by Bitcoin developer Gregory Maxwell in 2013. The concept is simple: instead of one person broadcasting a transaction with their inputs and outputs, multiple people combine their inputs and outputs into a single transaction.
From the outside, it becomes nearly impossible to tell which input corresponds to which output. The transaction graph — the thing chain analysis firms sell access to — gets broken.
No custody of funds is ever transferred. No trust is required between participants. The coordinator (if there is one) never touches your private keys. It’s a purely cryptographic coordination mechanism.
The State of CoinJoin in 2026: What Happened and Where We Are
The landscape changed dramatically between 2024 and today. You need to understand this context before choosing a tool.
Samourai Wallet / Whirlpool — Dead, founders in prison
In April 2024, the DOJ arrested the Samourai Wallet co-founders Keonne Rodriguez and William Lonergan Hill, and seized their servers. Whirlpool, their CoinJoin coordinator, went offline immediately.
The case took an ugly turn. Despite FinCEN telling prosecutors before the indictment that Samourai did not qualify as a money transmitter — a fact prosecutors allegedly withheld from the defense — both founders ended up pleading guilty by late 2025. Rodriguez received a five-year sentence, Hill four years. They began serving time in early 2026.
The original Samourai codebase lives on as Ashigaru, a community fork. Rodriguez himself is still writing from prison, warning that the legal reasoning used against him could eventually be applied to Bitcoin miners.
This is not ancient history. This happened less than two years ago and it matters for how you think about privacy tools.
Wasabi Wallet / zkSNACKs — Coordinator shut down, wallet still alive
Following the Samourai crackdown, zkSNACKs — the company behind Wasabi Wallet — voluntarily shut down their CoinJoin coordinator on June 1, 2024, citing regulatory pressure.
The wallet software itself is fully alive and actively maintained. Wasabi introduced a coordinator selection feature in the UI, meaning you can now point the wallet at any community coordinator without editing config files manually. The WabiSabi protocol underneath is solid — the coordinator cannot steal funds or deanonymize participants by design.
As of May 2026, no jurisdiction has prosecuted individual CoinJoin users for personal transaction privacy. Enforcement has targeted coordinators and operators, not users.
JoinMarket / Jam — Still alive, fully decentralized, no coordinator to arrest
JoinMarket never had a central coordinator. It runs peer-to-peer over IRC relays on Tor. There is no company, no server, no single point of failure. This makes it the most legally resilient option available — and also the most technically demanding to set up.
The Three Options in May 2026
Option 1 — Wasabi Wallet + Community Coordinator (Easiest)
Wasabi implements the WabiSabi protocol, which supports variable-amount CoinJoins. This significantly reduces the toxic change problem that plagued older fixed-denomination mixing, where leftover change could be linked back to you.
Since zkSNACKs shut down, you need to select a community coordinator. The most established option right now is OpenCoordinator — running since mid-2024, over 5,000 successful coinjoins coordinated, 0% coordinator fee, no country blocklists, no UTXO blocklists. A full list of active coordinators is available at wabisator.com.
Setup step by step:
Download Wasabi Wallet from wasabiwallet.io — verify the PGP signature before installing
Open the wallet and go to Settings (search “Coordinator” in the settings search bar)
Change the Coordinator URI from the default https://api.wasabiwallet.io/ to https://api.opencoordinator.org/
For better privacy, use the onion address instead: http://ocwasabinc5pfdrpgixjd4wwadfsf2yydqihwnduoixkusnydx63utyd.onion/
Restart Wasabi
Go to the CoinJoin tab — it runs automatically in the background while your wallet is open
Watch the anonScore for your UTXOs — aim for 50+ before considering those coins private
Wasabi routes all traffic through Tor by default. Leave it on. Do not disable it. If Tor breaks, fix Tor — do not route around it.
Tradeoff: You’re trusting a community coordinator. OpenCoordinator cannot steal your funds (WabiSabi prevents this cryptographically), but it can observe metadata about your participation. The onion address reduces this exposure. Check coordinator activity and round participation at opencoordinator.org/status before using.
Option 2 — JoinMarket via Jam (Most Private, Requires a Node)
JoinMarket is the original, fully decentralized CoinJoin implementation. No coordinator, no company, no single point of arrest. It runs peer-to-peer over IRC relays on Tor.
It works on a maker-taker model:
Makers lock up liquidity and earn a small fee for facilitating mixes
Takers initiate CoinJoin transactions and pay that fee to makers
More participants, more liquidity, and better anonymity sets — at the cost of more setup complexity.
Jam is the graphical web interface for JoinMarket, installable on your node in a few clicks.
Setup on Umbrel:
Open your Umbrel dashboard → App Store → search “Jam” → Install
Open Jam → Create a new wallet → write down your seed phrase offline and securely
Send bitcoin to your Jam wallet to fund it
Use the “Earn” tab to become a maker (passive, earns fees from others mixing)
Use the “Send” tab to run as a taker (active, initiates your own CoinJoin round)
Same process on Start9, RaspiBlitz, MyNode, and RaspiBolt. Check jamdocs.org for node-specific instructions.
⚠️ Critical compatibility warning — May 2026:
JoinMarket v0.9.11 and earlier are NOT compatible with Bitcoin Core v30, which removed legacy BDB wallet support. Bitcoin Core v30.2 is the current release.
If your node is running Bitcoin Core v30, you have two options:
Pin your node to Bitcoin Core v29.2 in your node app settings (easiest, supported on Umbrel)
Add
deprecatedrpc=create_bdbto your bitcoin.conf file (workaround)
A fix requiring JoinMarket to support Bitcoin Core descriptor wallets is in development but not yet released as of this writing. Check jamdocs.org/FAQ for the latest status before installing.
Tradeoff: Requires a full node. Setup has more steps than Wasabi. Mix rounds take longer as you wait for makers to respond. But no coordinator to trust, surveil, or shut down. The most sovereign option available.
📖 Haven’t read the first part yet? This article is the second in a series on building a complete Bitcoin privacy stack. Start here: Silent Payments (BIP352): The Complete Guide to Receiving Bitcoin Privately → https://davidebtc186.substack.com/p/silent-payments-bip352-the-complete
Option 3 — Whirlpool via Ashigaru (Advanced, Watch This Space)
Ashigaru is the community continuation of the Whirlpool protocol after Samourai’s shutdown. It uses fixed-denomination pools, which provides strong and measurable anonymity sets for the outputs.
The interface is Terminal-based (TUI), which puts it out of reach for most non-technical users. Pool liquidity is still rebuilding after Samourai’s collapse. Worth watching as the project matures, but for most users in 2026, Wasabi or JoinMarket/Jam are the better starting points.
What You’re Actually Fighting
Chain analysis is a real industry with real money behind it. Chainalysis generates around $90M per year selling Bitcoin tracing tools to governments, exchanges, and financial institutions. Their Reactor product uses UTXO heuristics to reconstruct transaction histories and link addresses.
CoinJoin directly attacks those heuristics. When done correctly, it breaks the deterministic links that chain analysis relies on. When done incorrectly — mixing and then immediately consolidating outputs with KYC’d coins, for example — it can be partially undone.
A few rules to follow after coinjoining:
Never merge coinjoin outputs with non-coinjoin UTXOs in the same transaction
Use coin control to deliberately choose which UTXOs you spend — Sparrow Wallet and Wasabi both support this well
Where possible, spend coinjoin outputs via Lightning — it adds another privacy layer
If spending on-chain, avoid creating change when you can (spend the full UTXO amount)
Don’t reuse addresses after mixing — that undoes the whole point
The Full Stack: Silent Payments + CoinJoin + Lightning
Now the complete picture:
Receiving → Silent Payments (BIP352) Your static sp1q... address generates a fresh, unlinkable on-chain output for every incoming payment. No one watching the blockchain can link multiple payments to you.
Spending → CoinJoin before any significant on-chain spend Your UTXOs get mixed with others before you spend, breaking input ownership heuristics that chain analysis relies on.
Everyday payments → Lightning Network Spend coinjoin outputs by opening Lightning channels or routing payments. Lightning payments leave no on-chain trace of the payment itself.
This isn’t about having something to hide. It’s about understanding that a fully transparent financial history — visible to anyone forever — is not a neutral default. It’s a surveillance infrastructure. You wouldn’t post your bank statements publicly. You shouldn’t treat your Bitcoin address the same way.
Quick Reference: Which Tool for Which Situation
Situation Best option You want the easiest setup Wasabi + OpenCoordinator You run your own node JoinMarket via Jam You want maximum decentralization JoinMarket via Jam You want fixed denomination pools Ashigaru / Whirlpool (lower liquidity) You want to earn fees while mixing JoinMarket maker mode You’re on Bitcoin Core v30 Wasabi (Jam has compatibility issues)
Checklist Before Your First CoinJoin
[ ] You’re in self-custody first — CoinJoin only works from a wallet you control
[ ] Download Wasabi from wasabiwallet.io with PGP verification, or install Jam from your node’s app store
[ ] Fund a wallet dedicated to mixing — don’t mix your entire stack in one go
[ ] If using Wasabi: change coordinator to OpenCoordinator or another active community coordinator before starting
[ ] Enable Tor — always, no exceptions
[ ] If using Jam on a node running Bitcoin Core v30: pin to v29.2 first
[ ] After mixing: label your UTXOs in Sparrow Wallet and track which are mixed
[ ] Never merge mixed and unmixed UTXOs in the same transaction
The Bottom Line
The crackdown on Samourai and the shutdown of zkSNACKs was meant to send a message. The message didn’t land the way regulators hoped. JoinMarket had no coordinator to shut down. Wasabi’s open coordinator model means anyone can run one. The Samourai code lives on in Ashigaru.
The tools survived. The ecosystem is more decentralized now than it was before the crackdown.
Silent Payments for receiving. CoinJoin for spending. Lightning for everything in between.
That’s the stack. Use it.
Found this useful? Share it with someone who still thinks Bitcoin is private by default.
⚡ Support this work: donate@shadowbip.com
🛠 Sponsor my open source work on GitHub: https://github.com/shadowbipnode/


