Fortis Wallet

com.fortistechlabs.wallet
by Fortis Tech Labs info@fortistechlabs.com

Non-custodial wallet for Bitcoin XBT and Bitcoin BTC

A non-custodial mobile wallet for Bitcoin XBT and Bitcoin BTC. Your recovery phrase is generated on your device, encrypted under a password you choose, and never leaves it. - 12- or 24-word BIP-39 phrase, BIP-84 native SegWit, optional passphrase. - Up to 10 named wallets, any mix of XBT and BTC, from the one phrase. - Send and receive with QR codes, a built-in camera scanner, or paste. - Fee presets or a custom sat/vB rate; "take the fees out of this amount"; sweep a whole balance. - History with a tap-through to a block explorer; approximate USD value. - One unlock (fingerprint, face, or device PIN) opens every wallet. - Cross-chain replay protection: SIGHASH_UNIFIED on every XBT send (automatic), plus an optional oversized OP_RETURN on BTC sends. - Extra entropy from your hands: shake the phone, scribble on screen, or CPU-timing jitter, folded into the seed. - The app-unlock key lives in StrongBox or the TEE when the device has one. - Recovery-phrase and password screens blocked from screenshots, screen recording, and the app switcher. - No analytics, no ads, no third-party SDKs; the backend only ever sees public addresses and finished signed transactions - no account, no sign-up. Standard, portable keys - restore the same phrase in any BIP-84 wallet. Open source (MIT). No Google Play Services.

First release: Sep 10, 2026, 14 total releases.

Most recent release: Sep 28, 2026.

Website 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 28, 2026 0.4.3
    - Fixed a BTC watch-only wallet briefly showing 0 BTC before showing its real balance, whenever the backend's batch data source had a momentary hiccup. It now keeps showing the last known balance through a hiccup like that instead of flashing to zero. - Fixed the "view on block explorer" link for BTC transactions, which had stopped working (the explorer it pointed at became unreachable from some networks).
  • Sep 28, 2026 0.4.2
    - Fixed a case where a BTC wallet could get stuck showing "Connecting…" indefinitely, or briefly show an incorrect balance, when the backend's batch data source was temporarily unavailable. It now shows a safe, clearly-labeled balance in that situation instead of a wrong or stuck one. - Reopening a wallet now shows its last-known balance immediately instead of a blank screen while it checks for updates. - Tapping "Reconnect" (Settings) now visibly does something — it shows "Refreshing…" and either updates or reports that it couldn't, instead of appearing to do nothing.
  • Sep 28, 2026 0.4.1
    - A Bitcoin (BTC) wallet with a lot of history could still take several requests to fully load, even after 0.4.0's single-request scan: the app would send a small guess first and grow it in several follow-up round trips whenever a wallet's real usage went deeper than the guess. It now sends one properly-sized request every time, so opening or refreshing a BTC wallet is a single round trip regardless of how much history it has. - The backend no longer re-fetches an address's full transaction history on every single refresh — it now remembers what it already knows and only asks upstream about addresses that could actually have something new, which is most of why repeat loads of the same wallet are now fast.
    More…
    - Fixed a bug where a BTC wallet could show a "pending" transaction that wasn't real — a stale entry from an upstream data source that had never actually reached the Bitcoin network. Pending transactions are now double-checked against the real network before being shown.
  • Sep 19, 2026 0.4.0
    - Wallets with a lot of history now load in about a second instead of tens of seconds. The app used to ask the backend about each address one at a time (hundreds of requests per refresh, which the backend then rate-limited); it now sends the wallet's addresses in a single request and gets the balance, coins and recent history back together. Older backends and public explorers still work — the app falls back to the old address-by-address scan. - A scan that couldn't check every address now reports an error instead of quietly showing a smaller balance. Previously an address the backend rate- limited mid-scan was skipped without any sign, which could understate a wallet's balance.
  • Sep 18, 2026 0.3.8
    - A deep watch-only wallet (100+ used addresses) could feel slow to open, even after the balance had already loaded once. History now shows as soon as it's ready instead of waiting on the balance check that follows it, and network requests during a scan now actually run at the concurrency the app intends instead of being silently throttled.
  • Sep 18, 2026 0.3.7
    - Fixed a watch-only wallet (BTC and XBT) undercounting its balance and missing transactions: a backend caching bug could remember an address as having no history when it actually did, and the on-device cache had no way to know that answer was wrong. The backend bug is already fixed; this release also clears any previously-cached incorrect data on-device so it can't keep showing stale results after updating.
  • Sep 16, 2026 0.3.6
    - Fixed a bug where switching wallets while a slow scan was still finishing could briefly show the *previous* wallet's balance and history under the new one, before correcting itself a few seconds later. Switching wallets now always shows the new wallet's own state.
  • Sep 15, 2026 0.3.5
    - Reopening a wallet (or switching between them) now shows your last-known balance and history immediately instead of waiting on a fresh scan every time — confirmed transactions are remembered on-device, since they never change. The app still quietly checks for anything new right after.
  • Sep 15, 2026 0.3.4
    - Fixed a watch-only wallet showing as fully connected (green dot, current block height) while its balance and history were still loading in the background — most noticeable on a deep BTC wallet, which can take a while to scan. Now stays on "connecting…" until the balance actually arrives.
  • Sep 15, 2026 0.3.3
    - Fixed a crash: a watch-only wallet with hundreds of used addresses could run out of memory partway through scanning and close the app. - Fixed a bug where a wallet with a lot of history could get stuck showing "connecting…" indefinitely, or show a wrong (too low) balance, especially after leaving the wallet screen open for a while. Refreshing no longer piles up overlapping scans on top of each other, and a single address that's slow to answer no longer cuts the rest of the scan short. - Address scans are noticeably faster: requests within a scan now go out several at a time instead of strictly one after another. - Backend reliability: the hosted service now tries more than one data
    More…
    provider and keeps the useful parts of its cache across restarts, so a hiccup with one provider is less likely to be visible in the app.
  • Sep 15, 2026 0.3.2
    - Fixed a bug where a watch-only wallet with a lot of history could show **no** balance or history at all, instead of just an incomplete one. The deeper address scan added in 0.3.1 sends a lot more requests to check a wallet's history, and a single rate-limited or slow reply partway through used to abort the whole scan and leave the screen blank. It now keeps whatever it already found and retries a couple of times before giving up on any one address, so a transient hiccup no longer wipes out an otherwise-good result.
  • Sep 15, 2026 0.3.1
    - Fixed a watch-only wallet bug: importing an xpub with a lot of prior history could show the wrong balance and be missing transactions. The address scan now keeps looking as far as real activity goes, instead of stopping after a fixed 20 addresses per branch. If you imported a watch-only wallet before this update, reopen it (or pull to refresh) to pick up anything that was missed. - Accepts `zpub`/`ypub` (and testnet `vpub`/`upub`) when importing a watch-only xpub, not just the plain `xpub` form — what most wallets and hardware devices actually show for a native SegWit account.
  • Sep 14, 2026 0.3.0
    - Watch-only wallets: import an account-level extended public key (xpub) to watch a wallet's addresses, balance, and history — with no seed and no ability to ever spend from it. Useful for watching a hardware wallet or another device's wallet from your phone.
  • Sep 10, 2026 0.2.0
    - Changes for fortistechlabs.com domain. Android treats this as a new app: it installs alongside the old one and does **not** carry your wallets over. **Install 0.2.0, restore each wallet from its recovery phrase, then uninstall the old app.** Same signing key as before, so the certificate fingerprint is unchanged. - No feature changes.