Back to Home

A Guide to Post-Mix UTXO Management

This document provides a technical guide to best practices for managing Unspent Transaction Outputs (UTXOs) after a CoinJoin.

1. The Concept of "Doxxic Change"

Doxxic change is the leftover amount from a UTXO used as an input in a fixed-denomination CoinJoin that does not conform to the standard output amount. For example, if a user inputs a 0.17 BTC UTXO into a 0.1 BTC mix, they receive a mixed 0.1 BTC output and a 0.07 BTC change output.

Why it is dangerous: This change output is unique and directly linked to the user's pre-mix transaction history. If this "doxxic" change is later spent in a transaction with the newly mixed, private UTXOs, it can re-link them, completely deanonymizing the user's funds.

Protocol-level solutions:

  • Fixed-Denomination Mixes (e.g., Whirlpool): These protocols isolate doxxic change by design, often sending it to a separate "bad bank" or "pre-mix" section of the wallet to prevent accidental contamination.
  • Arbitrary-Amount Mixes (e.g., WabiSabi): These protocols are designed to eliminate the creation of doxxic change altogether, as users can specify the exact amounts of their outputs.

2. UTXO Separation and Labeling

The cardinal rule of post-mix privacy is to never combine mixed and unmixed UTXOs in the same transaction. To prevent this, rigorous UTXO management is essential.

  • Coin Control: Use a wallet that provides "coin control," allowing you to manually select which UTXOs are used as inputs for a transaction. This is not an optional feature; it is a mandatory requirement for post-mix privacy.
  • Labeling: Immediately after a mix, label all UTXOs with their status. A robust labeling convention is critical. Examples:
    • mixed_round_1
    • unmixed_kyc_exchange
    • doxxic_change_from_premix
    • postmix_change

This discipline prevents accidental merging of UTXOs from different privacy contexts.


3. Post-Mix Spending Techniques

Spending mixed coins requires a different mindset than normal Bitcoin transactions. The goal is to preserve the ambiguity created by the CoinJoin.

  • Isolate Spending: Whenever possible, fund an entire transaction with a single mixed UTXO. This avoids creating on-chain links between your different mixed coins.
  • Mindful Change Management: Pay close attention to the change output from your spending transaction. This new change UTXO is now linked to the destination of your payment. It should be labeled accordingly and kept separate from your other mixed UTXOs.
  • Advanced Transaction Types:
    • STONEWALL: A technique where a transaction is constructed to look like a mini-CoinJoin, even when you are the only participant. It uses multiple inputs and outputs to create ambiguity and break the common-input-ownership heuristic.
    • Stowaway (PayJoin): A collaborative transaction where both the sender and receiver contribute inputs. This breaks the common-input-ownership heuristic and also hides the true amount being sent, as it is obfuscated by the inputs from both parties.

4. Managing Toxic Change and Other Residue

If you have doxxic change or other unmixed UTXOs that you need to manage, you must do so with extreme care.

  • Isolate and Forget: The safest option for doxxic change is often to isolate it in a labeled wallet and not spend it alongside your mixed funds.
  • Re-Mixing: The doxxic change can be sent through a CoinJoin itself. This is the most effective way to give it a new, private history.
  • Lightning Network: Opening a Lightning channel with a doxxic UTXO can be a valid strategy. Once the funds are on the Lightning Network, they can be spent with greater privacy. When the channel is eventually closed, you will receive a new on-chain UTXO with a different transaction history.
  • NEVER Consolidate Across Contexts: Never combine doxxic change with mixed UTXOs in a consolidation transaction. This will destroy the privacy of the mixed funds.

By adhering to these principles, you can preserve the privacy and fungibility gained from the CoinJoin process. Failure to do so will render the entire effort useless.