Note: Many of these Q&A have been copied from real users, see footer for acknowledgements.

Index

Pre-Install

Who is behind Wasabi?

The Company that is developing Wasabi is zkSNACKs LTD (twitter | website)

Members as of 2019.05.08:

NameTwitterPosition
Gergely Hajdú@gergely_hajduCo-CEO & Co-Founder
Bálint Harmat@bharmat84Co-CEO & Co-Founder
Adam Ficsór@nopara73CTO & Developer & Co-Founder
Lucas Ontivero@lontiveroDeveloper & Co-Founder
Dan Walmsley(@danwalmsley)Developer
Dávid Molnár(@molnardavid84)Developer

Install

How do I install Wasabi?

Follow this guide

If you use Windows there is a video guide.

Do I need to run Tor?

All Wasabi network traffic goes via Tor by default - no need to set up Tor yourself. If you do already have Tor, and it is running, then Wasabi will try to use that first.

You can turn off Tor in the Settings. Note that in this case you are still private, except when you coinjoin and when you broacast a transaction. In the first case, the coordinator would learn the links between your inputs and outputs based on your IP address, in the second case, if you happen to broadcast a transaction of yours to a full node that is spying on you, it will learn the link between your transaction and your IP address.

Pre-Mix

My wallet can’t send to Bech32 addresses - what wallets can I use instead?

Wasabi generates Bech32 addresses only. These addresses start with the characters bc1. Some wallets/exchanges don’t yet support this type of address and my give an error message (e.g. “unknown bitcoin address”). The solution is to manage your funds with a wallet which does support Bech32. Of all the wallets that support Bech32, only the following wallets have Coin Control:

PlatformRecommendedOther
Mobile (Android)SamouraiElectrum
DesktopBitcoin CoreElectrum

I am not aware of any wallets for iOS which support coin control. If you are aware of any other Wallets with coin control please make a pull request.

Be careful. If you send all your coins from an old wallet to a new wallet (from the table above) in one transaction then you will merge all your coins which is bad for privacy. Instead, import your seed into one of the wallets in the table.

Mixing

What are the fees?

You currently pay a fee of 0.003% per anonymity set. If the coin anonymity set of a coin is 50 then you paid 0.003% * 50 (=0.15%). If you set the target anonymity set to 53 then wasabi will continue mixing until this is reached, so you may end up with an anonymity set of say 60, and you will pay 0.003% * 60 (=0.18%).

There are also edge cases where you don’t pay the full fee or where you pay more. For example if you’re the smallest registrant to a round, you’ll never pay a fee. Also when you are remixing if you cannot pay the full fee with your input, then you only pay as much as you have, but if the change amount leftover would be too small, then that’s also added to the fee. Currently the minimum change amount to be payed out is 0.7% of the base denomination (~0.1BTC).

It is also possible that you get more back from mixing than you put in. This happens when network fees go down from when the round started and when the round ended. In this case, the difference is split between the active outputs of the mix.

What is the Anonymity Set?

The anonymity set is effectively the size of the group you are hiding in.

If 3 people take part in a CoinJoin (with equal size inputs) and there are 3 outputs then each of those output coins has an anonymity set of 3.

0.1 BTC (Alice)       0.1 BTC (Anon set 3)
0.3 BTC (Bob) 	  ->  0.1 BTC (Anon set 3)
0.4 BTC (Charlie)     0.1 BTC (Anon set 3)
                      0.2 BTC (Change Coin Bob)
                      0.3 BTC (Change Coin Charlie)

There is no way to know which of the anon set output coins are owned by which of the input owners. All an observer knows is that a specific anon set output coin is owned by one of the owners of one of the input Coins i.e. 3 people - hence an anonymity set of 3. Your Wasabi software has limited information on what the anonymity set should be, so the anonymity set that the software presents you is just an estimation, not an accurate value. With Wasabi we are trying to do lower estimations, rather than upper ones.

How Do I change the default desired Anonymity Set)?

In the Wallet GUI, go to File>Open>Config and in the last 4 lines you see: "MixUntilAnonymitySet": 50, "PrivacyLevelSome": 2, "PrivacyLevelFine": 21, "PrivacyLevelStrong": 50 You can change the three values of the desired anon set of the yellow, green and checkmark shield button in the GUI. The MixUntilAnonymitySet is the last selected value from previous use. More is better, (arguably only up to a point). Remember that you pay a fee proportional to the Anonymity Set. See more here.

Can I mix more than the round’s minimum?

Yes. In a round with a ~0.1 BTC minimum, you could mix ~0.3 BTC and get a ~0.1 BTC output & a ~0.2 BTC output. Similarly, with a 0.7 BTC input you would expect the following outputs: ~0.1, ~0.2, ~0.4 BTC. The possible values of equal output that can be created are 0.1 x 2^n where is a positive integer (or zero). See more here and here.

Why is the minimum mixing amount a weird number?

The output value changes each round to ensure that you can queue a coin and have it remix (mix over and over again - increasing the anonymity set, improving privacy). As a result the round mixing amount will often be a specific number which generally decreases as the rounds proceed, with a reset once a lower bound is reached.

How do I connect my own full node to Wasabi?

There is currently a basic implementation of connecting your full node to Wasabi. The server will still send you BIP 158 block filters, and when you realize that a block contains a transaction of yours, then you pull this block from your own full node, instead of a random P2P node. Thus, you can verify that in this actually is a valid block including your transaction. One attack vector could be that Wasabi lies to you and give you wrong filters that exclude your transaction, thus you would see in the wallet less coins than you actually control. BIP 157 solves this. When your full node is on the same hardware [computer, laptop] as your Wasabi wallet, then it will automatically recognize it and pull blocks from there. If your node is on a remote device [raspberry pi, nodl, server], then you can specify your local IP in line 11 of the config file. See more here.

How do I upgrade Wasabi?

You can download the software build for the different operating systems on the main website or better over tor. Make sure you also download the signatures of the build and verify them for Adam Ficsor’s public key. For step by step instructions, follow this guie or see this video.

Post-Mix

What do I do now that I have mixed my coins?

Wasabi is a very good wallet, and it is advisable to manage your funds using the wallet once you have mixed. If you are going to send your funds to another wallet (say, a mobile wallet for convenience) then there are a couple of important things to consider.

  • Unless the wallet has coin control you will merge your coins which damages privacy.
  • Unless the wallet connects to your own full node you will leak information to the server supplying the blocks/filters. As a result, there are few wallets that are suitable.

If you’d like to dive into the details of this topic, you can read more here and see more here.

Personally, I recommend sending your Zerolink Change to Samourai Wallet or Blockstream Green for small-spends where you are less concerned about revealing any information.

Can I recombine my mixed coins?

It is advisable to limit the recombining of mixed coins because it can only decrease the privacy of said coins. This links all the consolidated UTXOs in one transaction, creating only one output, which then clearly controls all these funds. That said, if you combine less than 1 BTC it is less likely to reveal your pre-coinjoin transaction history. The potential issue comes when you spend that coin. Depending on what you do with the coin you might reduce the privacy of the resulting change (if you send half your coin to an exchange for example, as they will know that you own the coin change). As a result it is best not to recombine ALL your mixed change, though you may wish to recombine some coins if you are planning on hodling for many years as this will reduce the fees required to spend the coins later.

Am I safe to send my mixed coins to my hardware wallet?

Most hardware wallets communicate with servers to provide you with your balance. This reveals your public key to the server, which damages your privacy - the hardware company can now theoretically link together all your addresses. As a result it is not recommended that you send your mixed coins to an address associated with your hardware wallet unless you are confident that you have set up your hardware wallet in a way that it does not communicate with a 3rd party server (see below).

You can however manage your hardware wallet with the Wasabi interface. Alternatively you can use your hardware wallet with Electrum, which connects to your Bitcoin Core through Electrum Personal Server.

How can I set up my hardware wallet with Wasabi properly?

You can currently use the following hardware wallets with Wasabi directly.

  • Coldcard
  • Trezor Model T
  • Ledger Nano S

Alternately you can use electrum personal server.

Will I have issues spending my mixed coins?

Not at the moment, if Wasabi and other CoinJoin tools are used by enough people it is likely that this will never be an issue. See this more comprehensive answer. Reports of users having their account banned by Bitfinex are being investigated, though it has been confirmed that this is not a universal rule being applied and appears only have affected a single user.

ExchangeMost recent Confirmed Accepted CoinJoinSource
Coinbase18/01/2019Link

Note: This is for reference only, and by nature this is not evidence that you will be fine sending a mixed output to the exchange, only that someone else has at some time in the past. Also - don’t use coinbase.

There are no hard and fast rules for what to do with the change. It is important to note that the change may be linked to your identity and should be treated as a kind of toxic waste (handled with great care).

Warning You want to avoid mixing change coins where possible. If you mix change you will decrease your privacy because the transactions that created the change will now be linked. Note that this is also true if you mix your change with a mixed coin.

It is very important that you don’t send different coins to the same receiving address (even if performed as separate transactions) as this will also link the coins together, damaging your privacy.

Your Options

  • If you don’t care about linking the history of the coins because they are all from the same source then you could combine them in a mix (que all the change from the same source until you reach the minimum input required to mix, currently ~0.1 BTC).
  • Mix with Joinmarket.
  • Donate them (e.g. to the EFF)
  • Spend them on something that isn’t a particular privacy risk (eg. gift cards).
  • Open a lightning channel.
  • The ultimate solution is to ‘close the loop’ i.e. spend a change coin without merging it with other coins don’t generate it in the first place by sending whole coins.

Meta

Does Wasabi have a warrant canary?

The nature of Wasabi is that you shouldn’t need to trust the devs or the wasabi coordinating server, as you can verify that the code doesn’t leak information to anyone. The dev’s have gone to great lengths in an attempt to ensure that the coordinator can’t steal funds or harvest information (for example, the outputs sent from your wasabi wallet are blinded, meaning that even the wasabi server can’t link the outputs to the inputs).

Do I need to ‘trust’ the Wasabi Server?

The only known possible ‘malicious’ actions that the server could perform are two sides of the same coin;

  • blacklisted UTXO’s Though this would not affect the users who are able to successfully mix with other ‘honest/real’ peers.
  • Sybil Attack The follow-up concern is the inverse of the above. It is possible that the server could only include one ‘honest/real’ coin in the mix and supply the other coins themselves. This would give a false sense of security, but it would not worsen the existing privacy of the coin. It has been argued that this ‘attack’ would be very costly in terms of fees because the number of coins being mixed is verifiable. Though it is true that fees would have to be paid to zkSNACKs every round this does not matter if it is zkSNACKs that is acting maliciously (as they get the funds back). Typical rounds currently have <100 people per mix, with the minimum input being ~0.1 BTC with a fee of 0.003% per anonymity set. Taking the ‘worst case’ (100 people, each mixing 0.1 BTC) gives 0.03 BTC per round. This is not prohibitive and is thus a valid concern. That said, if multiple chain-analysis companies attempt to flood the zkSNACKs mix (to decrease the true anonymity set) they will hinder each other’s efforts (unless they are cooperating).

Errors

‘Backend won’t connect’

All Wasabi network traffic goes via Tor. When Tor has issues Wasabi has issues. If the Tor Hidden Service directory goes down (which is does occasionally) Wasabi now has a fall-back back to the coordinator server without a hidden service (but still over Tor). It is easiest to wait and try again some hours later.

You can turn off Tor in the Settings. Note that in this case you are still private, except when you coinjoin and when you broacast a transaction. In the first case, the coordinator would learn the links between your inputs and outputs based on your IP address, in the second case, if you happen to broadcast a transaction of yours to a full node that is spying on you, it will learn the link between your transaction and your IP address.

Acknowledgements

Thanks to the developers of Wasabi - you make it possible for me to spend bitcoin without having to worry about other people knowing how little bitcoin I can afford.

Thanks to the following people for the help that they have provided to wasabi users on the wasabi subreddit which I have condensed into this FAQ.

Please issue pull requests if you have suggestions.