This guide explains Bitcoin Core getdescriptoractivity 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 29.0 introduced getdescriptoractivity to find receives and spends matching descriptors across selected blocks and, optionally, the local mempool. It pairs naturally with the relevant_blocks returned by scanblocks.
- Why it matters: getdescriptoractivity provides a flexible descriptor-centred event view, but its correctness depends on the exact blocks, ranges and mempool snapshot supplied. Reliable systems retain that context and reconcile every outpoint through chain changes.
- 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 getdescriptoractivity RPC in simple English
Bitcoin Core getdescriptoractivity RPC: Each scan object is a descriptor string or an object with desc and a derivation range. Validate checksums and cap ranges to avoid accidental expensive scans.
Simple example
A miner is checking Bitcoin Core getdescriptoractivity RPC. Disable it for a confirmed-only report and label unconfirmed events explicitly when enabled. Every supplied hash must identify a block on the active main chain or the call errors.
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.
- Mempool:
- A node’s changing local collection of valid, unconfirmed transactions.
- Node:
- A computer running Bitcoin software that checks data and communicates with other peers.
Block selection
Every supplied hash must identify a block on the active main chain or the call errors. Preserve the tip and block set used so later reorganisations can be reconciled.
Descriptor input
Each scan object is a descriptor string or an object with desc and a derivation range. Validate checksums and cap ranges to avoid accidental expensive scans.
Mempool option
include_mempool defaults true and adds local unconfirmed activity. Disable it for a confirmed-only report and label unconfirmed events explicitly when enabled.
Receive events
Receive records include BTC amount, transaction and output identity, optional block context and decoded output script information. Convert BTC exactly to satoshis.
Spend events
Spend records identify both spending input and previous output plus decoded previous script. Join by outpoint, not by address labels or assumed transaction order.
Performance and privacy
The call can take minutes and reveal sensitive descriptor and transaction topology. Keep RPC private, use controlled timeouts and avoid retaining unnecessary script data.
Reconciliation
Deduplicate events, handle reorgs and mempool disappearance, compare with full transaction data and prove balances from ordered receives and spends rather than summing blindly. Build a revision-pinned evidence pack on an isolated node, wallet or protocol harness. Record source commit, binary hash, network, chain identity, configuration and dependencies.
Frequently asked questions
What is the main point of Bitcoin Core getdescriptoractivity RPC?
Bitcoin Core getdescriptoractivity RPC: Each scan object is a descriptor string or an object with desc and a derivation range.
For Bitcoin Core getdescriptoractivity RPC, what should a beginner know about block selection?
Every supplied hash must identify a block on the active main chain or the call errors.
For Bitcoin Core getdescriptoractivity RPC, what should a beginner know about descriptor input?
Each scan object is a descriptor string or an object with desc and a derivation range.
For Bitcoin Core getdescriptoractivity RPC, what should a beginner know about mempool option?
include_mempool defaults true and adds local unconfirmed activity. Disable it for a confirmed-only report and label unconfirmed events explicitly when enabled.
Conclusion
getdescriptoractivity provides a flexible descriptor-centred event view, but its correctness depends on the exact blocks, ranges and mempool snapshot supplied. Reliable systems retain that context and reconcile every outpoint through chain changes.
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.