Quickstart¶
This page gets you from nothing to a finished coinjoin. Try it on a test network first. Mutinynet has a public pool every 30 minutes and signet works with any client.
1. Choose a client¶
| If you use | Start with |
|---|---|
| Electrum on a desktop | Electrum plugin |
| An Umbrel node | Web UI from the Umbrel app store |
| Bitcoin Core on a server | Daemon and CLI or the web UI |
| An Android phone and your own node | Android app |
| Sparrow Wallet | Sparrow fork |
| Your own wallet software | Rust and Dart library |
The Electrum plugin, the daemon and a self hosted web UI need Tor running locally as a SOCKS5 proxy, usually on 127.0.0.1:9050. The Android app and the Umbrel app start their own Tor.
2. Prepare a coin¶
A pool has one denomination. Every peer puts in one confirmed coin and gets back one output of the denomination minus a share of the mining fee. There is no change output, so the coin you put in must be close to the denomination.
The Electrum plugin, the web UI and the Android app accept a coin worth between denomination + 500 sats and denomination + 5000 sats. For a 0.001 BTC pool that is a coin between 100,500 and 105,000 sats. The CLI allows up to denomination + 15000 sats. Anything above your output goes to the mining fee, so pick a coin near the low end.
To make such a coin, send the exact amount to a new address in your own wallet and wait for one confirmation. Use coin control so that the coin you will mix is not merged with other coins.
3. Create or join a pool¶
- Join if a pool with your denomination is open. Open the list of other pools, pick one and click Join.
- Create if there is none. Enter the denomination and the number of peers and click Create. The pool stays open for 10 minutes in the Electrum plugin GUI.
Once enough peers have joined, the client registers a fresh output address for you, asks you to pick your coin and signs it. When every peer has signed, each client checks the full transaction and broadcasts it.
4. After the coinjoin¶
Your new output has the same value as every other output in the transaction. Treat it like any other coin with privacy in mind.
- Do not merge it with coins from before the coinjoin.
- Do not send it back to an address you used before.
- More rounds with new peers add more privacy.
Next steps¶
- Learn the terms in Concepts.
- Read How it works to see what each peer checks.
- Check the FAQ for common questions.