An offline key appliance. Try the demo app below.

An offline key manager. Rust runs directly on a Linux kernel, with networking and internal storage disabled at the kernel level. It runs on PC and Raspberry Pi.

Faraday 0.1.1 is a pre-release, not yet reviewed.

Keys from dice

Your entropy verifiably turned into words

Roll every bit yourself and watch the words appear under a binary verification layer that anyone can follow along with. Full word lists included for further manual verification.

New key's rolls, filling in

Runs from memory, keeps nothing

Pull the stick, and nothing is attached

Faraday loads into memory and runs from there. Its kernel has no network stack and no driver for the computer's own disks, so with the boot stick out it has no network and no drive of any kind.

No stick is read while a vault is unlocked or a key loaded. Vaults and keys load only with no stick attached.

Use it statelessly: nothing is written to the computer, locking wipes every key and starts the app afresh, and powering off loses everything in memory. Only what you write to a stick is kept.

  • Running from memory
  • No network
  • No internal disks
  • No stick attached

No desktop

You're not looking at a desktop

There is no X11, no Wayland, no window manager, no GPU driver, no toolkit and no browser engine. The firmware sets up a framebuffer, the kernel hands it over, and Faraday, one Rust program, lays out every screen, rasterises its own fonts and writes every pixel itself. The blinking current isn't really a blinking cursor.

Keys, clicks and touches arrive as raw kernel input events mapped to a location on the screen, not a button or a field. Less software between you and your keys is less to attack.

Vaults

One password to your dashboard

A vault is one optional file on the stick, loaded into RAM at boot and never unlocked until the stick is pulled. Vaults are sealed with Argon2id and XChaCha20-Poly1305. Roll dice to generate strong, verifiable EFF wordlist passwords. Unlock it and Faraday loads its keys and wallets, the whole of it on a laptop's screen.

Backups and inheritance

Backup maps so you see the full picture

Faraday's backup plan says what goes where, and checks each seed copied by hand. The map shows an overview of all the pieces. Faraday's Spend tab walks first time spenders from the envelope to a sent transaction. Faraday also signs for miniscript wallets with an inheritance path.

Supply chain

A generic computer or Pi, so nothing to target

A hardware wallet is made for one job, so it is worth tampering with: in the factory, in the post or in the shop, an attacker knows what it will hold. Buying one also puts your name and address on a maker's customer list, and such lists have leaked.

Faraday runs on an ordinary laptop, one of millions, bought anywhere or already yours. Nothing bought says you hold keys.

Faraday fits naturally into a multi-vendor multisig setup, utilizing a device you likely already own.

Not yet reviewed: help remove this card!

Auditable by design

Faraday is the evolution of OpenSigner, itself inspired by SeedSigner. Every key derivation, mnemonic, signature and PSBT is OpenSigner's code, in crates Faraday does not edit: a Bitcoin signing feature is built there first, then merged. An auditor of signing reads libraries with no screens, input or storage in them.

The BIP specs are OpenSigner's own Rust: BIP-39, BIP-85, SLIP-39, codex32, MuSig2, FROST and silent payments, over rust-bitcoin and libsecp256k1, Bitcoin Core's own curve library.

No one outside the project has reviewed Faraday 0.1.1 yet. Point your clankers and your eyes at the code, and report what you find. Thank you for helping improve and build confidence in Faraday!

Tools for advanced users

Every flow on one page, with its standards

Beyond seeds and wallets: SLIP-39 shares, Seed XOR, codex32, BIP-85 child seeds and passwords, MuSig2, FROST, Taproot multisig, miniscript, silent payments, GPG and Secure Boot keys, and passwords with TOTP in a vault.

Faraday's Tools page

Try it

The app itself, running in this page. Every key is a public demo seed, and every address has a broken checksum.

On a phone the demo is the Raspberry Pi's 2.8 inch screen. The stories are best on a laptop, where the papers and the phone have room to be dragged to the webcam.

    The demo runs in this page and sends nothing anywhere. It uses only pre-approved dummy seeds and addresses.

    Get your own

    Faraday runs on a PC from a USB stick or a Pi from a microSD card. Prices are rough, in US dollars.

    A laptop

    The better machine: its screen, keyboard and webcam are inside the case.

    • An x86-64 laptop with UEFI firmware: the one you have, or, for the most caution, a dedicated one with its Wi-Fi card and internal disk taken out$0, or $100 to $200
    • A webcam to scan QR codes: the built-in one, or a USB webcam$0 to $20
    • A USB stick for Faraday's imageabout $8
    • A second USB stick for files, optionalabout $8

    Imagefaraday-x86_64-uefi.img

    A Raspberry Pi 3

    With a 2.8 inch touch panel; the microSD card is its only storage.

    • A Raspberry Pi 3 Model Babout $35
    • Waveshare's 2.8 inch DPI touch panelabout $30
    • A USB webcamabout $20
    • A microSD card and a power supplyabout $18

    Imagefaraday-pi3-waveshare-28dpi.img

    The Pi image has not yet been tried on the panel.

    1. Download

      From a release on GitHub: the image for your machine, SHA256SUMS and SHA256SUMS.asc.

      Releases
    2. Verify

      The release key was made in Faraday and its secret part has never left a Faraday vault. Its fingerprint:

      D1AF A712 ABEF 9010 9A1B 587F F153 6BE0 7E23 4CFD

      gpg --import release-key.asc
      gpg --fingerprint F1536BE07E234CFD
      gpg --verify SHA256SUMS.asc SHA256SUMS
      sha256sum -c --ignore-missing SHA256SUMS
      release-key.asc
    3. Flash

      Write the image to the stick or card with a tool that writes whole disk images, such as Raspberry Pi Imager (Use custom) or dd on Linux. This erases the stick: check its name with lsblk first.

      sudo dd if=faraday-x86_64-uefi.img of=/dev/sdX bs=4M conv=fsync status=progress
    4. Boot

      On a laptop, turn off secure boot in BIOS and select your stick in the boot menu. On a Pi, put the card in and power it on.

    Faraday 0.1.1 is a pre-release: no one outside the project has reviewed it.Questions

    Read the README

    How it compares

    Faraday beside a typical hardware wallet, a software wallet and an offline computer. Models differ; this is the usual case.

    FaradayA hardware walletA software walletAn offline computer
    NetworkNone: its kernel has no network stackNone on the device; some models connect by Bluetooth or USBOnlineOff, once its Wi-Fi and Ethernet are disabled or removed; the drivers stay in the system
    Attack surfaceOne Rust program on a minimal kernel: no network stack, no desktop, no browserSmall firmware for one jobA full operating system, its apps and the networkA full operating system, a desktop and often a web browser running an HTML tool, with every library and script it loads
    Keys at restIn vaults sealed with Argon2id, or on paper; nothing kept at power offIn the device, often in a secure elementOn the phone or computer, encrypted by the appOn its disk, in the wallet app's files
    ScreenA laptop's whole screen, or a 2.8 inch panelA small screen on the deviceThe phone's or the computer'sIts own screen
    Moves data byQR codes through a camera, or files on a stickUSB, Bluetooth, QR codes or a microSD card, by modelThe networkUSB sticks, or QR codes
    HoldsBitcoin keys and wallets, passwords with TOTP, GPG and Secure Boot keysBitcoin keys, and on many models other coinsBitcoin keysWhatever its apps hold
    Who it is forEveryone: guided flows, and a Spend tab that walks an heir from the envelope to a sent transactionMost people, through the maker's appMost peopleThose who can harden a computer themselves
    HardwareA laptop or a Raspberry Pi set aside for itA device bought from its makerThe phone or computer used every dayA computer kept offline
    CostFree on a laptop you already have; a dedicated laptop, $100 to $200About $60 to $250FreeFree on a computer you have
    AccessibilityFree and available to allIdentifiable as a hardware wallet; bought from a specialised vendor or its makerUsed on an online deviceFree, with the know-how to set it up
    Supply chainAn ordinary laptop, one of millions, and a download checked against its signed releaseA device made for keys: a known target between its maker and youThe app's updates, and the phone or computer it runs onThe operating system, its updates, and every package and page installed
    Buyer recordsNone: nothing bought says you hold keysThe maker or shop keeps your name and address, and such customer lists have leakedApp stores and exchanges know their usersNone
    ReviewA pre-release, not yet reviewedVaries by makerVaries by appVaries with what is installed

    Questions

    Is Faraday a wallet?

    It is a signer. It holds the keys and signs. A watch-only wallet on another computer shows balances, builds transactions and sends them; the two pass PSBTs by QR code or on a stick.

    What does it keep when it powers off?

    Nothing: it is stateless. The whole system loads into memory from one file and nothing is mounted afterwards; nothing is written to the computer; locking wipes every key and starts the app afresh. What lasts is only what you write to a stick: sealed vaults, signed transactions, public files and the display settings. Keys come back from a vault and its passphrase, or from a seed backup.

    What is an offline computer, and why not use one?

    A computer kept off the network, running a full operating system, a desktop and often a web browser with an HTML wallet tool. It can work, but all of it is attack surface: the operating system, the browser engine, and every library and script the tool loads, and its network drivers stay in the system. Faraday is one program on a kernel built without a network stack, a desktop or a browser.

    How is it different from other stateless signers?

    Stateless signers on small boards keep nothing between sessions, as Faraday does, and are made for people who already know the flows. Faraday keeps that model and is made for everyone: Guided mode writes out each step, and the Spend tab walks someone spending an inherited wallet for the first time from the envelope to a sent transaction.

    Does it touch the laptop's own disk?

    No. Its kernel has no driver for SATA, NVMe or eMMC disks, so the computer's own disk cannot be read, written or mounted. What is installed there stays as it is.

    Can it go online by accident?

    Its kernel is built with no network stack: no Ethernet, Wi-Fi, Bluetooth or USB network driver, and no sockets. With the Wi-Fi card taken out as well, nothing can turn the radios on.

    Why a laptop and not a small device?

    A laptop's screen shows the whole transaction at once: every input, output, address and amount. Its screen, keyboard and webcam are inside one case.

    What is a vault?

    One file, sealed with Argon2id and XChaCha20-Poly1305, that holds keys, wallets, passwords and notes. Its passphrase can be rolled with dice on the EFF word lists.

    Is the demo the real app?

    Yes: the same app, compiled to WebAssembly. It takes only eleven public seeds, and every address it shows has a broken checksum, so no wallet will send to one.

    Is it ready for real money?

    Faraday 0.1.1 is a pre-release. No one outside the project has reviewed its code, its cryptography or its builds. Check any download with the release key.

    Buy me a coffee

    Donations to Faraday's development, in bitcoin.

    QR code to come
    Lightning
    QR code to come
    Bitcoin