SatoFinder Help
A single-file, fully client-side BSV wallet by SmartLedger Technology. Everything runs in your browser; no server sees your keys.
Security model
- Your mnemonic is encrypted with a password you choose, using
PBKDF2-SHA256 (310,000 iter) → AES-GCM, and stored inlocalStorageonly. - The encrypted blob is the only source of truth on this device — there is no password recovery. If you forget the password, you must wipe the vault and re-import the mnemonic.
- The app loads
@smartledger/bsv@3.4.3from jsDelivr, pinned with SHA-384 Subresource Integrity. A compromised CDN cannot ship modified code. - Strict Content-Security-Policy blocks all inline scripts except the one hashed into the policy, and only allows network calls to
api.whatsonchain.comandapi.bitails.io. - The wallet auto-locks after 10 minutes of inactivity, and immediately when the tab is hidden. Private key / mnemonic are cleared from memory.
- Keys are hidden by default. Click "Show private keys" to reveal — they will be visible until you toggle back or lock the wallet.
First run
On first visit you get three choices:
- Create new wallet: pick 12-word or 24-word entropy, write down the mnemonic, confirm by re-typing the last word, set a password (and optionally a BIP39 passphrase).
- Import mnemonic: paste an existing 12/24-word BIP39 phrase, optionally provide a BIP39 passphrase, set a password.
- Unlock (only if a vault already exists on this device).
Write your mnemonic on paper. Do not screenshot or email it.
BIP39 passphrase (the "25th word")
BIP39 defines an optional passphrase that is fed into the seed derivation alongside the mnemonic. The same 12 or 24 words combined with a different passphrase produce a completely different wallet (different addresses, different keys). This is also known as the "25th word" or "BIP39 hidden wallet".
- If you're importing from a wallet (Trezor, Ledger, Electrum, Sparrow, etc.) that uses a passphrase, you must enter the same passphrase here — otherwise SatoFinder will derive a different address set and show no coins even though your funds are safe on chain.
- If you're creating a new wallet you can leave it blank for the standard BIP39 default. Setting one adds a second secret you must back up alongside the mnemonic.
- The passphrase is not the same thing as your SatoFinder unlock password. Both are stored encrypted in the same vault blob; both are required to derive your keys.
- There is no passphrase recovery. If you set one and forget it, your funds are unreachable — the mnemonic alone is not enough.
Derivation
SatoFinder supports both BIP32 (m/0'/external'/index') and BIP44 (m/44'/coin'/account'/change/index) paths.
The Wallet preset dropdown picks the right coin / account index for popular BSV wallets (Atomic, Exodus, Keevo, MoneyButton, RelayX, SimplyCash, Twetch). Editing any path field marks the preset as "custom".
Send
Enter the recipient address and amount (in satoshis). Click Build transaction. The app fetches UTXOs from WhatsOnChain, builds and signs the transaction using a two-pass fee calculation (no under-fee bugs), and shows you the full transaction (destination, amount, fee, change, raw hex) before you confirm.
Show raw transaction hex expands a panel with the signed hex, a Copy hex button, and a link that opens WhatsOnChain's broadcast page in a new tab. Paste the hex into WoC's Decode tab to independently verify inputs, outputs and fee before coming back here to confirm.
Nothing leaves your browser until you click Confirm & broadcast.
Recovery sweep
If you've used multiple addresses under the same mnemonic, click Scan first 50 addresses to find UTXOs across the first 50 receive and 50 change addresses under your current preset. Bitails serves the multi-address lookup.
The Send recovered coins to field at the top of the panel sets where the sweep transactions go:
- Defaults to your current derived address (whatever the path panel above shows).
- Edit it to send to any other BSV address you control — for example, a hardware-wallet address, an exchange deposit address, or a different account in this wallet.
- Use current resets the field to the active derived address.
Each found address has its own Preview button. Click it to build (but NOT broadcast) the sweep transaction; an inline review block shows the destination, amount, fee, and raw hex. You can copy the hex and inspect it on WhatsOnChain's decode tab before clicking Confirm & broadcast. Only one preview is open at a time; Cancel discards it without broadcasting.
When there are 2 or more matches, a Sweep all button at the top broadcasts a sweep for each pending address in sequence — this path bypasses the per-row preview since the destination is already set explicitly at the top of the panel. Per-address results display next to each row; one failure does not block the rest.
Export & backup
The Export mnemonic panel re-asks for your password before revealing the mnemonic (so a casual onlooker can't read it). You can also download an encrypted backup file (satofinder-vault-…json) — useless without your password, safe to email or archive.
Disclaimer
SatoFinder is provided as-is, free, with no warranty. The author is not responsible for any loss of funds. Always verify the raw transaction hex before broadcasting if you are moving significant value, and test with small amounts first.