v4.0.5
BoldWallet v4.0.5 – Transaction history visualizer, UR send scanning, and Nostr co-sign reliability
✨ What's new
Transaction history and Branta (new in v4.0.5)
- Animated transaction visualizer — compact track in transaction details: wallet-signed flows show two keys merging; externally received txs show a single network origin.
- Wallet vs network origin — sent, consolidation, and rebalancing all use the wallet track; incoming receives use the network track.
- Branta merchant identity on history — list rows show stored merchant labels (theme-aware logos and verified check) for Branta-enhanced payments.
- Verified-tx backfill — older Branta payments that predate per-txid tracking are migrated into
branta_verified_txs.
Animated UR send and PSBT scanning
- Fountain UR frames — large UTXO send QRs use a shared encoder stream, not sequential-only frames, with a 250ms frame interval.
- Unique-fragment progress — scan overlay shows
N of Mreceived fragments instead of fountain 99% estimates; incomplete UR is never treated as done. - Junk-frame tolerance — Android send scan ignores non-UR camera noise while assembling and no longer alerts/closes on garbage frames.
- PSBT UR progress — the same unique-fragment progress is used on iOS overlay and Android ZXing text.
Nostr co-sign reliability
- Smart bulk relay ranking — bulk publishes prefer connected relays with the best EWMA RTT and fewest consecutive failures, not CSV order.
- Bulk publish deadline — hung relays no longer stall a chunk; a 4s bulk timeout falls back to one critical fan-out across non-blocked relays.
- Relay fidelity logs — per-relay publish OK/fail, RTT, and bulk vs critical events are visible in JS logs (failures always; successes throttled).
- Handshake timing — the peer subscribe delay runs before the publish deadline (45s publish / 55s wait), so the old 2s sleep no longer ate the timeout.
- Mempool sync yields during MPC — background sync is paused and in-flight HTTP is aborted so wallet polling does not contend with relay publish.
Share / Open with from any app
- Single Android task — sharing or opening a
.share/.psbtfile from Files, WhatsApp, Signal, Telegram, or any other app no longer creates a second Bold card in Recents. - iOS comes to the foreground — the share extension copies the file, then actually opens Bold with the import password modal instead of bouncing back to the sender.
- Provider URI resolution — Android
content://shares without.sharein the path are resolved via display name and copied into cache.
Send-path hardening included in this release train
- Local scriptPubKey derivation — compact QR coins get
scriptpubkeyfrom the address or local UTXO DB without a mempool round-trip. - Change-address display path — send preview shows the QR/route change path, not this device’s next unused change index.
Security and documentation updates
- Changelog update — v4.0.5 release entry added.
In Short
- Added branta integration and transaction visualizer to the transactio… by @kar1timmins in #78
- v4.0.5 changelog and share/open-with handoff by @boldbitcoin in #79
Full Changelog: 4.0.4...v4.0.5
💛 No servers. No seed phrases. Just sovereign sats.
🔗 Learn more at boldbitcoinwallet.com
🔐 PGP public key at boldwallet-publickey.asc
📎 SHA256: app-release.apk.sha256
3446367cac659b3a17011efecbfb4fc39c5485efaef649d7fa00951925b754f4
🔑 SHA256-PGP-Signature: app-release.apk.sha256.asc
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEmqm9HSMiBJd7uQil0mO1cs3oHIwFAmqFgOgACgkQ0mO1cs3o
HIyl0w/+JyqW/d4FWnrG2DRz+NsXQPws5NzFdfAIrnFewN01vszJDM4MY3FJ1JDv
kfxjDfl06+JzG4F8gkt9Uo4XEHQ/K+NuvsCalUjeNFMM0/hbt+fxVvpVzd6iQDDW
39/Sv7VAXHOvMDU4bmZERX1wFHU3chnaec+LL1mGhKolv2SgMOCtlUSsODLTCqb5
KFPvUjjdT8KCNhMOoJcLrEQPUvvkyBztAyJY+d6KtiJVkqZk8XrHZbIdN8MMFeq0
9w/9CzB2hqzbsGC8PIsyjLQ2yHoCEe9Nlb1otVZdjeWADBh6ldw9qk119Fy02qVj
DC/xSYjkeboravM9dKytm2kdyOpevb38RYHZE9cG9TkekhdbQqfRH7gE6tPT4Ojn
50fXPSV0aeXrpHNZyJsqHzcOeUeUkWptYLOmqBRwfkHc5IQjdl/QyudSu3sdhX+9
D20rCQIheTqmsR+FITALTfXWMEDpRJa7lIIv2vOke0GqqKYoVmSeQoDXarzUWOHq
iOhEoZY+gEO/hX/mVQQD2Qw/ua37wCkp7JP2IUkfRBFf1ApndMP2TmkylIavT2eZ
9IyCggeeG494Rvo7XvPQtJ021P7C0p3nG357PdNrYKsddvarYzzofncBeVx+Xntc
Llw15yv9GXVi4JmutnWEY39ssvKMqtV3N8cT1Jsqike2Ghz9y+0=
=gm3S
-----END PGP SIGNATURE-----
APK signature
This APK is signed with the official BoldWallet keystore.
Do not mix it with F-Droid, Zapstore, or other store-signed builds. Use one trusted source for updates.


