CoinJoin is a standard Bitcoin transaction technique. It is legal in most jurisdictions, though some exchanges may flag or reject UTXOs with CoinJoin history.
CoinJoin Guide: How Pooled UTXO Transactions Work
TRUSTLESS COLLABORATIVE BITCOIN TRANSACTIONS
CoinJoin is the original and most widely used implementation of the Pooled UTXO Model. Proposed by Bitcoin developer Gregory Maxwell in 2013, CoinJoin allows multiple users to combine their UTXOs into a single on-chain transaction without any trusted intermediary. Because the inputs and outputs are mixed, observers cannot determine which input funded which output, breaking the chain of ownership that on-chain analytics tools depend on.
A basic CoinJoin works as follows: a coordinator (software, not a custodian) invites participants, each of whom submits one or more UTXOs as inputs and specifies their desired output address. The coordinator assembles the combined transaction, distributes it to all participants for review, and each participant signs only if the transaction accurately reflects their inputs and outputs. The transaction is then broadcast. Because all signatures must be valid before broadcast, no coordinator or other participant can steal funds.
For maximum privacy, CoinJoin implementations use equal-denomination outputs. If all outputs are exactly 0.01 BTC, an observer cannot tell by output value which participant received which output. The anonymity set — the number of outputs that could plausibly belong to any given participant — equals the total number of equal-denomination outputs in the transaction. Larger anonymity sets provide stronger privacy.
Wasabi Wallet (desktop) and JoinMarket are the two most established CoinJoin implementations for Bitcoin self-custody. Wasabi Wallet uses a centralised coordinator (who cannot steal funds but can deanonymise participants) and charges a coordinator fee. JoinMarket uses a peer-to-peer market where 'makers' earn a small fee for providing liquidity to 'takers' who initiate CoinJoin rounds. Both are non-custodial: your private keys never leave your device.
Whirlpool, available in Samourai Wallet and Sparrow Wallet, uses a different architecture where UTXOs are continuously remixed in small equal-denomination pools (0.001, 0.01, 0.05, or 0.5 BTC). Once a UTXO has completed its first Whirlpool mix (a 'TX0'), it can be remixed as many times as desired at zero additional cost, compounding the anonymity set with each round.
PayJoin: Stealth Pooled Transactions
KEY INSIGHTS
PayJoin (also known as Pay-to-Endpoint or P2EP) is a more subtle form of UTXO pooling designed to disguise a real payment as a collaborative transaction. In a PayJoin, the recipient adds one of their own UTXOs to the transaction as an additional input. The resulting transaction looks like a standard two-input payment to any observer, but the inputs come from two different parties. This breaks the common-input-ownership heuristic while also transferring value — no mixing round or coordinator is required. PayJoin is supported by BTCPay Server, Sparrow Wallet, and JoinMarket, and is ideal for merchants who want to improve their own privacy while processing customer payments.
Frequently Asked Questions
QUICK ANSWERS
-
Is CoinJoin legal?
-
Can CoinJoin be reversed?
No. Like all Bitcoin transactions, confirmed CoinJoin transactions are irreversible.
-
Do I need technical knowledge to use CoinJoin?
Modern wallets like Wasabi Wallet and Sparrow Wallet make CoinJoin accessible to non-technical users through graphical interfaces, though understanding the basics improves your results.