Skip to content

v0.1.8 (Android versionCode 36)

Choose a tag to compare

@CypherBoxLLC CypherBoxLLC released this 27 Aug 18:27
· 74 commits to main since this release
v0.1.8-vc36
1019956

Cypher Box 0.1.8 (Android versionCode 36, iOS build 19).

Bark Vault (Ark)

Emergency Exit, rebuilt

  • Triages the exit set instead of exiting everything: VTXOs that would cost more to rescue than they hold are named and excluded rather than silently funded.
  • Refuses to exit VTXOs with under 4 days of runway and says to refresh them first, with an override that states the loss.
  • Fund the exit-fee reserve from another wallet or from CoinOS, with a source picker, a confirmation screen and a choose-your-amount step.
  • One local reminder at the batched claim height, so finishing an exit no longer depends on guessing when to reopen the app.
  • The panel now reports which phase the exit is in and how many blocks remain, so a stalled exit and a working one no longer look identical.
  • Drives off a cheap tip poll instead of a full sync every 120s: a 24h wait went from roughly 14,400 chain requests to about 260.

Exit accuracy

  • Prices the exit on what it spends, not on the reserve it requires. One 971-sat VTXO was reporting a 4,105 sat loss that did not exist.
  • Charges a shared round root once rather than once per sibling.
  • Batches the claim on the known ripening schedule instead of paying a fee per VTXO, and prices the claim explicitly rather than bidding for speed.
  • The panel shows what is still pending rather than the at-start total.
  • Auto-board no longer boards away the exit-fee reserve, and a cooperative round never runs while a unilateral exit is live.

Chain source reliability

  • Four providers instead of two, ordered so one operator's outage cannot take out consecutive attempts.
  • A 429 is reported as rate limiting instead of as corrupted chain data.
  • Failed providers are routed around with cooldowns sized to the cause, and that health record is now shared across every caller, so the tip poll stops re-earning a limit the open path already knows about.
  • Fee lookups are bounded, so the fallback chain can actually reach its end.

Vaults

  • A send now spends exactly the UTXOs that were selected. Previously the unfiltered set reached coin selection, which takes the largest first, so choosing a small UTXO could spend a bigger one and quote the wrong change.
  • Choose which address the Vault tab displays.
  • Address rows are selectable on iOS, and the Addresses button no longer resets the screen.
  • The address list no longer crashes when a wallet is missing, and keychain recovery is passphrase-agnostic.

Strike and CoinOS

  • An affordable UTXO goes straight to confirmation.
  • An on-chain withdrawal can no longer be sent twice after a dropped connection.
  • The fee selector no longer comes up empty when a fee source is slow, so withdrawals, payments, sends and buys always have usable tiers.

Honesty fixes

  • No longer claims an exit keeps running while the app is closed.
  • No longer reports a payment as failed when it may have gone through.
  • The expiry reminder switch no longer claims protection it does not have.
  • A completed top-up no longer displays as 0 sats.
  • Errors name which side of the connection is down instead of surfacing raw SDK text.

Android

  • Targets Android 16 (API 36) for Google Play compliance, with AGP 8.10.1 and Gradle 8.11.1.
  • Insets the bottom edge so enforced edge-to-edge on Android 16 does not place controls under the navigation bar.

Data safety

  • Never replaces the last backup on a save that had nothing new to write.

Installing outside Google Play

cypherbox-0.1.8-vc36.apk is for users who do not use Google Play. It is a
universal APK, arm64-v8a, signed with our upload key.

The Play build is re-signed by Google under Play App Signing, so the two carry
different signatures. This APK therefore cannot be installed over an
existing Play install, and moving between them means uninstalling first, which
on a wallet means restoring from your backup. Pick one and stay on it.

  • APK SHA-256: 0f264d4b3d9810a59b0166b8fb05ea70234e98b272bcd26ce585e819998c99a3
  • Signer certificate SHA-256: F0:85:82:11:0E:05:7A:F7:CA:A1:80:5A:2F:47:0D:73:12:F3:AF:6D:62:3A:A2:6A:AD:28:6C:2E:23:CE:3F:46

Verify before installing:

shasum -a 256 cypherbox-0.1.8-vc36.apk
apksigner verify --print-certs cypherbox-0.1.8-vc36.apk

Verification

  • Source commit: 1019956cd7734b4f1f898e00474dac0c7906c388
  • Tag: v0.1.8-vc36 (GPG-signed)
  • Reproducible build verified: build-verify built the AAB twice and the SHA-256s matched (d5e96a65a2d511c7bc23be28b311f59a395b4525220c2fe01f1dc4c491c24e26).
  • Unsigned real-config AAB SHA-256: 97ab496dd4ea4ea067103c42fee50eed8aaa23ea79d2274777c46d0609f9d9f9
  • CI-reference (no-secrets) AAB SHA-256: d5e96a65a2d511c7bc23be28b311f59a395b4525220c2fe01f1dc4c491c24e26
  • Build instructions: see BUILD.md. The Play binary is signed locally with a hardware-protected key; the CI artifact is unsigned and never shipped.