Satoshi Vault Signer icon Satoshi Vault Wallet icon

SATOSHIVAULT

The most secure Bitcoin wallet on Earth.

Security-first, Bitcoin-only, air-gapped — a cold Signer and a watch-only Wallet that speak to each other in nothing but QR codes.

No telemetry, no cloud, no accounts, no KYC — ever.

Big claim. So read it yourself — every line is public: github.com/DevOps21133/satoshi-vault

Android · install both, ideally on two devices — the Signer on one that never goes online again. Verify against SHA256SUMS.txt, or build them yourself from the source.


Mission

Protect people worldwide from getting their Bitcoin wallet hacked.

Almost every wallet theft traces back to two root causes: a seed born from weak or predictable randomness, and private keys living on an internet-connected device. Satoshi Vault attacks both.

The seed is created in an entropy ceremony that mixes many independent physical sources — camera noise, microphone noise, pointer motion, device motion — always combined with the operating system's CSPRNG, each source health-tested to NIST SP 800-90B. A dead or hostile sensor can add nothing, but it can never subtract: the result is never weaker than the OS randomness alone.

The keys then live only on a device that is physically incapable of network I/O. Everyone deserves a wallet whose seed no attacker can predict and whose keys no attacker can reach — and the only way to believe that is to be able to read it. So every line is open source, written from scratch, with no code copied from any other wallet project.

SIGNER — offline forever

Seed generation, encrypted vault, PSBT review on its own trusted screen, signing. No network permission, CSP connect-src 'none'.

WALLET — online

Watch-only from your xpub. Balances, coin control, fee estimates, RBF, broadcast. Assumed compromisable, and treated that way.


Screenshots

The watch-only Wallet, on Android.

Satoshi Vault Wallet account overview
Balance, coin count and a fresh receive address — from public keys only.
Satoshi Vault Wallet receive card showing fingerprint and derivation path
The receive card prints the master fingerprint and derivation path, so you can check the address against the Signer instead of trusting the online device.

There are no Signer screenshots — there can't be. The Signer sets FLAG_SECURE, so Android itself blocks screenshots, screen recorders and even the thumbnail in the recents list. Your seed words cannot leak into a screenshot gallery.


How to

Five steps, once. Then it's just a wallet.

Split the two apps across two devices

Install the Signer on a device that will never touch a network again — an old phone is perfect. Turn on airplane mode, remove the SIM, forget the Wi-Fi. Install the Wallet on your normal phone.

Create the vault on the Signer

Create New VaultBegin Entropy Ceremony: point the camera around, let the mic listen, move your finger across the screen until Entropy Collected reaches the target. Generate Seed gives you your words — write them on paper, never a photo, never a file. A short quiz after I Wrote Them Down proves you copied them correctly, and a strong password seals the vault.

Show the Wallet your public keys

On the Signer: Export Watch-Only Account → an animated QR appears. In the Wallet: Add Account → scan it. That QR carries only the xpub — public keys. The Wallet can now see every address and balance you own, and still cannot spend a single satoshi.

Receive

Wallet → Receive gives you a fresh address and QR for each payment. Before a large amount, check the master fingerprint and derivation path shown there against the ones on the Signer.

Send

The Wallet builds an unsigned transaction and shows it as a QR. The Signer scans it and displays the real recipient, amount and fee on its own trusted screen — approve there, and it hands back a signed QR. The Wallet checks it byte-for-byte against what you reviewed, then broadcasts. Your seed never crosses the gap.

That's the whole system. From here on it is an ordinary wallet — except your private keys have never touched a device that can reach the internet, and they never will.


How it defends you

The online device is treated as the attacker.

Multi-source entropy

Camera, microphone, pointer and motion noise absorbed into a SHA-256 sponge with 32 bytes of OS CSPRNG. Per-source health tests reject stuck counters and dead sensors outright.

Amounts can't be forged

Every input carries the full previous transaction, re-hashed locally against its txid. A lying server or a tampered QR cannot misstate what you are spending.

Verified change

The Signer never trusts a "this is change" claim — it re-derives the path from its own master key and byte-compares the script. Fake change is shown as an attack.

Fee-drain alarm

An abnormal fee — by absolute size, by sat/vB, or as a share of the coins being spent — is flagged in red and cannot be signed on the first press.

Vault at rest

Argon2id (64 MiB, t=3) → AES-256-GCM with the header authenticated as AAD. The optional BIP39 passphrase is never stored, in any form.

No invented crypto

Every primitive comes from audited libraries (@noble/curves, @noble/hashes, @scure/base). This codebase only composes them — and documents each composition.

Standards, not improvisation

BIP39 mnemonics (12–24 words, optional passphrase) · BIP32/43/44/49/84/86 derivation · P2PKH, P2SH-P2WPKH, P2WPKH and Taproot P2TR · PSBT (BIP174/BIP371) as the interchange format · coin control, RBF by default, live fee estimates · Esplora backends including your own node · mainnet, testnet, signet, regtest. Verified against the official BIP test vectors in CI.

Built, then attacked

  • 160 tests run on every push, including the official BIP39, BIP32, BIP143 and BIP341 vectors — the same numbers the rest of the Bitcoin ecosystem is checked against.
  • The code was put through dedicated penetration-testing passes — app, Android and crypto core — and every single finding was fixed before release, each with a regression test so it cannot come back.
  • Two rules that hold no matter how good the software is: write your seed words on paper, and install the Signer on a device that never goes online again.

Verify, don't trust

We call it the most secure Bitcoin wallet on Earth. Don't take our word for it.

A wallet you cannot read is a wallet you have to trust, and trust is the thing Bitcoin was built to remove. Satoshi Vault is MIT-licensed and written from scratch — no code copied from any other wallet project — so every claim on this page is a file you can open right now.

View the source on GitHub

Clone it, run npm test — the official BIP39/BIP32/BIP143/BIP341 vectors run on your machine, not ours — and build the APKs yourself. Found a flaw? Report it privately and it gets fixed.