We build non-custodial software for Bitcoin XBT and Bitcoin BTC — apps that put the keys, and the responsibility that comes with them, in the hands of the people who own the coins. Your keys are made on your device and stay there. Where we do hold anything for you (small Lightning payments, until they're worth a channel of your own), we say so plainly.
One wallet — on Android, or straight in your browser.
Android 8+ · direct download & Obtainium
A mobile wallet for Bitcoin XBT, Bitcoin BTC and Lightning, locked with your fingerprint. Your recovery phrase is generated on your phone, encrypted there, and never leaves it.
Latest: v0.6.3 · ~16 MB · Android 8+ · all releases & changelog
Keep it updated: install Obtainium, then tap
Add to Obtainium above (or in Obtainium: Add App → paste
github.com/fortistechlabs/fortis). It watches for new releases and prompts you to update — there's no in-app updater.
Verify it's genuine — the real check behind that Play Protect prompt:
apksigner verify --print-certs fortis-wallet.apk should report certificate SHA-256
16:1A:B9:3F:D5:71:21:99:6A:E0:8E:FD:B4:82:75:DF:D4:AE:55:9B:CB:10:64:12:FB:C4:50:79:1B:94:CD:48
Any modern browser · installable as a PWA · no download
A non-custodial wallet running entirely in your browser. Your recovery phrase is generated on your device and never leaves it — there's no account and nothing held on a server but public chain data. Open it, use it, or add it to your home screen and it works like any other app.
Split one wallet across two browsers or devices: a watch-only copy for everyday use, and a signing copy you keep off the network entirely. No second app — it's built into Fortis Wallet.
Building, reviewing, and signing on the offline device all work from the transaction data alone — it never needs a connection for any of it.
The basics work the way you'd expect. These are the parts that don't.
Trade one coin for the other with another person. Both sides lock their coins in a contract on chain: either both get paid, or both get their coins back. Nobody, us included, can take them. How swaps work →
Your Lightning node runs on your phone, with keys from a phrase that never leaves it. The history is a ledger: every payment, move and fee (network, transfer, routing), with the balance after each, so every sat adds up. How Lightning works →
Bitcoin XBT is a chain almost no wallet supports. Fortis runs it right alongside regular Bitcoin (BTC), chosen per wallet.
Both directions are covered. Every XBT send is signed with SIGHASH_UNIFIED (Knots PR #357), which binds the signature to the XBT chain — automatic, nothing to enable. Going the other way, a BTC send can optionally carry an oversized OP_RETURN that makes that exact transaction invalid on XBT (off by default; adds a little fee).
Creating a wallet, you can shake the phone, scribble on the screen, or let it sample CPU-timing jitter — real physical noise folded into the seed on top of the system RNG, with a meter for how much you've stirred in.
The key that unlocks the app goes into your phone's secure element — StrongBox or the TEE — when there is one. When there isn't, Settings says so plainly: "software only." No pretending.
No email, no password on a server. For on-chain wallets the backend only sees public addresses and finished signed transactions; a random per-install token rate-limits abuse and is tied to nothing about you. If it's unreachable, the app reads the chain from public explorers instead. Lightning needs a little more, all listed in the privacy policy.
A standard 12- or 24-word BIP-39 phrase with BIP-84 derivation — restore it in any compatible wallet. The scanner is built in, and the wallet works without Google Play Services (only Lightning payment notifications need it). Open source, MIT; every release APK signed with the same published key.
The security-critical code — key derivation, coin selection, signing, seed encryption — is a single Rust library shared by the Android app and the web wallet. The crypto isn't reimplemented per platform.
Source is public under the MIT licence. Every release APK is signed with one key whose SHA-256 fingerprint is published, so apksigner can confirm a download is the real thing.
No analytics, no ad SDKs. The one third-party SDK is Google's Firebase Cloud Messaging, used only to notify you of Lightning payments. Everything the backend can see is spelled out in the privacy policy.
Our software is early. Back up your recovery phrase offline and start with small amounts.