Bitcoin Core v30 Wallet Migration Bug
CRITICAL BUG
Bitcoin Core v30.0 and v30.1 contained a bug in the wallet migration process. Under rare circumstances, migrating a legacy Berkeley DB (BDB) wallet to the newer SQLite-based descriptor wallet format could delete all wallet files on the same node — including wallets completely unrelated to the migration attempt.
ROOT CAUSE
The bug stems from overly aggressive cleanup code. When a migration fails, the cleanup routine was too broad — deleting wallet files it shouldn't have touched.
TRIGGER CONDITIONS
Requires a fairly specific set of conditions: the presence of a default (unnamed)
wallet.dat file — which has not been created by default since version 0.21 (released 5 years ago) — that fails to be migrated or loaded. Affects very old wallet setups that haven't been renamed or restructured.Response & Timeline
January 5, 2026
Bug recognised and publicly disclosed by Bitcoin Core developers.
January 5–9
Developers took the rare step of removing v30.0 and v30.1 binaries from bitcoincore.org entirely. This is almost unprecedented.
January 9, 2026
Bitcoin Core 30.2 released with the fix.
v30.0
pulled from bitcoincore.org
v30.1
pulled from bitcoincore.org
v30.2
fix released Jan 9
TAKEAWAY
While the trigger conditions were narrow, the severity was extreme — total wallet data loss. The rapid response (4 days from disclosure to fix) and the binary removal show the project takes these risks seriously. A good reminder to always back up your wallet files before any migration or major upgrade.