Wasabi Wallet
wasabiwallet.ioBitcoinAn open source, native desktop wallet for Windows, Linux, and MacOS. Wasabi implements trustless CoinJoins over the Tor network. Neither an observer nor the participants can determine which output belongs to which input. This makes it difficult for outside parties to trace where a particular coin originated from and where it was sent to, which greatly improves privacy. Since it's trustless, the CoinJoin coordinator cannot breach the privacy of the participants. Wasabi is compatible with cold storage and hardware wallets, including OpenCard and Trezor.
- Homepage:wasabiwallet.io
- GitHub:github.com/zkSNACKs/WalletWasabi
- Web info:web-check.xyz/check/wasabiwallet.io
Wasabi Wallet Source Code
Author
Description
Open-source, non-custodial, privacy preserving Bitcoin wallet for Windows, Linux, and Mac.
Homepage
https://wasabiwallet.ioRepository
- LicenseMIT
- Created03 Apr 16
- Primary languageC#
- Size1,228,008 KB
- Stars2,602
- Forks562
- Watchers2,602
Top Contributors
@nopara73 (8580)
@molnard (4636)
@RolandUI (3736)
@wieslawsoltes (2730)
@lontivero (2465)
@kiminuo (1881)
@yahiheb (1877)
@SuperJMN (1444)
@adamPetho (900)
@jmacato (588)
@Szpoti (544)
@MarnixCroes (248)
@Carti-it (232)
@nothingmuch (141)
@varsnotwars (116)
@Whem (114)
@turbolay (110)
@onvej-sl (104)
@ichthus1604 (80)
@RiccardoMasutti (79)
@benthecarman (78)
@YohDeadfall (76)
@BTCparadigm (34)
@mayankchhabra (32)
@NicolasDorier (27)
@Coinjoiner21 (19)
@dangershony (17)
@csiki2 (16)
@Kruwed (15)
@Kukks (14)
@Zolgarr (12)
@Astakhin (11)
@hgergoil (11)
@CAnorbo (10)
@6102bitcoin (9)
@c0llinx (8)
@karozagorus (8)
@raindogdance (8)
@09128319047 (8)
@Maxie42 (7)
@TChukwuleta (7)
@wintercooled (6)
@MitchellCash (6)
@Mixelated (6)
@gabrielkrieger (6)
@example123 (6)
@kristapsk (5)
@Bodnaralexa (5)
@lnliz (4)
@M1nd3r (4)
@valoaron (4)
@stooof (3)
@davterra (3)
@remcoros (3)
@guggero (3)
@nelsnelsnelson (3)
@FrancisPouliot (3)
@kravens (2)
@vuittont60 (2)
@0xB10C (2)
@alexseres (2)
@Onyx2406 (2)
@xavierfiechter (2)
@fulldecent (2)
@robik75 (2)
@Rmartin1104 (2)
@mikispag (2)
@JuniperTonic (2)
@johnsBeharry (2)
@DanGould (2)
@biig (2)
@AlexisKv (2)
@2pac1 (2)
@prusnak (1)
@Ancapzin (1)
@schulterklopfer (1)
@SamAI-Software (1)
@Stadicus (1)
@szgero (1)
@theseatoms (1)
@bolatovumar (1)
@chirhonul (1)
@deepsource-autofix[bot] (1)
@huey735 (1)
@jinjiadu (1)
@momantech (1)
@ravishwetha (1)
@git-sgmoore (1)
@soonsouth (1)
@Nurdur (1)
@benma (1)
@PulpCattel (1)
@lacker (1)
@kayevo (1)
@jirigav (1)
@IsaqueFranklin (1)
@janoside (1)
@Donjon-Cerberus (1)
@BrianSipple (1)
@morrisonbrett (1)
Recent Commits
Carti-it(10 Aug 26)
release.sh: Updates for reproducibility (#14792)
Lucas Ontivero(10 Aug 26)
Track signed payments in coinjoin (#14917) (#14921)
Lucas Ontivero(09 Aug 26)
Revert "Track uncertain payments in coinjoin (#14917)" (#14919) This reverts commit 9b7794250e7b788dfbe2f948fac289ad0659ab56.
Lucas Ontivero(09 Aug 26)
Track uncertain payments in coinjoin (#14917)
Lucas Ontivero(08 Aug 26)
Use a cryptographic hash function to hash the master key (#14913)
Lucas Ontivero(07 Aug 26)
Request entering passphrase for all spending methods (#14911)
Lucas Ontivero(07 Aug 26)
Use stricter default parameters (#14910) * Disable anonymous authentication * Use random credentials as initial values
Carti-it(05 Aug 26)
FeeRateEstimations: Use an immutable dictionary (#14898) * FeeRateEstimations: Use an immutable dictionary * CR * Remove redundant IEquatable --------- Co-authored-by: Lucas Ontivero <[email protected]>
Carti-it(04 Aug 26)
Fix potential crash when `WildEstimations` is empty (#14897) * FeeRateEstimationsTests: Add missing `Async` suffix * FeeRateEstimations: Code style changes * FeeRateEstimations: Convert `public TimeSpan EstimateConfirmationTime(FeeRate feeRate)` to `public bool TryEstimateConfirmationTime(FeeRate feeRate, [NotNullWhen(true)] out TimeSpan? confirmationTime)`
Carti-it(04 Aug 26)
SendFeeViewModel: Remove unnecessary async code (#14899)
Andrew Camilleri(04 Aug 26)
Keep the wallet height from underflowing and preceding the first filter (#14902) ChainHeight.Height is a uint and Constants.ResyncHeightMargin is a const int, so `height.Height - Constants.ResyncHeightMargin` in Encode.WalletHeight binds to uint arithmetic through the implicit constant expression conversion. For heights below the margin it wraps instead of going negative, which makes the surrounding Math.Max(0, ...) floor unreachable: a wallet sitting at height 0 persisted itself as 4294967195. Every network except mainnet starts its filters at the genesis block, so heights below the margin are reachable there. BlockchainState applied the "not before the first filter we have" floor only in its constructor, so later assignments could drop below it. ImportWalletHelper calls SetBestHeight(0) on every import, which left the imported wallet asking for the filter at height 1 and crashing the app with UnreachableException: Block filter for height 1 was not found. Moving the floor into the Height setter keeps the invariant total, and SetBestHeight(0) keeps its intended meaning of rescanning from the earliest height we can actually scan.
Lucas Ontivero(30 Jul 26)
Verify other participant's inputs (#14886)
Dan Gould(30 Jul 26)
Recognize BIP 77 pj endpoints and preserve pjos in BIP 21 parsing (#14880) AddressParser now keeps the pjos (output-substitution) parameter alongside the pj endpoint when parsing a BIP 21 URI and re-serializes it, so a faithful BIP 21 can be rebuilt for the payjoin parser. Bip77UriParams adds textual helpers over the pj endpoint fragment (uppercase bech32 params delimited by '-' or legacy '+'): IsBip77 (version dispatch) and TryGetReceiverKey (the RK1… session dedup key). The Payjoin package exposes no accessor for the individual fragment params, so version dispatch and dedup keys are derived textually here; semantic parsing and validation stay in that package. Pure parsing, no new dependency. Tests pin fragment preservation, pjos round-trip, version detection, receiver-key extraction, and the no-pj case. Co-authored-by: Carti <[email protected]>
Carti-it(29 Jul 26)
Make `dotnet test` output more CI friendly (#14884)
Carti-it(29 Jul 26)
Logger: Refactor to create logger once and configuration is allowed only before actual logging (#14720) * Logger: Refactor to create logger once and configuration is allowed only before actual logging * LoggerCore: Use UTC time instead of local one * Revert "LoggerCore: Use UTC time instead of local one" This reverts commit 2cbce07e0ddc2d587232c29041afdced021880f6.
Carti-it(29 Jul 26)
CoinJoinPaymentsView: Change "Pending" to "Queued" (#14872)
Coinjoiner(29 Jul 26)
Show awaiting addresses of all script types (#14822)
Coinjoiner(29 Jul 26)
Bright white in card titles (#14871)
Lucas Ontivero(28 Jul 26)
Fix recursive parsing and validations (#14876) Co-authored-by: Carti <[email protected]>
Coinjoiner(28 Jul 26)
Pay in coinjoin regardless of anonymity score (#14789) * Pay in coinjoin regardless of anonymity score * Continue coinjoin if round fails * Use the Wallet's PaymentBatchChanged event and normal coin selector
Carti-it(27 Jul 26)
Modify GitHub issue templates (#14873)
Carti-it(27 Jul 26)
[trivial] Code style changes (#14858) * Code style changes * CR * CR
Carti-it(27 Jul 26)
LoginView: Consolidate text and button when providing wrong password (#14866)
Carti-it(27 Jul 26)
Move `DeleteIndex` to `SqliteStorageHelper.DeleteDatabaseFiles` (#14861)
Carti-it(27 Jul 26)
KeyManager: Remove the constructor used only in tests (#14859) * KeyManager: Remove unused constant * KeyManager: Remove unused usings * KeyManager: Remove constructor used only in tests
Carti-it(27 Jul 26)
KeyManager: Fix more synchronization issues (#14860)
Carti-it(27 Jul 26)
Upgrade to xUnit v3 (#14864) * Remove `Avalonia.Headless.XUnit` package * Upgrade to xUnit v3 * Update deps.json * Update flake.nix and global.json
Carti-it(25 Jul 26)
KeyManager: Refactor `ToFile` (#14777) * KeyManager: Refactor `ToFile` * KeyManager: Use `Lock`
Lucas Ontivero(24 Jul 26)
Use biggest version for development (#14849) * Use biggest version for development * Inject version to fix tests
Lucas Ontivero(24 Jul 26)
Wait for block headers before starting synchronization (#14851)
Wasabi Wallet Security
Wasabi Wallet Website
Website
Wasabi Wallet - The Privacy focused Bitcoin Wallet
Wasabi is an open-source, non-custodial, privacy-focused Bitcoin wallet for desktop, that implements trustless multi-party transactions over the Tor anonymity network.
Redirects
Does not redirect
Security Checks
All 65 security checks passed
Server Details
- IP Address104.21.7.245
- LocationSan Francisco,California,United States of America,NA
- ISPCloudFlare Inc.
- ASNAS13335
Associated Countries
US
Safety Score
Website marked as safe
100%
Blacklist Check
www.wasabiwallet.io was found on 0 blacklists
- AntiSocial Blacklist
- Artists Against 419
- Badbitcoin
- Bambenek Consulting
- CERT Polska
- CoinBlockerLists
- CRDF
- CryptoScamDB
- EtherAddressLookup
- EtherScamDB
- Fake Website Buster
- MetaMask EthPhishing
- NABP Not Recommended Sites
- OpenPhish
- PetScams
- PhishFeed
- PhishFort
- Phishing.Database
- PhishStats
- PhishTank
- Phishunt
- RPiList Not Serious
- Scam.Directory
- SecureReload Phishing List
- Spam404
- StopGunScams
- Suspicious Hosting IP
- ThreatFox
- ThreatLog
- TweetFeed
- URLhaus
- ViriBack C2 Tracker
Website Preview
Wasabi Wallet Reviews
More Crypto Wallets
Open source hardware wallet, supporting secure multisig with the option for making encrypted backups on a MicroSD card.
A steel plate, with engraved letters which can be permanently screwed - CryptoSteel is a good fire-proof, shock-proof, water-proof, and stainless cryptocurrency backup solution.
Long-standing Python-based Bitcoin wallet with good security features. Private keys are encrypted and do not touch the internet and balance is checked with a watch-only wallet. Compatible with other wallets, so there is no tie-in, and funds can be recovered with your secret seed. It supports proof-checking to verify transactions using SPV, multi-sig, and add-ons for compatibility with hardware wallets. A decentralized server indexes ledger transactions, meaning it's fast and doesn't require much disk space. The potential security issue here would not be with the wallet, but rather your PC - you must ensure your computer is secure and your wallet has a long, strong passphrase to encrypt it with.
Sparrow is a Bitcoin wallet for those who value financial self-sovereignty. Sparrow’s emphasis is on security, privacy, and usability. Sparrow does not hide information from you - on the contrary, it attempts to provide as much detail as possible about your transactions and UTXOs, but in a way that is manageable and usable.
Open source, cross-platform, offline, crypto wallet, compatible with 1000+ coins. Your private key is generated on the device, and never leaves it, all transactions are signed by the Trezor, which ensures your wallet is safe from theft. There are native apps for Windows, Linux, MacOS, Android, and iOS, but Trezor is also compatible with other wallets, such as Wasabi. You can back the Trezor up, either by writing down the seed, or by duplicating it to another device. It is simple and intuitive to use, but also incredibly customizable with a large range of advanced features.
About the Data: Wasabi Wallet
Edit Wasabi Wallet Data
You can edit Wasabi Wallet's entry in this section of awesome-privacy.yml by submitting a PR to our GitHub repo.
Note that some of the information shown above has been aggregated from external
sources, a list of these can be found data documentation.
Origin Data
Modify Data
API
You can access Wasabi Wallet's data programmatically via our API. Simply make a GET request to:
https://api.awesome-privacy.xyz/v1/services/wasabi-walletThe REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.
Share Wasabi Wallet
Help your friends compare Crypto Wallets, and pick privacy-respecting software and services.
Share Wasabi Wallet and Awesome Privacy with your network!