Wasabi Wallet

wasabiwallet.io
Wasabi Wallet

An 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.

Open Source

Wasabi Wallet Source Code

Author

WalletWasabi

Description

Open-source, non-custodial, privacy preserving Bitcoin wallet for Windows, Linux, and Mac.

#bitcoin#bitcoin-wallet#coin#coinjoin#cross-platform#dotnet#nbitcoin#privacy#tor#wabisabi#wallet#wasabi#wasabi-wallet

Homepage

https://wasabiwallet.io

License

MIT

Created

03 Apr 16

Last Updated

09 Jun 26

Latest version

var64

Primary Language

C#

Size

1,169,273 KB

Stars

2,557

Forks

559

Watchers

2,557

Language Usage

Language Usage

Star History

Star History

Top Contributors

Recent Commits

  • Lucas Ontivero (09 Jun 26)

    Get compact filters from the p2p network (#14546) * Refactorying I * Consolidate node management * Abstract the filters provider * Add draft p2p filters provider * Download Compact Filter Headers * Download filter via P2P * CR suggestions * Refactoring (move code and renames) * reorg * Add some node seeds * move up * CompactFilterBehavior: Make TimeProvider required in `RequestTracker` * CompactFilterBehavior: Simplify * CompactFilterBehavior: GetNextRangeFiltersAsync -> GetNextFilterBatchAsync * Fix end range calculation * Do not register stale assigmnet results as pending * CR suggestions * CR suggestions --------- Co-authored-by: Carti <[email protected]>

  • Carti-it (08 Jun 26)

    Global: `ConfigureBitcoinNetwork` - add more seed data (#14656) Co-authored-by: Lucas Ontivero <[email protected]>

  • Carti-it (07 Jun 26)

    P2PNodesManager: Turn UpdateTimeout from async to sync (#14655) Co-authored-by: Lucas Ontivero <[email protected]>

  • Carti-it (07 Jun 26)

    codeql.yml: Remove (#14652) * codeql.yml: Use CodeQL v4 * codeql.yml: Remove

  • Lucas Ontivero (07 Jun 26)

    High CPU & RAM (#14654) * Fix `_aware` always growing * Fix high cpu on error

  • Carti-it (05 Jun 26)

    MailboxProcessor: Add `Name` for debugging (#14618) * MailboxProcessor: Add name for debugging * TestRunner: Minor changes

  • Carti-it (05 Jun 26)

    CoinPrison: Refactor (#14641) * CoinPrison: Refactor * CoinPrison: Move dispose method down

  • Isaque Franklin (05 Jun 26)

    add: check for the k_max limit specified in bip0352 (#14639)

  • Lucas Ontivero (05 Jun 26)

    Simplify disposals (#14596)

  • Carti-it (04 Jun 26)

    P2P: Improve logs (#14649) * Improve logs * Global: Use actual names * P2PNodesManager: nodes to nodesRegistry * P2PNodesManager: Remove unnecessary allocation

  • Lucas Ontivero (04 Jun 26)

    Announce relay (#14647)

  • Lucas Ontivero (04 Jun 26)

    Fix wasabi scheme lib (#14648)

  • Carti-it (03 Jun 26)

    Turn on `TreatWarningsAsErrors` (#14629) * JsonRpcResponse: "id" is required in the response but it can be null * RpcTests: Fix tests * Convert to explicit values * Explicit JSON strings * KeyManager: Remove redundant cast * KeyManager: Fix warnings * NavigationStack: Fix warning * Directory.Build.props: Set `TreatWarningsAsErrors` * Modify

  • Carti-it (03 Jun 26)

    Wallet: Remove `IsWalletPrivateAsync` (#14640)

  • Carti-it (03 Jun 26)

    CoinRefrigerator: Fix namespace and make it thread-safe (#14642) * CoinJoinManager: Unnecessary copying * CoinRefrigerator: Fix namespace * CoinRefrigerator: Make it thread-safe

  • Lucas Ontivero (03 Jun 26)

    Nodes discovery and management (#14616) * Nodes discovery and management * PeerInfo: Remove spaces * NodeDiscoveryService: Add missing ConfigureAwait * Add Spawn method without comparer to decrease patch size * BlockDownloadTests: Add missing `using` * NodeDiscoveryService: Add missing ConfigureAwait * NodeDiscoveryService: Typo * NodeDiscoveryService: Fix warning * NodeDiscoveryService: Crawlers are not nullable * NodeDiscoveryService: First cancel, then dispose * NodeDiscoveryService: Remove comment * Refactor Discovery service * Query DNS over Tor * Add Bitcoin Core DNS list * Slow down after 300 nodes discovered * Minor refactoring * Simplify design * Do not prefer onion nodes * NodeConnectionManager: Capitalize * NodeConnectionManager: Remove unused property * PeerInfo: LastSeen property is not supposed to be mutable * PeerInfo: Remove unused `IsOnion` property * PeerInfo: Use defined properties to make code more DRY * EventBus: Rename `BitcoinNodeAdded` to `P2pNodeAdded` * BlockDownloadTests: Remove stopwatch * Constants: Remove unused using * Global: Typo * Global: Suppress CA2000 * NodeDiscoveryService: Typo * NodeDiscoveryService: Remove unused CT * Revert silly changes * Improve logging for debug Co-authored-by: Carti-it <[email protected]> * Punish misbehaviors * CR Suggestion Co-authored-by: Carti-it <[email protected]> * Fix build * Improve punishment code/scoring * Fix IPv4 seed nodes * Increase cooldown reconnect time --------- Co-authored-by: Carti <[email protected]>

  • Carti-it (03 Jun 26)

    TransactionBroadcaster: Use `EventBus` to announce a new transaction. (#14626) * TransactionBroadcaster: Use `EventBus` to announce a new transaction. * Use EventBus in MempoolService

  • Kevin Ravensberg (29 May 26)

    Fix RPC fee estimation falling through when node returns single fee-estimate (#14621) * Fix RPC fee estimation falling through when node returns degenerate single-target result When a Bitcoin node has a thin mempool or insufficient fee history, estimatesmartfee returns Blocks=2 for every requested confirmation target. GetFeeEstimationsAsync keys results by the returned block number, so all 9 targets collapse to a single entry {2: X sat/vB} via DistinctBy. This non-empty result was accepted by Composed as a success, so MempoolSpace and Blockstream fallbacks were never tried, causing the coordinator to always create rounds at the same floor fee rate regardless of actual mempool conditions. Fix: after deduplication, throw NoEstimationException if fewer than 2 distinct block numbers were returned. This signals Composed to fall through to the next provider, which will supply a proper multi-point fee curve." * Update RPCClientExtensions.cs Co-authored-by: Lucas Ontivero <[email protected]> * Update WalletWasabi/Extensions/RPCClientExtensions.cs Fixed comments Co-authored-by: Carti-it <[email protected]> * Change return type from FeeRateEstimations to empty dictionary Solved a build issue with the return type on line 131. * Ensure result is returned in GetFeeEstimations Add a return statement to ensure result is returned when count is less than 2. --------- Co-authored-by: Lucas Ontivero <[email protected]> Co-authored-by: Carti-it <[email protected]>

  • Carti-it (28 May 26)

    KeyManager: Fix warnings (#14583)

  • Carti-it (28 May 26)

    Global: Do not use Wasabi RPC onion URI as a block provider (#14627)

  • Carti-it (28 May 26)

    JSON-RPC: Explicit null values (#14628) * JsonRpcResponse: "id" is required in the response but it can be null * RpcTests: Fix tests * Convert to explicit values * Explicit JSON strings

  • Carti-it (27 May 26)

    PrivacyContentControl: Fix warning (#14624)

  • Carti-it (27 May 26)

    CoinJoinManager: Replace `Channel` with `MailBoxProcessor` [7/n] (#14581) * CoinJoinManager: Replace `Channel` with `MailBoxProcessor` * Remove unused cancellation tokens * Add a todo

  • Carti-it (27 May 26)

    CurrencyEntryBox: Fix warning (#14623) * CurrencyEntryBox: Fix warning * rerun CI

  • Carti-it (27 May 26)

    WalletManager: Remove unused workDir parameter (#14625)

  • Lucas Ontivero (26 May 26)

    Check consolidated outputs (#14620)

  • Carti-it (26 May 26)

    Add missing QR code payment support (#14605) * Add missing QR code payment support * Add a delegate to show the QR code camera dialog * FeeRateProviders: Follow a suggestion

  • Carti-it (26 May 26)

    .editorconfig: Instruct IDEs to use `var` as expected when introducing new variables (#14619)

  • Carti-it (26 May 26)

    CoinJoinClient: Remove unused `stopWhenAllMixed` parameter (#14617)

  • Carti-it (22 May 26)

    TransactionBroadcaster: Fallback to other external broadcasters on failure (#14505) * Refactor to try the preferred broadcaster first and the rest after that * CR

Wasabi Wallet Security

5.9/10

Repo Security Summary

Updated 01 Jun 26

  • Maintained 10/10
  • Security-Policy 10/10
  • Packaging N/A
  • Code-Review 9/10
  • Dangerous-Workflow 10/10
  • Token-Permissions 0/10
  • CII-Best-Practices 0/10
  • Binary-Artifacts 0/10
  • License 10/10
  • Fuzzing 0/10
  • Branch-Protection N/A
  • Signed-Releases 8/10
  • Pinned-Dependencies 0/10
  • SAST 10/10

Wasabi Wallet Website

Website

wasabiwallet.io | 520: Web server is returning an unknown error

Redirects

Does not redirect

Security Checks

3 security checks failed (62 passed)

  • Robots Noindex
  • HTTP Status Error
  • HTTP Server Error

Server Details

  • IP Address 172.67.188.28
  • Location San Francisco, California, United States of America, NA
  • ISP CloudFlare Inc.
  • ASN AS13335

Associated Countries

  • US US

Safety Score

Website marked as moderately safe

90%

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

Website preview

Wasabi Wallet Reviews

More Crypto Wallets

  • BitBox02

    BitBox02

    shiftcrypto.ch

    Open source hardware wallet, supporting secure multisig with the option for making encrypted backups on a MicroSD card.

  • An easy-to-use, super secure Bitcoin hardware wallet, which can be used independently as an air-gapped wallet. ColdCard is based on partially signed Bitcoin transactions following the BIP174 standard. Built specifically for Bitcoin, and with a variety of unique security features, ColdCard is secure, trustless, private, and easy-to-use. Companion products for the ColdCard include: BlockClock, SeedPlate, and ColdPower.

  • 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

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-wallet

The 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!

View Crypto Wallets (7)