Audit of every surface that could show somebody else's logo. Most of it was already ours: the transaction success screen draws hash_bag.png and the hashbag_sym_* glyphs, cake_logo_light/dark.svg and the Android icon set were redrawn from the Hash Bags mark in May and only kept their old filenames, no user-visible string contains "Cake", and every cupcake reference is a HardwareWalletType icon sitting next to Ledger and Trezor, which is interop rather than branding. Two places were not ours. The Flatpak manifest installed cakewallet_icon_180.png as the Linux desktop icon, and that file is upstream Cake artwork from 2025 that the rebrand never touched. So the Linux build has been shipping a Cake Wallet icon. It now uses the Hash Bags mark. The macOS icon script had the same fault, latent only because no workflow builds macOS; it gets a proper Hash Bags set at all seven sizes rather than a landmine for whoever turns that build on. Deleted the Cake artwork nothing needs: cake_logo.png, cakepay.png, the three cakewallet_icon_* files and the macOS set. assets/images/ is bundled whole, so unreferenced files were shipping inside the binary regardless of whether any code could draw them. Also fixes a bug the audit turned up rather than a branding one. The theme picker chose its preview icon by matching theme.title, which is built from the accent colour's display name, so renaming an accent silently changed the icon. It had: the list still named Cake Primary, Tron Red and Frosting Purple, none of which ship, while our own Such Pink and Such Blue were absent and fell through to the plain dark icon. It asks the theme what it is now, not what it is called. Version to 1.0.3+13. pubspec_description.yaml is the single source for all five platforms; the checked-in pubspec.yaml is a build artifact. Still there, reported not removed: cake_pay_icon.png, reachable only through the Cake Pay order provider, which is the only provider, has an empty API key and cannot produce an order in this app. Removing it means removing the orders feature, which is not a branding change.
Hash Bags
Hash Bags (#) 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 Bags 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/builds/ANDROID.md - iOS:
docs/builds/IOS.md - macOS:
docs/builds/MACOS.md - Linux:
docs/builds/LINUX.md - Windows:
docs/builds/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/build_bitbox_flutter.sh
# Then fetch the prebuilt reown_flutter tarball (CI does this; reproduce locally
# with the URL in .github/workflows/build-linux.yml).
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. See CONTRIBUTING.md for ground rules.
License
Hash Bags' own application code is distributed under the MIT License, inherited from Cake Wallet. It also bundles third-party open-source components under their own licenses — including the Monero and Wownero wallet cores (BSD-3-Clause) and additional components under Apache-2.0 and LGPL-3.0 — so the app as a whole is not solely MIT-licensed. See the LICENSE files in the repository.
Copyright (C) 2018–2025 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 Bags.