This guide explains Bitcoin Core keypoolrefill 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.16.0 keypoolrefill filled the wallet keypool to an optional target size, defaulting to 100. Pregenerated keys allowed encrypted wallets and services to issue addresses without deriving keys on every request.
- Why it matters: keypoolrefill is an address-availability operation with custody implications. Safe use combines bounded target size, minimal unlock, both keypool dimensions, atomic invoice handling and show restoration.
- Current position: Bitcoin Core 0.16.0 keypoolrefill filled the wallet keypool to an optional target size, defaulting to 100.
Bitcoin Core keypoolrefill RPC in simple English
Bitcoin Core keypoolrefill RPC: Set warning and stop thresholds from peak invoice rate, maintenance duration and failover design. A successful refill does not prove the application stores invoice-to-address bindings atomically or avoids address reuse.
Simple example
A miner is checking Bitcoin Core keypoolrefill RPC. Newsize is the desired pool size, not an amount added. Validate a sensible positive integer and confirm the post-call value.
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.
Target-size semantics
newsize is the desired pool size, not an amount added. Validate a sensible positive integer and confirm the post-call value. Huge targets waste generation time and wallet resources; tiny targets risk address-issuance failure during locked operation.
External and internal pools
getwalletinfo reports external keypoolsize and conditionally keypoolsize_hd_internal for change. The refill behaviour must support the wallet’s actual HD model. Monitor both paths and test receiving and change beyond current issued indexes.
Encryption and unlock
Encrypted historical wallets may need temporary unlock to generate new keys. Use the shortest permitted window, restrict callers and relock immediately. Do not expose unlock status or wallet identifiers on public dashboards.
Address-service capacity
Set warning and stop thresholds from peak invoice rate, maintenance duration and failover design. A successful refill does not prove the application stores invoice-to-address bindings atomically or avoids address reuse.
Backup relationship
In HD wallets, seed-derived future keys improve recovery, but imported keys and legacy formats have different boundaries. Verify actual restored address sequences. Do not assume a refill removes the need for current encrypted backups and documented wallet format.
Concurrency and failure
Serialise refill with wallet migration and backup operations. Test daemon interruption, disk pressure, locked state and duplicate retries. A partial state should remain measurable through getwalletinfo and must not trigger uncontrolled repeated unlocks.
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 keypoolrefill RPC?
Bitcoin Core keypoolrefill RPC: Set warning and stop thresholds from peak invoice rate, maintenance duration and failover design.
For Bitcoin Core keypoolrefill RPC, what should a beginner know about target-size semantics?
newsize is the desired pool size, not an amount added. Validate a sensible positive integer and confirm the post-call value.
For Bitcoin Core keypoolrefill RPC, what should a beginner know about external and internal pools?
getwalletinfo reports external keypoolsize and conditionally keypoolsize_hd_internal for change. The refill behaviour must support the wallet’s actual HD model.
For Bitcoin Core keypoolrefill RPC, what should a beginner know about encryption and unlock?
Encrypted historical wallets may need temporary unlock to generate new keys. Use the shortest permitted window, restrict callers and relock immediately.
Conclusion
keypoolrefill is an address-availability operation with custody implications. Safe use combines bounded target size, minimal unlock, both keypool dimensions, atomic invoice handling and show restoration.
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.