Introduction to Wasabi

The Basics

Who can use Wasabi?

Every single line of code in Wasabi, the walletopen in new window, the backend serveropen in new window, the daemonopen in new window, the testsopen in new window, the packageropen in new window, the libraryopen in new window, the apiopen in new window, the documentationopen in new window - has always been and will always be libre and open-source under the MIT licenseopen in new window. This means that anyone, yes, ANYONE can use Wasabi without permission, for any use case, free of charge.

Wasabi is used by individuals to make everyday payments, to manage their hardware wallet long term hodlings, and to CoinJoin their sats for added privacy. Entrepreneurs may use Wasabi to defend their customers from spies and to ensure a private business relationship. While kids may use Wasabi to stack the sats gifted by grandma, and learn the importance of hodling.

TIP

Wasabi is a tool for everyone.

What is a coinjoin?

Coinjoin is a mechanism by which multiple participants combine their coins (or UTXOs, to be more precise) into one large transaction with multiple inputs and multiple outputs. An observer cannot determine which output belongs to which input, and neither can the participants themselves. This makes it difficult for outside parties to trace where a particular coin originated from and where it was sent to (as opposed to regular bitcoin transactions, where there is usually one sender and one receiver).

This can be done with non-custodial software like Wasabi that eliminates the risk of funds disappearing or being stolen. Each of the signatures are created on the participants’ computers after thorough verification, so nobody can alter the transaction or redirect the funds. The funds will always be in a Bitcoin address that you control.

In very simple terms, coinjoin means: “when you want to make a transaction, find someone else who also wants to make a transaction and make a joint transaction together”.

See also the Bitcoin Wiki on coinjoinsopen in new window

Do I need to trust Wasabi with my coins?

Since Wasabi's coinjoin implementation is trustless by design, there is no need for participants to trust each other or a third party. Both the sending address (the coinjoin input) and the receiving address (the coinjoin output) are controlled by your own private keys. The Wasabi server merely coordinates the process of combining each participant's input into one single transaction, but the Wasabi Wallet can neither steal your coins, nor figure out which outputs belong to which inputs (look up “WabiSabi coinjoin” if you want to know more).

What is the privacy I get after mixing with Wasabi?

This depends on how you handle your outputs after the coinjoin. There are some ways how you can unintentionally undo the mixing by being careless. For example, if you send a mixed coin to an already used address, then anyone can see that both coins are controlled by the same entity. More importantly, anyone who knows that the address belongs to you knows that you own that mixed coin. Address reuse compromises your privacy. Another deanonymizing scenario occurs when you combine mixed outputs with unmixed ones when sending: a third party will be able to make the connection between them as belonging to the same sender. This is why you need to be careful with non-private/change coins.

The practice of being careful with your post-mix outputs is commonly facilitated through coin control. Find out more about coin control in here. However, Wasabi Wallet is build in a way to help the user to avoid privacy leaks when using the wallet.

Why is Wasabi Bitcoin-only?

There are countless reasons why it is the only logical choice to be bitcoin-only. With Bitcoin we have a once in a lifetime opportunity to manifest libre sound money. If we succeed, then an utmost beautiful agora of sovereign individuals may emerge. If we fail, then this will conjure up the most horrific Orwellian nightmare. There is no room for wasted time and energy, this great work requires our full attention. Any line of code written to support a random shitcoin takes away scarce developer time to work on real problems.

What is considered a sufficient anonymity score?

It is difficult to determine a sufficient anonymity score since enough research hasn’t been conducted to provide a definitive answer. The right anonymity score depends on your own personal threat model. However, to be on the safe side, with Wasabi Wallet 2.0 an anonymity score of 5 and above could be considered sufficient.

Is there a way to check Wasabi's uptime status?

Yes, you can check the status of Wasabi-related services and websites (like APIs, Backend, etc.) via UptimeRobot Wasabi Status Pageopen in new window.

What software supplies the block filters that Wasabi uses?

The Wasabi backend supplies identical filters to every client. This means that you rely on the Wasabi backendopen in new window to provide valid filters. But because you download the blocks from a random Bitcoin peer-to-peer node - or your own node - the coordinator cannot spy on which blocks you are interested in. Furthermore, the random node will only know which block is needed but it won't have any clue which transaction(s) belongs to the wallet.

Is the Backend's (Coordinator) code open-source?

Yes, you can verify the code on GitHubopen in new window.

Is there an Android/iOs version?

No, Wasabi and CoinJoin features require considerable computational power, not currently replicable on a smartphone.

Where can I find Wasabi Wallet on social media?

You can find us on Xopen in new window, Nostropen in new window Redditopen in new window, YouTubeopen in new window and Discordopen in new window. For chat groups you can find us on Slackopen in new window and Telegramopen in new window.

Also, remember to follow our blogopen in new window to get the latest insights and information about Wasabi Wallet and Bitcoin privacy.

For Advanced Wasabikas

Can the coordinator attack me?

Wasabi is built on a zero-trust principle, meaning that the coordinator cannot steal funds or link inputs to outputs. All critical computations, like output decomposition, happen on the client side. The coordinator’s sole role is to collect signatures from all its participants (to sign the PSBT) into a fully signed transaction.

However, some risks remain, which the client mitigates as much as possible:

Money Loss Concerns

The client may forfeit small amounts of BTC, known as leftovers, when creating additional outputs or when adjusting the output decomposition would result in higher costs (e.g., higher mining fees or reduced privacy). The coordinator collects these leftovers and can use however it wants: keep them, use them for mining fees, distribute them among its users... This creates an incentive for a malicious coordinator to maximize these forfeited amounts.

Therefore, the client covers two main costs: mining fees and leftovers, which a malicious coordinator could exploit:

  • Mining Fee Rate:
    The coordinator sets the mining fee rate. A malicious coordinator could set excessively high fees, causing users to overpay and increasing leftover amounts.

    To prevent abuse, the client enforces a maximum mining fee rate. If the fee rate exceeds this value, the client will not participate. It also actively ensures that the coordinator cannot change the fee rate mid-process.

  • Small Rounds:
    The coordinator might run small rounds (due to low liquidity or intentionally), making users pay fees for little or no privacy gain while increasing leftover amounts. Small rounds also make targeted Sybil Attacks easier (see below).

    To avoid this, the client enforces a minimum input count. If the round does not meet this threshold, the client will drop out.

  • Raising Minimum Output Amount:
    The coordinator controls the minimum output denomination. Increasing this value forces the client to forfeit more leftovers, which benefits the coordinator financially.

    To avoid this, the client enforces that the minimum output amount of a round is at most 10 000 sats.

Privacy & Availaibility Concerns

  • Denial of Service (DoS):
    The coordinator could reject or blacklist certain UTXOs, preventing them from participating in the coinjoin.

  • Targeted Sybil Attack:
    The coordinator could include only one genuine coin and have the other inputs be its own coins, giving the target a false sense of privacy. However, this does not reduce the coin's existing privacy and can be expensive in terms of fees. Other users would also notice a lack of mixed coins.
    Learn more about this attack hereopen in new window.

  • Metadata Leak:
    While this is not a direct attack by the coordinator, if a client disconnects after registering multiple coins, the coordinator may assume that these coins belong to the same owner as they all stop sending the subsequent required requests.

What is the history of Wasabi?

Ádám Ficsor worked with several others on a privacy-focused Bitcoin wallet called Hidden Wallet all the way back in December 2015open in new window. Wasabi 1.0 was unveiled in 2018 by Ádám at the Building on Bitcoin conference . At the time, Wasabi was essentially HiddenWallet rebranded and rewritten from scratch with some new features.

Key dates:

  • The 1.0 Beta release on August 1, 2018 (on the first anniversary of UASF)
  • The 1.0 release on October 31, 2018 (on the tenth anniversary of the Bitcoin Whitepaper)
  • The 2.0 Testnet release on March 1, 2022
  • The 2.0 release on June 15, 2022
  • The shutdown of zkSNACKs coordinator on June 1, 2024

Wasabi Wallet 1.0 unveiled at Buildig on Bitcoin conference 2018: Watch the videoopen in new window

Wasabi Wallet 2.0 launch livestream: Watch the videoopen in new window

Why is Wasabi libre and open-source software?

Wasabi follows Bitcoin's philosophy by making the software open-sourceopen in new window and by publishing it under MIT licenseopen in new window. Bitcoin users prefer open-source software to proprietary software for a number of reasons, including:

Control

Many people prefer open-source software because they have more control over the software they run.

They can examine the code to make sure it's not doing anything they don't want it to do, and they can change parts of it they don't like. Users who aren't programmers also benefit from open-source software, since they can use this software for any purpose.

Training

Other people like open-source software because it helps them become better programmers.

Open-source code is publicly accessible. Students can easily study it as they learn to make better software. Students can also share their work with others, inviting comments and critique, as they develop their skills. When people discover mistakes in programs' source code, they can share those mistakes with others to help them avoid making those same mistakes themselves.

Security

Some people prefer open-source software because they consider it more secure and stable than proprietary software.

Anyone can view and modify open-source software. Other users may spot and correct errors or omissions that a program's original authors might have missed. And because so many programmers can work on a piece of open-source software without asking for permission from original authors, they can fix, update, and upgrade open-source software more quickly than they can proprietary software.

Stability

Many users prefer open-source software to proprietary software for important, long-term projects.

Programmers publicly distribute the source code for open-source software. Users relying on that software for critical tasks can be sure their tools won't disappear or fall into disrepair if their original creators stop working on them. Additionally, open-source software tends to both incorporate and operate according to open standards.

What is the general idea of WabiSabi coinjoin?

While fungibility is an essential property of good money, Bitcoin has its limitations in this area. Numerous fungibility improvements have been proposed; however, none of them have addressed the privacy issues in full. WabiSabi is designed so that no participant, outside observer or even the coordinator can spy on the user. The scope of WabiSabi is not limited to a single transaction, it extends to transaction chains and it addresses various network layer deanonymizations. However, its scope is limited to Bitcoin's first layer. Even if an off-chain anonymity solution gets widely adopted, ultimately the entrance and exit transactions will always be settled on-chain. Therefore, there will always be need for on-chain privacy.

Ideal fungibility requires every Bitcoin transaction to be indistinguishable from each other, but it is an unrealistic goal. WabiSabi's objective is to break all links between coins. Thus, WabiSabi enables the usage of Bitcoin in a fully anonymous way.

WabiSabi defines a pre-mix and a post-mix wallet and a mixing technique. Pre-mix wallet functionality can be added to any Bitcoin wallet without much overhead. Post-mix wallets on the other hand have strong privacy requirements, regarding coin selection, private transaction and balance retrieval, transaction input and output indexing and broadcasting. The requirements and recommendations for pre and post-mix wallets together define the Wallet Privacy Framework. Coins from pre-mix wallets to post-mix wallets are moved by mixing. Most on-chain mixing techniques, like CoinShuffle, CoinShuffle++, TumbleBit's Classic Tumbler mode, or ZeroLink can be used. However WabiSabi defines its own mixing technique: WabiSabi coinjoin.

For more info please see WabiSabiopen in new window.

What are the supported operating systems?

Wasabi runs in most operating systems with 64-bit architecture. For the complete list of all the officially supported operating systems, click hereopen in new window.

What are the minimal requirements to run Wasabi?

As long as your operating system is supportedopen in new window, Wasabi should be able to run on your hardware. The more transactions a wallet has made, the more resources Wasabi will consume, particularly RAM. The software can also consume a significant amount of CPU for specific tasks, such as coinjoins or wallet loading. Approximately 3 GB of disk space are also needed, mainly to store the block filters. If you are running the wallet on a system with scarce resources, consider using the daemonopen in new window instead of the GUI application.