Dana

dev.silentpayments.danawallet
by Dana wallet dana@danawallet.app

A mobile wallet for accepting bitcoin donations

Dana is a flutter app used for accepting bitcoin donations. It uses silent payments, a new static payments protocol, to receive donations while preserving on-chain privacy.

First release: Jan 21, 2026, 8 total releases.

Most recent release: Sep 10, 2026.

Repo

Appears in 1 app stack.

0 sats / 0 zaps received in the past year.

Sats Received

Underlying data available via MCP: app_zaps, app_releases.

Zap Count

Underlying data available via MCP: app_zaps, app_releases.

Releases

  • Sep 10, 2026 0.8.3
    This minor release fixes a visual bug that displayed change amounts incorrectly in the transaction history. No funds have been at risk. ## What's Changed * fix: `6468e658` misnamed the `change_code` method in `SpWallet` by @Sosthene00 in https://github.com/cygnet3/dana/pull/472 **Full Changelog**: https://github.com/cygnet3/dana/compare/v0.8.2...v0.8.3
  • Jul 13, 2026 0.8.1
    New minor release! This release contains stability improvements, faster startup times, and minor bug fixes. It also adds the option to switch between satoshi/BTC display format, and stops displaying the 'you are using mainnet' warning after the first time. ## What's Changed * feat(linux): set database directory to ~/.dana by @cygnet3 in https://github.com/cygnet3/dana/pull/420 * feat: don't await exchange rate information on launch by @cygnet3 in https://github.com/cygnet3/dana/pull/421 * feat: show mainnet warning once by @cygnet3 in https://github.com/cygnet3/dana/pull/422 * refactor!: drop main_local entry file by @cygnet3 in https://github.com/cygnet3/dana/pull/423 * refactor: drop unused svg icons from preloading by @cygnet3 in https://github.com/cygnet3/dana/pull/424 * refactor: move sync service constructor call to inside orchestrator by @cygnet3 in https://github.com/cygnet3/dana/pull/425 * refactor: start sync orchestrator in same block as other states by @cygnet3 in https://github.com/cygnet3/dana/pull/426
    More…
    * refactor: simplify sync orchestrator by @cygnet3 in https://github.com/cygnet3/dana/pull/427 * fix: set orchestrator.start before redirecting to notification screen by @cygnet3 in https://github.com/cygnet3/dana/pull/428 * fix(rust): move StateUpdate to api/structs by @cygnet3 in https://github.com/cygnet3/dana/pull/429 * Feat/parse btc amt by @Sosthene00 in https://github.com/cygnet3/dana/pull/431 * Fix/add contact ux by @Sosthene00 in https://github.com/cygnet3/dana/pull/435 * feat: drop 'Exception: ' prefix for generic exception types by @cygnet3 in https://github.com/cygnet3/dana/pull/442 * fix: validate bip353 address outside of build function by @cygnet3 in https://github.com/cygnet3/dana/pull/441 * Feat/display preferences btc sat by @Sosthene00 in https://github.com/cygnet3/dana/pull/432 * build/set `max_page_size` to 16384 by @Sosthene00 in https://github.com/cygnet3/dana/pull/436 * fix: Check for chainState.available before calculating blocksToScan by @Sosthene00 in https://github.com/cygnet3/dana/pull/444 **Full Changelog**: https://github.com/cygnet3/dana/compare/v0.8.0...v0.8.1
  • Jun 8, 2026 0.8.0
    > [!WARNING] > Dana wallet is currently still considered 'experimental'. Don't use funds you aren't willing to lose. We don't take responsibility for lost funds. This release adds support for background wallet synchronization, allowing you to receive updates while the wallet is in the background. This is new territory for us, so there may be some stability issues! In order to run the app in the background, we require the 'notification' permission. Upon updating, you may be prompted by the app to allow for this permission. The wallet will still work fine if you deny the notification permissions, but in that case the app will only be able to sync while the app is in the foreground. ## What's Changed * refactor: remove unused pin guard screen by @cygnet3 in https://github.com/cygnet3/dana/pull/400
    More…
    * Change sync service to a foreground service by @Sosthene00 in https://github.com/cygnet3/dana/pull/338 * refactor: rename SyncProgressNotifier -> SyncProgressState by @cygnet3 in https://github.com/cygnet3/dana/pull/407 * refactor(sync): use single sync backend class by @cygnet3 in https://github.com/cygnet3/dana/pull/406 * refactor: make foreground sync service methods static by @cygnet3 in https://github.com/cygnet3/dana/pull/408 * refactor: move onServiceData callbacks to sync service by @cygnet3 in https://github.com/cygnet3/dana/pull/409 * feat(justfile): split run into 'prepare' and 'run' by @cygnet3 in https://github.com/cygnet3/dana/pull/410 * docs: add improved header to README by @cygnet3 in https://github.com/cygnet3/dana/pull/413 * docs: simplify readme by @cygnet3 in https://github.com/cygnet3/dana/pull/414 * build(rust): update spdk by @cygnet3 in https://github.com/cygnet3/dana/pull/416 * build: v0.8.0 release by @cygnet3 in https://github.com/cygnet3/dana/pull/417 **Full Changelog**: https://github.com/cygnet3/dana/compare/v0.7.4...v0.8.0
  • May 8, 2026 0.7.4
    > [!WARNING] > Dana wallet is currently still considered 'experimental'. Don't use funds you aren't willing to lose. We don't take responsibility for lost funds. ## What's Changed * fix: Prevent spending to self by @Sosthene00 in https://github.com/cygnet3/dana/pull/364 * chore(rust): update spdk-wallet to latest by @cygnet3 in https://github.com/cygnet3/dana/pull/367 * feat: add transaction details screen by @Sosthene00 in https://github.com/cygnet3/dana/pull/281 * feat: make the field in `ChooseRecipient` searching for known contacts by @Sosthene00 in https://github.com/cygnet3/dana/pull/361 * fix(contacts): infinite hang when erroring on empty address by @cygnet3 in https://github.com/cygnet3/dana/pull/371
    More…
    * refactor(send): drop RecipientForm and RecipientFormFilled by @cygnet3 in https://github.com/cygnet3/dana/pull/372 * refactor(spend): clean up spend flow by @cygnet3 in https://github.com/cygnet3/dana/pull/373 * feat(txhistory): sort by confirmation height by @cygnet3 in https://github.com/cygnet3/dana/pull/379 * refactor: drop api- prefix from all api structs by @cygnet3 in https://github.com/cygnet3/dana/pull/376 * refactor(ui): use FooterButton on home screen for 'pay' by @cygnet3 in https://github.com/cygnet3/dana/pull/381 * fix(choose_recipient): change button text to fix screen width by @cygnet3 in https://github.com/cygnet3/dana/pull/382 * refactor: drop api- prefix from unsigned sp transaction by @cygnet3 in https://github.com/cygnet3/dana/pull/383 * refactor: rename change_address -> change_code by @cygnet3 in https://github.com/cygnet3/dana/pull/385 * refactor: remove unused imports by @cygnet3 in https://github.com/cygnet3/dana/pull/386 * refactor(screens): use MainScreenSkeleton for all main page screens by @cygnet3 in https://github.com/cygnet3/dana/pull/388 * fix(ui, android): wrap main screen column in a SafeArea by @cygnet3 in https://github.com/cygnet3/dana/pull/391 * build: update cargokit by @cygnet3 in https://github.com/cygnet3/dana/pull/393 * refactor(justfile): drop recipes for manually building binaries by @cygnet3 in https://github.com/cygnet3/dana/pull/394 * refactor: drop url_launcher dependency override by @cygnet3 in https://github.com/cygnet3/dana/pull/395 **Full Changelog**: https://github.com/cygnet3/dana/compare/v0.7.3...v0.7.4
  • Apr 7, 2026 0.7.3 Release page →
    > [!WARNING] > Dana wallet is currently still considered 'experimental'. Don't use funds you aren't willing to lose. We don't take responsibility for lost funds. This minor release contains mostly stabilization updates. Most of the work in this release is related to database migration, however this should not make a noticeable difference to the user. New user-facing features: - Add 'reset to birthday' user setting - Better looking confirm screens for both resetting and deleting wallet - Disable file backups on the Experimental flavor
    More…
    - Better support for self-spends, no longer show 2 separate transactions for self-spends (incoming and outgoing) - Improve 'add contact' flow: allow searching for contact names in 'add contact' widget Below are the full changelogs. ## What's Changed * docs: update dana experimental section in README by @cygnet3 in https://github.com/cygnet3/dana/pull/323 * refactor: add goToHomeScreen global function by @cygnet3 in https://github.com/cygnet3/dana/pull/326 * refactor: drop spwallet serialize/deserialize by @cygnet3 in https://github.com/cygnet3/dana/pull/332 * refactor(sync): rename scan -> sync in dart codebase by @cygnet3 in https://github.com/cygnet3/dana/pull/324 * chore(rust): update spdk to latest by @cygnet3 in https://github.com/cygnet3/dana/pull/333 * feat: reset wallet to birthday by @cygnet3 in https://github.com/cygnet3/dana/pull/325 * feat: add confirm screens for wallet deletion and reset by @cygnet3 in https://github.com/cygnet3/dana/pull/334 * feat(ui): mark 'reset wallet data' as destructive by @cygnet3 in https://github.com/cygnet3/dana/pull/335 * build(linux): set default window size 450x700 by @cygnet3 in https://github.com/cygnet3/dana/pull/336 * feat(sql): add file-based migration support by @cygnet3 in https://github.com/cygnet3/dana/pull/337 * fix(db): split migration into separate statements by @cygnet3 in https://github.com/cygnet3/dana/pull/339 * feat(justfile): add inspect-db command by @cygnet3 in https://github.com/cygnet3/dana/pull/340 * feat(justfile): build android binaries if running on android in 'run' recipe by @cygnet3 in https://github.com/cygnet3/dana/pull/345 * style(rust): allow unused wallet_fingerprint struct field by @cygnet3 in https://github.com/cygnet3/dana/pull/346 * style: dart format lib by @cygnet3 in https://github.com/cygnet3/dana/pull/347 * build: add github workflow for dart format checking by @cygnet3 in https://github.com/cygnet3/dana/pull/348 * feat: store OwnedOutputs and TxHistory in SQL database by @Sosthene00 in https://github.com/cygnet3/dana/pull/272 * refactor(db): merge transaction tables by @cygnet3 in https://github.com/cygnet3/dana/pull/351 * feat(UI): show self-sends in transaction history as send-to-self by @cygnet3 in https://github.com/cygnet3/dana/pull/353 * feat(db): enable pragma foreign_keys by @cygnet3 in https://github.com/cygnet3/dana/pull/354 * refactor: drop migration idempotency by @cygnet3 in https://github.com/cygnet3/dana/pull/355 * build(justfile): add 'just format' command by @cygnet3 in https://github.com/cygnet3/dana/pull/356 * refactor: move search contacts to 'add contact' screen by @Sosthene00 in https://github.com/cygnet3/dana/pull/287 * Disable file backups by @cygnet3 in https://github.com/cygnet3/dana/pull/357 * feat(regtest): set last_sync to 0 on initializing by @cygnet3 in https://github.com/cygnet3/dana/pull/358 * fix(db): enable foreign_keys pragma after migration by @cygnet3 in https://github.com/cygnet3/dana/pull/359 * build: v0.7.3 release by @cygnet3 in https://github.com/cygnet3/dana/pull/365 **Full Changelog**: https://github.com/cygnet3/dana/compare/v0.7.2...v0.7.3
  • Mar 1, 2026 0.7.2 Release page →
    > [!WARNING] > Dana wallet is currently still considered 'experimental'. Don't use funds you aren't willing to lose. We don't take responsibility for lost funds. ## What's Changed * build: v0.7.2 release by @cygnet3 in https://github.com/cygnet3/dana/pull/316 * feat: allow wallet creation without internet access by @cygnet3 in https://github.com/cygnet3/dana/pull/315 * feat: make birthday nullable by @cygnet3 in https://github.com/cygnet3/dana/pull/314 * feat: move owned_output to dana rust lib by @cygnet3 in https://github.com/cygnet3/dana/pull/311 * Add aiexclude by @Sosthene00 in https://github.com/cygnet3/dana/pull/308
    More…
    * refactor: Move `display_btc` and `display_sats` from rust code to dart by @Sosthene00 in https://github.com/cygnet3/dana/pull/307 * refactor: Move `FiatCurrency` to dart by @Sosthene00 in https://github.com/cygnet3/dana/pull/306 * refactor(rust): import backend-blindbit-v1 via spdk_wallet re-export by @cygnet3 in https://github.com/cygnet3/dana/pull/305 * refactor(rust): split OwnedOutput into SimplifiedOutput by @cygnet3 in https://github.com/cygnet3/dana/pull/304 * refactor: replace spdk-core dependency with spdk-wallet by @cygnet3 in https://github.com/cygnet3/dana/pull/303 * fix: de/serialize network as lowercase @cygnet3 in https://github.com/cygnet3/dana/pull/302 * refactor: drop birthday from SpWallet struct by @cygnet3 in https://github.com/cygnet3/dana/pull/301 * style: dart format by @cygnet3 in https://github.com/cygnet3/dana/pull/300 * build: add flutter_rust_bridge generated files to gitignore by @cygnet3 in https://github.com/cygnet3/dana/pull/299 * refactor(rust): split `api/structs` into multiple files by @cygnet3 in https://github.com/cygnet3/dana/pull/298 * feat: use network enum in rust library api by @cygnet3 in https://github.com/cygnet3/dana/pull/297 * build: update bitcoin dependency to latest byy @cygnet3 in https://github.com/cygnet3/dana/pull/296 * fix: make dana address scrollable in contact details screen by @cygnet3 in https://github.com/cygnet3/dana/pull/295 * Refactor global functions by @Sosthene00 in https://github.com/cygnet3/dana/pull/294 **Full Changelog**: https://github.com/cygnet3/dana/compare/v0.7.1...v0.7.2
  • Feb 11, 2026 0.7.1 Release page →
    > [!WARNING] > Dana wallet is currently still considered 'experimental'. Don't use funds you aren't willing to lose. We don't take responsibility for lost funds. ## What's Changed * [refactor] Move get fees to chainstate by @cygnet3 in https://github.com/cygnet3/dana/pull/260 * Allow delayed setting of the 'you'-contact bip353Address by @cygnet3 in https://github.com/cygnet3/dana/pull/261 * feat(dev): Add skip button on register dana address screen by @cygnet3 in https://github.com/cygnet3/dana/pull/262 * Implement initial Settings screen redesigns by @Sosthene00 in https://github.com/cygnet3/dana/pull/259 * refactor: Drop old unused variables in SpWallet by @cygnet3 in https://github.com/cygnet3/dana/pull/265 * feat: Add 'local' flavor by @cygnet3 in https://github.com/cygnet3/dana/pull/266
    More…
    * chore: Update flutter secure storage to 10.0.0 by @cygnet3 in https://github.com/cygnet3/dana/pull/267 * build(justfile): Drop build-apk recipes by @cygnet3 in https://github.com/cygnet3/dana/pull/269 * build(android): Rename Dev flavor app Development -> Experimental by @cygnet3 in https://github.com/cygnet3/dana/pull/270 * feat: Use signet as default for all flavors apart from live by @cygnet3 in https://github.com/cygnet3/dana/pull/271 * refactor(screens): Use proper conventions on settings screens by @cygnet3 in https://github.com/cygnet3/dana/pull/273 * style: Use generic skeleton widget across different screen domains by @cygnet3 in https://github.com/cygnet3/dana/pull/274 * feat: Add 'about' page to settings screen by @cygnet3 in https://github.com/cygnet3/dana/pull/275 * refactor: fix flutter diagnostics by @cygnet3 in https://github.com/cygnet3/dana/pull/276 * feat: make entire fee selection tile clickable by @cygnet3 in https://github.com/cygnet3/dana/pull/277 * refactor(screens): remove unused show address screen by @cygnet3 in https://github.com/cygnet3/dana/pull/279 * fix(spend): send to contact payment code by @cygnet3 in https://github.com/cygnet3/dana/pull/280 * refactor(screens): reorganize screens folder by @cygnet3 in https://github.com/cygnet3/dana/pull/278 * chore: update spdk with workspace structure by @cygnet3 in https://github.com/cygnet3/dana/pull/283 * fix: contact details don't display `sent` for user `You` contact by @Sosthene00 in https://github.com/cygnet3/dana/pull/284 * refactor(rust): rename blindbit-backend -> backend-blindbit-v1 by @cygnet3 in https://github.com/cygnet3/dana/pull/290 * build: v0.7.1 release by @cygnet3 in https://github.com/cygnet3/dana/pull/291 **Full Changelog**: https://github.com/cygnet3/dana/compare/v0.7.0...v0.7.1
  • Jan 21, 2026 0.7.0