Summary: Whirlpool is the stricter coordinator-run branch: equal-denomination pools, repeated remixing, and a lot of post-mix discipline. Not fancy, just legible. Privacy here depends on standardized pools, coordinator policy, remix cadence, and users not undoing the work later. That makes it a useful baseline beneath Wasabi’s variable-amount path and beside JoinMarket’s market design.
What it does:
Coordinates non-custodial Bitcoin CoinJoin transactions where participants sign locally and the coordinator only organizes the round and assembles the final transaction
Uses common-denomination CoinJoin structure so equal-value non-change outputs are difficult to map back to specific inputs by amount analysis
Encourages repeated smaller remix cycles rather than a single large join, with the reference materials framing anonymity growth as compounding over multiple cycles
Separates user funds into pre-mix and post-mix wallet contexts, with the post-mix side requiring stricter coin-selection and spending discipline to avoid re-linking mixed outputs later
Ships as a modular stack with server, client, protocol, CLI, GUI, REST, and mobile-oriented integrations rather than a single wallet-only implementation
Key claims:
The Whirlpool README explicitly frames the system as a fully modular CoinJoin implementation built on a heavily modified fork of ZeroLink rather than as a generic mixing wallet feature.
The ZeroLink-derived theory matters because it exposes the real design split: pre-mix wallet preparation, Chaumian-style coordinator-mediated CoinJoin rounds, and a post-mix wallet that must avoid ordinary wallet behaviors which would recombine mixed outputs and leak links again.
Whirlpool’s main reusable mechanism is equal-denomination remixing. The theory docs stress that Bitcoin mixing needs common denominations to resist amount analysis, while the README emphasizes many smaller cycles instead of one large cycle.
The coordinator is a real control surface, but a narrow one. Official materials repeatedly stress that Whirlpool is non-custodial: users sign locally, the coordinator cannot spend funds, and its role is to pass messages, match participants, and assemble transactions.
Whirlpool belongs in the corpus because it is the clean lower bound for coordinator-run CoinJoin after ZeroLink: a blinded coordinator, standardized pools, remix loops, and wallet hygiene doing most of the real work.
The strongest caveat is that Whirlpool’s privacy story depends heavily on user and wallet behavior after the round. The theory docs are explicit that poor post-mix wallet behavior can re-establish links across transaction chains even if the CoinJoin round itself was sound.
Whitepaper: No standalone whitepaper was reviewed for this entry. The canonical materials for this pass were the official Whirlpool pages plus the Samourai Whirlpool README, theory, and architecture notes collected in ../whitepapers/whirlpool-primary-sources-2026-05-15.md.