URL replacements throughout lib/: - support_view_model.dart: removed Cake's own support channels (email, website, forum, Telegram, Telegram bot). Only GitHub Issues + Releases remain. Third-party provider support links (ChangeNow, SideShift, SimpleSwap, Exolix, Trocador, Onramper, DFX, MoonPay, Robinhood, Kryptonim) kept — genuinely useful when a swap goes sideways. - transaction_details_view_model.dart + payjoin_details_view_model.dart: mempool.cakewallet.com -> mempool.space (canonical free public mempool, no affiliate). - services_updates_widget.dart: status.cakewallet.com -> our GH issues. - 8 widget/screen files: docs.cakewallet.com / blog / cakewallet.com help URLs repointed to github.com/Such-Software/hash-wallet (placeholder until we have our own docs; better than dead-linking to Cake's docs). User-facing text changes: - walletkit_service.dart: WalletKit metadata (name/description/url/icon/ redirect) all -> Hash Wallet / Such Software repo / hashwallet:// scheme. - di.dart: TrezorConnect callback URL + appName -> Hash Wallet. - vulnerable_seeds_popup.dart + haven_wallet_removal_popup.dart: copy rewritten to say 'Hash Wallet' instead of 'Cake Wallet', and point to GH issues instead of Cake's support email. - swap_provider_initial_preference_modal.dart: trailing 'Cake Wallet.' -> 'Hash Wallet.' Deep-link URL scheme cakewallet:// -> hashwallet:// in: - lib/main.dart, lib/src/screens/root/root.dart, lib/view_model/link_view_model.dart Means any cakewallet:// link from a payment QR / Trezor callback / shortcut now routes via hashwallet://. No existing user base so no migration needed. SVG asset swaps (content replaced, filenames kept so call-sites compile without rewriting): - assets/new-ui/cake_squircle_icon.svg -> hash_wallet/02_app_icon.svg - assets/new-ui/cakewallet-wordmark-light.svg -> hash_wallet/03_lockup_horizontal.svg (dark text for light backgrounds) - assets/new-ui/cakewallet-wordmark.svg -> hash_wallet/03_lockup_horizontal_dark.svg (light text for dark backgrounds) - apps_widget.dart: the conditional cakelabs-icon render became a SizedBox() no-op. The Apps tab is gutted anyway (placeholder content); this widget is also used elsewhere where the Cake Labs attribution badge is unwanted.
Hash Wallet
Hash Wallet (#) is an open-source, non-custodial, multi-currency crypto wallet for Android, iOS, macOS, Linux, and Windows. It is a fork of Cake Wallet maintained by Such Software LLC.
Why a fork?
Cake Wallet ended Wownero support in early 2026. Hash Wallet exists to keep Wownero as a first-class mobile experience, run by the project's founder, while shipping a slimmer, more focused multi-coin wallet without the chains and integrations we don't want to maintain or recommend.
Supported chains
- Monero (XMR)
- Wownero (WOW)
- Bitcoin (BTC)
- Litecoin (LTC), incl. MWEB
- Bitcoin Cash (BCH)
- Dogecoin (DOGE)
- Nano (XNO)
- Ethereum (ETH) + ERC-20s
- Polygon (POL)
- Base (BASE)
- Arbitrum (ARB)
- BNB Smart Chain (BSC)
Hardware wallet support: Ledger, Trezor, BitBox.
What's different from Cake Wallet
Removed:
- Solana, Tron, Zano, Zcash, Decred (chain support disabled)
- Lightning Network (deferred — running Greenlight infra is out of scope for now)
- Cake Pay gift cards (Cake Labs–operated service)
- All direct swap-provider integrations except Trocador, which already aggregates ChangeNow, FixedFloat, LetsExchange, Exolix, StealthEx, Quantex, and ~16 others under one privacy-friendly API
Replaced or planned:
- Default Monero/Wownero/BTC node lists augmented with community nodes (don't rely on Cake Labs–operated nodes alone)
- Fiat price API replacement (Cake's API → public source) — pending
- Tor / Arti integration improvements — pending
Build instructions
The build system is unchanged from upstream Cake Wallet. See docs/ for per-platform instructions:
- Android:
docs/build_android.md - iOS:
docs/build_ios.md - macOS:
docs/build_macos.md - Linux:
docs/build_linux.md - Windows:
docs/build_windows.md
Required Flutter version is pinned in Dockerfile (currently 3.32.0) and .tool-versions. Newer Flutter SDKs (3.5+) drop the _macros pseudo-package that Cake's pinned hive_generator + build_resolvers transitively require — flutter pub get will fail until you switch to 3.32.0. If using asdf or mise, the version will be picked up automatically; otherwise:
git clone --depth 1 --branch 3.32.0 https://github.com/flutter/flutter.git ~/sdks/flutter/3.32.0
export PATH="$HOME/sdks/flutter/3.32.0/bin:$PATH"
flutter --version # confirm 3.32.0 / Dart 3.8.0
Before the first flutter pub get, you must run the prep scripts to clone external native dependencies:
./scripts/prepare_torch.sh
./scripts/prepare_moneroc.sh
./scripts/prepare_zcash.sh # still required by build, even though Zcash is disabled
./scripts/build_bitbox_flutter.sh
# Then fetch the prebuilt reown_flutter tarball (CI does this; reproduce locally
# with the URL in .github/workflows/pr_test_build_linux.yml if you have it).
Then run the platform-specific configure script, e.g.:
APP_LINUX_TYPE=cakewallet ./configure_hash_wallet.sh linux
Contributing
Issues and PRs welcome at https://github.com/Such-Software/hash-wallet.
License
Hash Wallet is distributed under the MIT License, inheriting from Cake Wallet.
Copyright (C) 2018–2023 Cake Labs LLC
Copyright (C) 2026 Such Software LLC
Cake Wallet, the Cake Wallet logo, and related marks are trademarks of Cake Labs LLC and are not used by Hash Wallet.