We want to implement CoinJoin in Grimm App to enhance user privacy by allowing multiple users to combine their Bitcoin transactions into a single transaction, making it difficult to trace inputs to outputs.
This feature should be designed for both beginner-friendly usage and advanced user control, aligned with Grimm App’s goal of being simple yet powerful.
Objectives
- Improve on-chain privacy for users
- Support collaborative transaction building
- Provide a seamless UX for privacy features
Scope
1. CoinJoin Strategy
-
Choose implementation model:
-
Define anonymity set target (e.g., 5, 10, 50 participants)
2. Transaction Flow
3. Backend / Coordinator (if applicable)
4. Privacy & Security
5. UX/UI
6. Fees Handling
Acceptance Criteria
- User can opt-in to CoinJoin from send flow
- Transactions are combined with multiple participants
- Final transaction breaks deterministic input-output linkage
- No private keys leave the device
- Feature works on testnet before mainnet
Risks / Considerations
- Legal/regulatory implications (important given past cases like Samourai Wallet)
- UX complexity for beginners
- Liquidity problem (not enough participants)
- Potential DoS / Sybil attacks
References
- Bitcoin CoinJoin concept (BIP-related docs)
- Wasabi / Whirlpool design patterns
Nice-to-have (Future)
- CoinJoin rounds automation
- Custom anonymity sets
- Integration with PayJoin (BIP78)
- Post-mix wallet segregation
We want to implement CoinJoin in Grimm App to enhance user privacy by allowing multiple users to combine their Bitcoin transactions into a single transaction, making it difficult to trace inputs to outputs.
This feature should be designed for both beginner-friendly usage and advanced user control, aligned with Grimm App’s goal of being simple yet powerful.
Objectives
Scope
1. CoinJoin Strategy
Choose implementation model:
Define anonymity set target (e.g., 5, 10, 50 participants)
2. Transaction Flow
3. Backend / Coordinator (if applicable)
4. Privacy & Security
5. UX/UI
Simple toggle: “Enhance Privacy (CoinJoin)”
Display:
Status states:
6. Fees Handling
Define fee model:
Show clear fee breakdown to user
Acceptance Criteria
Risks / Considerations
References
Nice-to-have (Future)