Get the extension
Bitcoin Bitcoin · BTC

A Bitcoin wallet whose key is on another device

BTC in a Chrome and Brave extension, with the key on a phone or laptop that has no network at all. The unsigned PSBT leaves as a QR code and comes back signed - no cable, no Bluetooth, no pairing, and nothing to buy.

Get the extension

PSBT, and the review that goes with it

The offline device decodes the PSBT itself: every output, the fee as a share of what is moving, any output under the dust limit, and any input this wallet does not control. It signs what it has read, not what the browser said it was.

Native SegWit and Taproot

A bc1 payment address and a bc1p Taproot address, both from the recovery phrase you already have. Inscriptions held on the Taproot side are labelled and never spent as if they were ordinary value.

Watch-only, if you want it

The wallet exports a descriptor for Sparrow, Nunchuk or any watch-only tool - public keys only. Your existing setup keeps working; this adds a signer to it rather than replacing it.

A fee you can still change

A transaction that sits unconfirmed can be replaced with a higher fee, through the same offline ceremony - the replacement is re-signed on the second device, never rubber-stamped by the browser.

Bitcoin wallet: questions people ask

Is this a free alternative to a Bitcoin hardware wallet?

It is the same separation without the hardware: the key lives on a second device you already own, kept offline, and signs through QR codes. Nothing to buy, nothing to plug in, and the build is open-source and reproducible.

Which address types does it support?

Native SegWit (bc1) for payments and Taproot (bc1p) alongside it, both derived from your recovery phrase.

Can I keep using Sparrow or Nunchuk?

Yes. Export the watch-only descriptor and keep your usual tool for watching and building; the signature comes from the offline Vault.

What does the offline device actually show me?

The outputs and their amounts, the fee and what share of the amount it is, outputs below the dust limit, and how many inputs it can sign. If it cannot read a field, it says so rather than signing past it.