# Comparison

joinstr is one of several coinjoin designs. The table compares it with the best known alternatives.

| | joinstr | JoinMarket | Whirlpool | WabiSabi |
|---|---|---|---|---|
| Coordinator | None, pools run over nostr relays | None, takers coordinate makers over IRC and onion message channels | Central | Central |
| Who sets a round | Any user creates a pool | The taker | The coordinator | The coordinator |
| Fees | Mining fee only, optional relay fee | Mining fee plus maker fees paid by the taker | Mining fee plus a pool entry fee | Mining fee plus any coordinator fee |
| Fidelity bonds | Not used | Used by makers | Not used | Not used |
| Outputs | One denomination per pool, no change | Equal coinjoin outputs plus change | Fixed pool denominations, no change in mixes | Many standard denominations, change possible |
| Signature hash | `ALL\|ANYONECANPAY` | `ALL` | `ALL` | `ALL` |
| Network privacy | Tor by default, optional VPN | Tor | Tor | Tor |
| Languages | Python, Kotlin, Java, Rust, Dart | Python | Java | C# |
| Coordinators today | None needed | None needed | [Ashigaru](https://ashigaru.rs) runs one | Independent coordinators such as [kruw](https://kruw.io) |

## What sets joinstr apart

- **No server to run or trust.** Anyone can start a pool on any relay. If a relay goes away, new pools simply use another one.
- **Fewer steps.** Registering outputs first and signing with `SIGHASH_ALL|ANYONECANPAY` removes the need for a coordinator to collect inputs before anyone signs.
- **No fees beyond mining.** There is no maker or coordinator to pay.

## Tradeoffs

- Pools need enough peers at the same time. A coordinator or a market of makers can fill rounds faster.
- Peers see every input and output of their round. Only the link between them stays hidden.
- Peers who join and never sign can stall a round. Ring signature recovery and aut-ct reduce the damage but do not remove it.

## Links

- [JoinMarket](https://github.com/JoinMarket-Org/joinmarket-clientserver)
- [Whirlpool](https://github.com/Samourai-Wallet/Whirlpool) and [Ashigaru](https://ashigaru.rs)
- [WabiSabi](https://github.com/WalletWasabi/WabiSabi) and [Wasabi Wallet](https://github.com/WalletWasabi/WalletWasabi)
