Technical brief

CoinJoin technology, explained.

How the protocol combines transactions, why it produces privacy properties ordinary Bitcoin transactions can't, and where those properties end.

The protocol

One transaction, many inputs, many outputs.

CoinJoin combines several users' Bitcoin transactions into a single joint transaction. From the chain's perspective, every input could plausibly correspond to every output.

Inputs

Alice — bc1q...xy2k0.3 BTC
Carol — bc1q...8df30.3 BTC
Eve — bc1q...p2qm0.3 BTC
Greg — bc1q...kxn90.3 BTC
Whir.
CoinJoin

Outputs

Bob — bc1q...m4f70.3 BTC
Dave — bc1q...rt810.3 BTC
Frank — bc1q...uw5z0.3 BTC
Hank — bc1q...he2b0.3 BTC

Properties

What makes CoinJoin work.

Anonymity sets

Privacy is measured by the number of plausible input-to-output mappings an observer can't distinguish. Two participants → two possibilities. Ten participants → ten. The larger the set, the more uncertainty for any analyst.

Non-custodial at protocol level

Each input remains signed by its original owner. The coordinator never gains the ability to spend another participant's coins — it constructs the joint transaction and routes outputs, but doesn't move custody between users.

On-chain only

CoinJoin is a Bitcoin transaction. It doesn't require any change to the protocol, no off-chain settlement, no trust in a third chain. The mixed transaction lives permanently on the Bitcoin ledger like any other.

Two approaches

Hosted coordinator vs wallet-based.

Both produce the same kind of CoinJoin transaction on chain. The difference is operational: who constructs it and who holds the coins during construction.

See how Whir does it
AspectHosted (Whir)Wallet-based
Software neededNoneWallet install
Setup time< 1 minChain sync
Trust modelBrief counterpartySelf-custody
AccessibilityWeb + TorTechnical
ExamplesWhirWasabi, JoinMarket

Limits

What CoinJoin doesn't do.

A common error is treating mixing as a complete privacy solution. It is not. CoinJoin breaks the deterministic input-output link on a single transaction — nothing more.

Doesn't hide your IP

Network privacy needs Tor or a VPN. CoinJoin is on-chain only.

Doesn't erase history

Coins arriving at deposit still carry their prior history.

Won't fix mistakes after

Spending mixed coins with non-mixed ones reintroduces the link.

§

Doesn't change legality

Privacy and legal status are independent. Law varies by jurisdiction.

Ready to use the protocol?

See the step-by-step procedure or start a mix directly.