If there are two ideas that persist in the collective unconscious, it is to think that Bitcoin is by nature fungible and that it allows a certain level of anonymity. Without returning to the important differences between pseudonymity and anonymity, it is nevertheless quite obvious that when you reveal certain information using Bitcoin (such as your identity or your IP, for example), it becomes theoretically possible to link you to your activity on the network. . And if, unfortunately, you have bad habits of using your crypto wallets, then it becomes all the easier to trace your balance, and all of your transactions.

Let’s see how to remedy this situation, by testing together the solution offered by the Whirlpool of Samouraï Wallet.



The most frequent case is the reuse of our Bitcoin addresses . It’s a bad habit reinforced by exchanges , which have the unfortunate tendency to allow us to save our addresses for more flexible and faster use. It becomes simple to identify all of a user’s past and future transactions , especially for a company specializing in this activity. However, it turns out that such companies do exist.

Let me make it clear up front that I am not addressing hackers and other crypto-criminals connected with various and varied illicit activities. My reasoning is this: just like you wouldn’t like your employer to have access to your bank account , there’s no reason to open the pages of your precious crypto account book to a third party . , whatever it is.


And that’s not all: even in classic use, our bitcoins are not always equal to each other. This is the whole point of what is called Bitcoin fungibility : ideally, a currency is fully fungible if one coin cannot be distinguished from another similar one , and they then have both the same value .

But, where it gets a little tricky is that by design of the Bitcoin protocol , your bitcoins have a history . In a way, you inherit it . Unfortunately for you, it is impossible to have access to it before buying these bitcoins in question on a classic exchange for example. But this will probably not be the case for any trained and equipped authority : with the help of KYC formalities , any exchange client is now easily identifiable. With the support of a company specializing in monitoring blockchain transactions (such as Chainalysis  or CipherTrace, not to mention them), tracing the trail of bitcoins one day involved in illicit activities could prove to be child’s play. Some, therefore, wonder: will bitcoins that are corrupted – because recognized as having one day passed through unsavory holders – have less value than brand new bitcoins just taken from the wallet of a miner?


Fortunately and despite the defects of the Bitcoin protocol , it is possible to mix our transactions with those of other bitcoin owners. The idea behind this coin mixing is as follows: the greater this mixing, the more difficult it is to analyze a transaction. In this way, it is possible to try to ensure greater confidentiality in the transactions by erasing the links with the historical antecedents of the latter.

See also  What are the pros and cons of blockchain?


Before getting to the heart of the matter, you need to understand how the balance of your Bitcoin wallet is calculated . The latter has a set of addresses. When one of the latter receives bitcoins, it regains control of a transaction. In bitcoin grammar, this is called an unspent transaction . When you spend bitcoin, you use the private key associated with the bitcoin address to unlock the transaction and transfer it to a new address.

The final balance therefore corresponds to the sum of the unspent funds controlled by the user (the famous unspent transaction outputs, or UTXO ) .


A Bitcoin transaction can therefore have several inputs and several outputs : in other words, several wallets can carry out a transfer using only one common transaction: this is when the idea was born of allowing several users to mix their respective transfers in a single transaction. This is called a Coinjoin transaction .

Coinjoin transactions

To better understand how traceable your daily transactions are in normal times, you can consult the KYCP ( Know Your Coin Privacy ) site . It makes it possible to establish links between transactions from a given address or a transaction identifier , and thus to reconstitute all the related history .


Let’s observe together with KYCP what a classic transaction looks like . The links between each transaction appear quite obvious.

To make things a bit more graphic, you can even get visual representations of these transactional links. Just use the OXT platform . In the following example, we can for example suspect that the transactions forming a triangle were carried out by one and the same person . 

Seen !

While in the following case, it becomes much more difficult and relatively unlikely to reconstruct anything.

Hi, and good luck.


This article will therefore allow us to study this mixture of Bitcoin transactions taking the form of Coinjoin . You will therefore be ready for the upcoming updates of the Samourai Wallet Android mobile application .  The application evolves regularly and aims to strengthen the privacy of its users. Still in the test phase , one of its functionalities will allow you to mix your transactions with those of other participants, thus making traceability work difficult … all directly from your mobile. Let’s manipulate the application in 5 steps to mix your bitcoins.


Pending the integration of this functionality directly into the Samurai Wallet mobile application, it will however be necessary to use the Whirlpool desktop mixer application. You can download it right here .

The Whirlpool application allows you to form temporary mixing cooperatives , in the same way that miners can federate into mining cooperatives. The application therefore offers three different pools to mix the UTXOs of its users.

Depending on the pool used, the initial mix will be divided into several UTXOs.

For example, for a balance of 1 BTC :

  • The 0.5 BTC pool will separately mix two 0.5 BTC UTXOs,
  • The one of 0.05 BTC will mix 20 UTXOs of 0.05 BTC,
  • The one of 0.01 BTC will provide 100 UTOxs of 0.01 BTC.
See also  What is Tether? All about this stablecoin in 10 questions

In our example, I will mix a little over 0.02 BTC into the smaller pool .


To do this, go to the Whirlpool application. Click on the “+Deposit” button . The application will provide you with an address in Bech32 format ( beginning with bc1 ). If you have never used this type of address before, I invite you to check the compatibility of your wallet, but especially its ability to send funds to this type of address.

Once sent, the transaction will be seen immediately in Whirlpool as unconfirmed.

While waiting for the confirmation, you will be able to select the number of mixing rounds you want for your mix. In itself, this configuration is unimportant, since an additional mix can be added at any time.

Also note that two types of fees are applied. The first type concerns mining fees and depends on the state of the network. The second relates to the charges applied by the pool for the service offered. These are 5% of the selected pool amount (not the amount to be shuffled) . All costs apply at once, and it is therefore possible to make as many mixes as you want without spending more. This has several interests:

  • Provide liquidity to the pool and thus facilitate subsequent mixing of other transactions,
  • Mix your own transactions even more and make your bitcoins even more fungible (in theory).

Once the transaction has been confirmed , you can mix it by clicking on the Tx0 >> button . A window will appear allowing you to define the desired pool (in our case, that of 0.01 BTC), the applicable transaction fees and the number of mixing rounds desired.

Click Tx0 again to confirm . You will notice that two transactions are now displayed in a new menu, the Premix group .

The premix is ​​a necessary step consisting in preparing the first mix of our transactions with those of other participants.


Then it’s time to start the mix! Y ou will be able to check the fixed transaction fees linked to the pool (from 0.0005 BTC) as well as the creation of three UTXOs . Only UTXOs above 0.01 BTC will be mixed.

These two transactions are separated and mixed separately with four other participants, as we can see in this example.

Here’s finally what this Whirlpool mixed transaction looks like , according to the KYCP explorer.

Catch Me If You Can.

As you can see, it is not possible to link source and destination transactions.

After the first mix is ​​complete, the transactions are moved to the postmix menu 


From there, you have several options :

  • Keep your bitcoins in Whirpool to continue shuffling,
  • Spend your bitcoins (or send them to an exchange),
  • Transfer your bitcoins to one of your wallets .

The last two options are the trickiest, since mishandling them can cost you a lot of your hard-earned anonymity . Indeed, it is when you want to recover your funds that you risk associating them again with your multiple digital traces. Also, the single shuffling done in this article is insufficient to erase your bitcoin history in any way, and it’s best to go for the first option to add enough entropy if you really want to . recover some of your right to privacy.

See also  Litecoin, what is it? The Beginner's Guide

Coming back to recovering or spending your funds, the ideal then is to spend less than half of your funds using the StoneWall feature . This is a tool that hides the link between transactions as much as possible and thus avoids de-anonymization. Indeed, as we talked about in the introduction to this article, each Bitcoin wallet chooses different UTXOs when you want to spend funds, and it can leave a trail that analytics companies can use to correlate multiple transactions. StoneWall seeks to reduce this risk, but we will not go into more detail in this article.


If, like me, you want to recover your funds on your hardware wallet , you will have to go step by step by transferring your UTXOs one by one . It’s a bit laborious, but it takes what it takes, as they say.

Besides, I strongly recommend you to create a new account (on live ledger) or use a new derivation path in order to significantly reduce the possibilities of correlating the different transactions.

In my case, I therefore have two transactions in POSTMIX and one in DEPOSIT .

The UTXOs concerned must absolutely be transferred one by one to different addresses in your wallet. Otherwise, you will lose all profits from mixing your trades. But how to do it ? Let’s see this together.

First, send your remaining unmixed deposit directly from the Deposit to one of the yet unused addresses in your wallet. Make the transfer directly from Samourai Wallet.

For POSTMIX funds , they must first be transferred to Samourai Wallet . From the latter, go to the options menu (top right), click on “Settings”, then “Troubleshoot” and finally “Address calculator” . 

Select “  Whirlpool Segwit address” and enter the corresponding index. You find it in the Whirlpool POSTMIX in the form M/0/0. The last digit is the UTXO index. This operation will allow you to recover the corresponding private key. 

Import it into Samourai Wallet with the “Sweep private key” option . You can then send yourself to manage the POSTMIX funds directly from Samourai Wallet, to send them too to a public address never used before to receive funds.

On the balance sheet, to mix 0.02301024 BTC, I paid 0.00065295 in fees, i.e. a little less 3% in fees. Obviously, this is a very personal and purely indicative example, since these fees depend both on the variable fees of the Bitcoin network, but also on the selected mixing pool.

As we have just seen, the solution proposed by Samourai – although essential – is still relatively sharp, including for seasoned bitcoiners. Keep in mind that this solution is still in beta and that the next version will integrate the whole process natively. 

Facilitating the use of techniques to make Bitcoin fungible is an ambitious project, and it will also necessarily involve a lot of work on the user experience.

5/5 - (1 vote)