Recover funds without the device¶
This page describes how to access or sweep your BSV when the PiWalletSV device is unavailable — lost, broken, or not yet replaced. The only thing you need is your seed phrase (12 or 24 words).
Use an offline machine for this
Your seed phrase controls all funds in the wallet. Any tool you enter it into must be air-gapped or at least disconnected from the internet before you type the first word. Even a brief moment of network connectivity while the seed is in memory is enough for a browser extension or keylogger to steal it.
For high-value wallets, boot a live Linux USB (Tails, Ubuntu Live), download the tool there, disconnect Wi-Fi, then proceed.
What you need to know first¶
Before opening any tool, confirm these values for the wallet you want to recover. The defaults are listed below; if you used the advanced HD path chooser during wallet creation, your values may differ.
| Parameter | Default | Where to verify |
|---|---|---|
| Mnemonic | 12 or 24 words | Your seed backup |
| BIP39 passphrase | (none — leave blank) | v1 uses no passphrase |
| Coin / network | BSV mainnet | Companion or piwallet vault list |
| Derivation path | m/44'/236'/0' |
Companion wallet detail or piwallet vault list |
If you still have access to the companion web app
(app.piwalletsv.com or your paired device's companion URL),
open it → your wallet → tap the info icon to see the exact path and
fingerprint recorded for that wallet. If the companion is gone and you
used the default at creation time, the path is m/44'/236'/0'.
Option A — Verify addresses with iancoleman.io/bip39¶
This is the quickest way to confirm your seed maps to the right addresses (useful before committing to a sweep tool). It does not require any installation.
1. Download the tool for offline use¶
- Open https://iancoleman.io/bip39/ in your browser.
- File → Save page as… → save as a single HTML file
(
bip39.htmlor similar). - Disconnect from the internet.
- Open the saved file in your browser.
Never use the live website with a real seed
iancoleman.io itself prominently warns: "If you share the information generated by this page with anyone, they can steal your assets." Use the saved offline copy for any seed tied to real funds.
2. Enter your mnemonic¶
In the BIP39 Mnemonic field, type your seed words separated by spaces. The field turns green when the BIP39 checksum passes.
3. Select BSV¶
In the Coin drop-down, choose BSV — Bitcoin SV.
This automatically sets the BIP32 derivation path to m/44'/236'/0',
which is PiWalletSV's default. If you used a custom path during wallet
creation, click the BIP32 tab and enter your path manually in the
BIP32 Derivation Path field.
4. View your receive addresses¶
Scroll down to the Derived Addresses table. The addresses under the Address column, starting from index 0, are your receive addresses in order — the same ones PiWalletSV shows on its bonnet screen and that the companion derives when building proposals.
Cross-check the first address against any receive address you ever shared from this wallet. If it matches, you have the right mnemonic, passphrase (empty), and path combination.
Recovering a testnet wallet
If your wallet was created as testnet (TBSV), leave the coin selection as BSV but be aware that the addresses will decode with the testnet prefix. Testnet BSV wallets derive from the same path — only the address encoding changes.
Option B — Sweep into ElectrumSV¶
ElectrumSV is an open-source BSV desktop wallet that understands BIP39 mnemonics and BIP44 paths natively. It is the most straightforward tool to actually move funds out of the addresses derived from your seed.
Steps¶
- Download and verify ElectrumSV from electrumsv.io. Check the release signature before installing.
- Open ElectrumSV and choose Create / restore a wallet → Standard wallet → I already have a seed.
- Paste your 12 or 24 words. Click Options and ensure:
- BIP39 is ticked (not the ElectrumSV native seed format).
- Passphrase is left empty.
- When prompted for a derivation path, enter
m/44'/236'/0'(or your custom path if you deviated from the default). - ElectrumSV will scan the chain for UTXOs and show your balance.
- From there you can send to any BSV address as normal.
Why not just open ElectrumSV online?
Restore flows cache the seed momentarily in memory. For large balances, do this on a machine that has never been (and will not be) connected to the internet after the restore begins, then use a separate online machine to broadcast a pre-constructed transaction. For small or testnet amounts, a standard offline-then-online workflow (restore offline → sign → copy raw tx → broadcast online) is adequate.
Option C — Command-line (developer / scripted recovery)¶
If you are comfortable with Python and want to derive addresses or build a sweep transaction programmatically, the PiWalletSV library itself works fine on any machine — it does not require a Pi or the bonnet hardware.
# Install in a clean venv.
python3 -m venv recover-env
source recover-env/bin/activate
pip install piwalletsv # or `pip install -e .` from the repo
# Derive the account xpub from a seed phrase.
piwallet mnemonic validate # paste phrase, confirms checksum
# Add the wallet to a local vault and derive addresses:
piwallet vault init # set any PIN (this vault is temporary)
echo "word1 word2 ... word12" | piwallet vault add --label recover
piwallet vault list # note the wallet id
piwallet vault export-xpub --wallet-id <id>
With the xpub in hand you can derive addresses using any BIP32 library
(e.g. bsv-python,
bit, or the derivation module inside
this repo: piwallet.core.derivation).
Confirming you have the right addresses¶
Before you do anything else, verify the first address matches your
history. Open WhatsOnChain (or
WhatsOnChain testnet for TBSV),
paste the address from index m/44'/236'/0'/0/0, and confirm that
it shows the expected transaction history and current balance.
If the address looks unfamiliar:
- Check the word order. BIP39 word order is significant; even one swapped word produces a completely different wallet.
- Check the path. If you used the Advanced path editor on the PiWalletSV bonnet during wallet creation, the coin type or account index may differ from the defaults. The companion app stores the exact path — if you have access to it, use the path shown there.
- Check for a testnet vs mainnet mismatch. If you created the wallet as testnet, search WhatsOnChain's testnet instance instead.
After recovery¶
Once you have confirmed your balance and swept the funds:
- Do not reuse the recovered addresses. If the seed or the device that held it was compromised, treat all derived addresses as suspect. Create a fresh wallet with a new seed on a clean device.
- Shred any plaintext seed copies you created during recovery (files on disk, screenshots, clipboard history).
- When your PiWalletSV device is back online, restore from the same
seed using the bonnet's Restore wallet flow or the
piwallet vault addCLI — the xpub and address set will be identical to what you just verified here.