This guide explains Bitcoin Core upgradewallet RPC in plain English. It shows what the command does, what its result means and what it cannot prove.
TL;DR
- What it is: Bitcoin Core 0.21 replaced the upgradewallet startup option with an RPC. With no version it upgrades the selected wallet to the latest supported wallet version; in that release the documented default was 169900.
- Why it matters: upgradewallet is a deliberate wallet-state migration. Operators should separate it from descriptor conversion, pin the target version, verify the returned before-and-after fields and create a new recoverable backup before normal service resumes.
- Current position: Require a second reviewer and explicit rollback or expiry, and pause payments, signing or network-dependent services until post-change evidence is complete.
Bitcoin Core upgradewallet RPC in simple English
Bitcoin Core upgradewallet RPC: Route the RPC to one explicitly named loaded wallet on the intended network. Capture wallet name, current version, database format, descriptor flag and Core version before change.
Simple example
A miner is checking Bitcoin Core upgradewallet RPC. Verify the current version independently after reload and never treat transport success as migration success. It does not turn a legacy Berkeley DB wallet into the new experimental descriptor-wallet model introduced separately in 0.21.
Key terms in plain English
- Bitcoin Core:
- Widely used software that validates Bitcoin and can provide wallet, network and operator tools.
- RPC:
- A command that software sends to a node to request information or a local action.
- Node:
- A computer running Bitcoin software that checks data and communicates with other peers.
Exact wallet
Route the RPC to one explicitly named loaded wallet on the intended network. Capture wallet name, current version, database format, descriptor flag and Core version before change.
Target version
Omitting the argument chooses the release’s latest wallet version; supplying a number makes intent auditable. Do not copy 169900 into later-version automation without checking that release’s help.
Not descriptor conversion
The RPC upgrades capabilities of the existing wallet format. It does not turn a legacy Berkeley DB wallet into the new experimental descriptor-wallet model introduced separately in 0.21.
Key generation
An upgrade may create new keys or metadata. A pre-upgrade backup cannot necessarily recover post-upgrade addresses, so stop address issuance during the operation and rotate backups immediately.
Result object
Read wallet_name, previous_version and current_version plus optional result or error. Verify the current version independently after reload and never treat transport success as migration success.
Compatibility and rollback
Test the upgraded wallet with the intended newer binary and any supported rollback binary. Some new features or records can constrain downgrade even if the wallet file still opens.
How specialists test it
Operators test the command on a non-production node first. They check a normal reply, an invalid request, a timeout and a restart. This shows what the response means and prevents one local result from being mistaken for a network-wide outcome.
Frequently asked questions
What is the main point of Bitcoin Core upgradewallet RPC?
Bitcoin Core upgradewallet RPC: Route the RPC to one explicitly named loaded wallet on the intended network.
For Bitcoin Core upgradewallet RPC, what should a beginner know about exact wallet?
Route the RPC to one explicitly named loaded wallet on the intended network.
For Bitcoin Core upgradewallet RPC, what should a beginner know about target version?
Omitting the argument chooses the release’s latest wallet version. Supplying a number makes intent auditable.
For Bitcoin Core upgradewallet RPC, what should a beginner know about not descriptor conversion?
The RPC upgrades capabilities of the existing wallet format. It does not turn a legacy Berkeley DB wallet into the new experimental descriptor-wallet model introduced separately in 0.21.
Conclusion
upgradewallet is a deliberate wallet-state migration. Operators should separate it from descriptor conversion, pin the target version, verify the returned before-and-after fields and create a new recoverable backup before normal service resumes.
Primary sources
Check the current specification status and the documentation for the exact implementation you operate before moving production funds or changing a mining node.
Join the ASIC Mining Discussion
Members can read and join the discussion
Log in to read comments from other miners. Create a free account if you would like to ask a question or share your experience.
Membership helps us protect the discussion from spam and keep answers useful.