Litecoin.watch · Research & practical tools
Litecoin wallet recovery tests
What did a backup actually restore: the addresses, the balance, or the ability to sign? Inspect the tested versions, exact cases and downloadable evidence.
Compatibility release 2026-09-27.1 · Discovery release 2026-09-27.2 · Editorial responsibility: Jarosław Wasiński · Read the experiment report
The key is present. Why does the wallet show zero?
New controlled experiments in release 2026-09-27.2 distinguish missing transaction history, an imported key absent from an older backup, and an address beyond a fresh restore's initial range. Read the full report and troubleshooting guide.
| Test stage | Balance · regtest LTC | History entries |
|---|---|---|
| Live source after the two payments | 5 | 2 |
| Old backup, made before the separate key import | 2 | 1 |
| Same old backup after a full rescan | 2 | 1 |
| Refreshed backup, made after the import | 5 | 2 |
| Separate blank wallet: key imported without rescan | 0 | 0 |
| Same imported-key wallet: scan starts after funding block | 0 | 0 |
| Same imported-key wallet: scan includes funding block | 3 | 1 |
The zero-balance wallet owned the funded test address and signed a verified message before finding the payment. Scanning from block 103 missed funding block 102. Scanning the fully available chain from height 0 found the 3 LTC output; a spend signed by the recovered key was then accepted and mined on regtest.
The old backup remained at 2 LTC after a complete rescan because the later imported key was absent. The refreshed backup recovered the full 5 LTC. This tests legacy wallet files on the same available regtest chain; it is not a seed-only Core restore, a pruned-history recovery or a clean mainnet node resync.
An address outside Electrum's initial prepared range
The offline Electrum-LTC 4.2.2.1 test prepared 20 receiving addresses after a native-seed restore. We manually extended the source to 36 addresses. Another fresh restore prepared 20; after an explicit test gap setting of 40, it prepared 40, matched index 35 and signed a verified message.
This is an offline address-preparation test, not an online history or balance-discovery test. Forty is a fixed experimental setting, not a general recovery recommendation.
Core run: 2026-09-27T08:50:44.388986+00:00 · Electrum run: 2026-09-27T08:54:32.210879+00:00. 14 Core assertions and 7 Electrum assertions within fixed scenarios; no recovery success rate is estimated.
What each test established
| Backup and destination | Addresses | Balance / history | Signing evidence | Boundary |
|---|---|---|---|---|
| Encrypted Core wallet file → Core 0.21.5.8 | Three owned address types restored | 3 regtest LTC restored on the same test chain | Three signed candidates accepted; one spend mined | Wallet-file RPC workflow. No mnemonic or MWEB test. |
| Native Electrum seed → Electrum-LTC 4.2.2.1 | 20 receive + 10 change addresses matched | Not tested; offline | Restored wallet signed a verified message | No graphical interface or real payment tested. |
| Electrum master public key → Electrum-LTC 4.2.2.1 | 20 receiving addresses matched | Not tested; offline | No signature: public-key-only wallet | Matching addresses do not recover private keys. |
| BIP39 phrase → Trust Wallet Core 4.8.4 engine | 42 fixed derivations matched after fresh restores | Not tested | Not tested in this engine run | Library test. No mobile app or account-discovery test. |
| BIP39-derived account private keys → Electrum-LTC | 10 P2PKH/P2WPKH addresses matched across implementations | Not tested; offline | Both imported accounts signed verified messages | Account-key import; not Electrum's BIP39 seed wizard. |
A message signature tests access to the signing key. It does not prove a transaction was accepted by the Litecoin network. Only the Core part includes a transaction accepted and mined, and only on its isolated regtest chain.
Small differences that change a recovery
A different passphrase still works
The public BIP39 fixture was restored with no passphrase, recovery-lab and recovery-lab-typo. All three created a wallet; their first addresses differed. A valid address or a successful import is not proof of the intended wallet.
An address match can be watch-only
Electrum's master public key reproduced the receiving-address list. It had no account private key and could not sign our proof message. The CLI returned a generic error, recorded in the JSON, rather than a friendly watch-only explanation. A backup plan has to preserve spending authority, not only a way to view addresses.
| Synthetic passphrase | Derived first address |
|---|---|
| Empty | ltc1qjmxnz78nmc8nq77wuxh25n2es7rzm5c2rkk4wh |
| recovery-lab | ltc1qavu8d2556s3x3hsna7nlk5nlj6rqpsmvfqy227 |
| recovery-lab-typo | ltc1q20a8z8sa6cxk9zj8efw2rs7zdj8khfm8ada59p |
The fixture set also changes the account, receive/change branch and address index. Deriving index 20 succeeds. The second release tests offline preparation out to index 35. Neither release establishes online transaction discovery beyond a gap.
Identify your backup before restoring it
This page has no recovery input or upload. Keep your wallet files, seed words and private keys off websites and out of support messages.
I have a wallet file
Record the originating application and version, file format and whether it is encrypted. Preserve the original and work from a separate copy. The first Core test covers an encrypted legacy wallet file restored on an existing regtest chain. The second release adds history rescans and a later imported-key control on a fully available test chain. Neither establishes cross-wallet file compatibility or recovery of pruned mainnet history.
I have recovery words
Identify the seed format and any additional passphrase. Word count alone is insufficient. Record the coin/network, script type, account and derivation path where relevant. A native Electrum seed and BIP39 words use different restoration paths. Compare a known address before treating an empty result as evidence that your funds are gone.
I have an extended public key
It can restore an address view without restoring signing authority. Locate the corresponding signing backup or device and, for multisig, the full wallet policy and sufficient cosigner keys. This experiment does not cover multisig recovery; our separate Core multisig experiment explains that distinction.
- Authenticate the software and identify the exact backup format.
- Reproduce a known receiving address using the intended configuration.
- Check history discovery, change addresses and the relevant account or wallet policy.
- Verify signing capability using an appropriate controlled procedure; a displayed balance alone is insufficient.
- Record the scope and limitations of the check, and retain the original backup.
Inspect and reproduce the observations
Core: 2026-09-26T23:41:18.979963+00:00. Electrum: 2026-09-26T23:53:53.620108+00:00. Wallet Core: 2026-09-26T23:41:04.950Z. Timestamps are UTC. All cases use synthetic wallets. The reproduction package intentionally includes a public Electrum test phrase; it must never be used for funds.
Reproduction scripts and dependency lock
Original observations and diagrams are published under CC BY 4.0; our reproduction scripts under MIT. Dependencies retain their own licences. Cite the release number and this page. Software versions are pinned for reproducibility, not presented as security recommendations.
Prepared using AI-assisted coding and drafting, actual software runs and scripted checks. No independent human review is claimed. Report discrepancies through the corrections process, citing the release and case.
Versioned source repository
Download the research code and original observations as a source ZIP, or restore the Git repository from its bundle. The repository contains two tagged releases, synthetic fixtures, the experiment runner and confirmation-archive control tests. It is hosted here on Litecoin.watch.
Two different checks
python run.py verify checks the downloaded files, stored observations and collection-rule tests. It does not rerun wallet software. The experiment command in the README actually starts fresh, isolated Core and offline Electrum runs after checking the supplied executable hashes. Software is obtained from its original publisher; wallet binaries are not included.
The bundle can be cloned after downloading it: git clone litecoin-watch-research-2026-09-27.2.bundle litecoin-watch-research. Repository import timestamps are separate from the actual execution timestamps recorded inside results.
Independent reproduction
The review checklist defines what to reproduce and what evidence to report. A successful file check is not an independent wallet test. No external reviewer or human review is claimed; any future review must identify its author, date, exact release and tested scope.