Skip to content
bitcoinsv.design

Search the guide

Search the guide

Backups

What a complete BSV wallet backup contains, why recovery words alone may not be enough, and how to design backup and recovery honestly.

Owning BSV yourself means being able to get it back when a phone is lost, broken or replaced, and that depends on the backup. This page explains what a complete backup contains, and how to design backup flows that tell users the truth about it.

The short version

For a modern BSV wallet, a complete backup has two parts:

  1. Key recovery material. Something that restores the user's signing authority, such as , a recovery key, or key shares held in different places.
  2. . The wallet's own data: which outputs belong to the user, and the details needed to spend them.

Your recovery words restore your keys. Your wallet backup restores your records: which money is yours and how to spend it. Keep both. Losing either one can lose money: words without the records may not find all of it, and records without the keys cannot spend any of it.

Recommendation

Never tell users "these words are your wallet" unless that is true for your wallet. Say plainly what the backup covers and what it doesn't.

Why words alone may not be enough

Seed-only wallets derive every address from the words in a fixed sequence, so the words alone can find everything (see Legacy compatibility).

A modern BSV wallet derives a fresh key for each payment from both parties' keys plus payment-specific details (BRC-42), as described in Payments. Those details, such as who sent the payment and the derivation values that came with it, live in the wallet's records, not on the blockchain. Without them, a recovered wallet may not know which outputs are the user's, even though it holds the right root key.

Two more things follow:

  • Words restore only in wallets that use the same scheme. Wallets using BSV recovery words (BRC-75) derive keys differently from seed-only wallets (BIP-39/BIP-44). The same words entered into a different kind of wallet may show a different, often empty, balance.
  • Tokens and app assets need more again. Their value can depend on scripts, baskets and overlay services that a plain key restore will not bring back.

What to back up

Help users, or your backend, keep each of these:

PartContainsWho usually holds it
Key recovery materialRecovery words, recovery key or key sharesThe user, offline
Wallet recordsOutputs, payment derivation details, baskets, labels, Passes, pending workThe wallet: local file, encrypted export, or a storage service
App-specific dataContacts, settings, state the wallet doesn't holdThe app

Don't

Protect a backup with a password manager or account that lived only on the lost phone. That is not a backup. See Cloud backup › The circular-dependency trap.

Backup levels table
Backup levels table
Paper backup photo
Paper backup photo
Metal backup photo
Metal backup photo

Designing the backup flow

Make storage local by default

Wallet records live on the device unless the user chooses otherwise. Remote storage and sync are an opt-in the user makes knowingly, never switched on silently.

Do

Keep wallet records on the device by default, and make remote storage a separate, explained opt-in.

Do

Encrypt records on the device before they are sent anywhere.

When remote storage is used, never store the root remotely in a form the service can decrypt. Let users choose, or host, their storage provider, and support more than one backup location.

Cloud backup photo
Cloud backup photo
Keys and records stored separately photo
Keys and records stored separately photo

Offer an encrypted export

Give users an export they hold themselves, such as an encrypted file, that contains everything needed to rebuild the wallet records. A user should be able to recover without the original wallet vendor or storage provider. The wallet data format (BRC-38 and BRC-39) is the portable form of this.

Back up records continuously

Every incoming payment adds records. A backup from last week will not include this week's payments.

Do

Back up records automatically and show when the last backup ran.

backup status card showing 'Keys: backed up on paper' and 'Wallet data: backed up 2 minutes ago'
backup status card showing 'Keys: backed up on paper' and 'Wallet data: backed up 2 minutes ago'

Explain it in two lines

Users do not need the cryptography. A backup screen can say:

Your recovery words restore your keys. Your wallet backup restores your records: which money is yours and how to spend it. Keep both.

Recovery

A recovery flow restores both parts and shows the user what came back:

  1. Restore signing authority from the key recovery material.
  2. Restore wallet records from the export or storage service.
  3. Show the restored balance, recent activity and any tokens.
  4. Point out anything that could not be restored, such as token types the wallet does not support.

Always provide an exit

Every consumer wallet needs a way to send to a plain address that works without the vendor. See Legacy compatibility.

Send to external wallet screen
Send to external wallet screen

Test recovery before launch

A backup that has never been restored is an assumption. Before a wallet holds real money, run a full recovery drill. Cloud backup has the shorter version for one backup path.

  1. Fund a test wallet with ordinary BSV and every supported token type.
  2. Make payments across several apps and counterparties.
  3. Export the full user backup.
  4. Delete the original installation and its local data.
  5. Remove the original vendor and storage provider from the recovery path.
  6. Restore on a clean install, ideally with a different compatible wallet or an open recovery tool.
  7. Confirm all BSV and supported assets appear.
  8. Send the BSV to a plain address.
  9. Move each token to another compatible wallet without losing its status.

If a wallet cannot pass this drill, keep it experimental and limit it to small balances.

Multiple backup locations photo
Multiple backup locations photo

Written from: ts-stack wallet backup and recovery guide, ts-stack recovery drill, BRC-151 §5, BRC-38/39, BRC-75.

Checklist

The rules on this page, in a form you can work through.

5 rules