CoinJoin privacy
CoinJoin is a privacy-enhancing technology built into Trezor Suite that allows you to break the link between your Bitcoin transactions, making it significantly harder to track your transaction history on the blockchain.CoinJoin is currently available for Bitcoin (BTC) only. Support for other networks may be added in the future.
What is CoinJoin?
CoinJoin is a privacy technique that combines multiple Bitcoin transactions from multiple users into a single transaction. This makes it difficult for blockchain analysts to determine which inputs correspond to which outputs.How it works
Coordinator
A coordinator (run by Trezor Suite) orchestrates the mixing process without gaining custody of your funds.
Combined transaction
All participants create a single transaction with multiple inputs and outputs of equal amounts.
Your Trezor device maintains full control of your private keys throughout the entire CoinJoin process. The coordinator never has access to your funds.
Setting up CoinJoin
CoinJoin requires a special account type optimized for privacy.Creating a CoinJoin account
Navigate to Bitcoin accounts
In Suite, select your Bitcoin wallet and click the + icon to create a new account.
Choose Coinjoin account
Select Coinjoin as the account type. This creates a specialized account with privacy features enabled.
Configure privacy settings
Set your desired anonymity level:
- Low: Faster mixing, lower privacy
- Medium: Balanced speed and privacy (recommended)
- High: Slower mixing, maximum privacy
Anonymity levels
The anonymity level determines how many mixing rounds your coins will go through:- Low
- Medium
- High
- Rounds: 1-2
- Time: 1-4 hours
- Privacy: Basic anonymization
- Use case: Quick privacy boost
Using CoinJoin
Starting a CoinJoin session
Review conditions
Ensure you meet the requirements:
- Device connected and unlocked
- Sufficient balance (minimum 5,000 sats recommended)
- Suite running and connected to internet
CoinJoin session phases
The CoinJoin process goes through several phases:Monitoring progress
Suite displays real-time progress:- Current phase: What’s happening now
- Rounds completed: How many mixing rounds finished
- Target anonymity: Goal anonymity set size
- Current anonymity: Current level achieved
- Estimated time: Time remaining (approximate)
Progress is not linear. Some rounds complete quickly while others may take longer depending on participant availability.
CoinJoin fees
CoinJoin involves two types of fees:Coordinator fees
- Rate: 0.3% of the mixed amount
- Charged: Per successful mixing round
- Example: Mixing 1 BTC costs approximately 0.003 BTC per round
Mining fees
- Standard Bitcoin network fees
- Split among all participants
- Typically lower than regular transactions
Total fees depend on your anonymity target. Higher privacy levels require more rounds and thus higher fees.
Best practices
Do not mix coins from exchanges directly
Do not mix coins from exchanges directly
Always send from an exchange to a regular Suite account first, then transfer to your CoinJoin account. This prevents exchanges from flagging your account.
Keep Suite running during sessions
Keep Suite running during sessions
CoinJoin requires Suite to be actively running. Closing Suite interrupts the process and you’ll need to start over.
Avoid small amounts
Avoid small amounts
Mixing very small amounts (< 5,000 sats) is inefficient due to fees. Consider accumulating more before mixing.
Don't consolidate mixed outputs
Don't consolidate mixed outputs
After mixing, avoid combining multiple outputs in a single transaction, as this can reduce privacy gains.
Use Tor for maximum privacy
Use Tor for maximum privacy
Enable Tor in Suite settings to hide your IP address from the coordinator.
Privacy considerations
What CoinJoin protects
Breaks the link between your old and new UTXOs
Makes it harder to track your spending history
Provides plausible deniability for transactions
Increases your financial privacy on the blockchain
What CoinJoin doesn’t protect
Troubleshooting
CoinJoin session not starting
CoinJoin session not starting
Check blockers:
- Device must be connected and unlocked
- Internet connection required
- Minimum balance threshold
- Backend connectivity
- Restart Suite
- Reconnect device
- Check internet connection
- Verify account balance
CoinJoin stuck or slow
CoinJoin stuck or slow
Reasons for delays:
- Waiting for other participants
- Network congestion
- Coordinator maintenance
- Be patient - sessions can take hours
- Keep Suite running
- Check coordinator status
- Try again during peak hours (more participants)
Failed rounds
Failed rounds
Common causes:
- Device disconnected during signing
- Another participant dropped out
- Network issues
- Suite automatically retries
- No funds are lost
- Failed rounds don’t incur fees
Prison list
Prison list
If your UTXO is flagged as problematic:
- Review why it was flagged
- Wait for the ban period to expire
- Contact support if you believe it’s an error
Technical details
CoinJoin service architecture
Suite implements CoinJoin using a client-server architecture:Desktop vs Web
- Desktop
- Web
- Full CoinJoin support
- Runs in background
- Better performance
- Can mix while minimized
Development and testing
For developers working with CoinJoin:Local CoinJoin backend
Configuration
- Enable Debug mode in Suite (click “Settings” header 5 times)
- Go to Settings → Crypto and enable Bitcoin Regtest
- Set custom backend to
http://localhost:19121/
Related topics
Security
Overall security features and best practices
Transactions
Viewing and managing your transaction history
Send and receive
Basic cryptocurrency transactions
Application settings
Enable Tor and other privacy settings