In this article let’s verify and calculate exactly how much a coinjoin operation carried out with wasabi costs. Instead of basing myself on reported data, I wanted to do a practical and real test, with real funds and calculate exactly the cost for then comparing with declared theoretical fees.
This test was performed on October the 4th, on Sunday, so during a day that is traditionally with mempool more flat and therefore lower fees. At the time of the test, the minimum value of the coinjoin was 0.1072758 in my wallet I had a total balance of 0.1103101 composed of three different utxo with zero starting anonset.
- minimum coinjoin value: 0.1072758
- total wallet balance of the wallet used: 0.1103101
- number of utxo available: 3 total with anonset 1
I have submitted to coinjoin all the three utxo we had available, for a total value equal to the balance. at the end of the coinjoin we were with:
- 1 utxo with value 0.10726243 with anonset equal to 92
- 1 utxo of remainder of value 0.00273924
- the new balance has become: 0.11000167
in the history I find a tx with a negative resulting value of -0.00030843 which at the present time is 2.78 eur and which actually corresponds to the total cost of the operation. The balance before-balance after=0.11000167-0.1103101=0.00030843 which corresponds to the value registered in history as the result of the coinjoin transaction.
0.11000167-0.1103101=0.00030843difference in balance before – after
Now we analyze the cost on the basis of the declared data. The coinjoin page indicated cost equal to 0.003% for anonymity set. therefore in our case:
0.003 * 92 = 0.276%coordinator fees % in this case of 92 anon set
0,10726243 * 0,276% = 0,000296044value of coordinator fees in this case
the miner fees in this tx are globally 0.00051422 BTC (3.4 sat/vB) = 4.65 eur, as confirmed by the blockstream explorer used to check that. Miner fees are divided into participants proportionally to size of each inputs/outputs parts. In this way (from the wasabi documentation):
1 * (68 vbytes) + 2 * (33 vbytes) = 134 vbytes1 input, and 2 outputs (change + mixed UTXO)
1.5 * (68 vbytes) + 2 * (33 vbytes) = 168 vbytes2 inputs (UTXOs) or even sometimes 3 or 4
so it all adds up (considering the decimals omitted in calculations). The full CJ cost 0.00030843 equal to about 2,78 eur for 92 anonset.