This guide explains Bitcoin Core listunspent 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 listunspent returned wallet UTXOs within inclusive confirmation bounds, optionally restricted to addresses and query options for per-output amount, maximum count and minimum total. Include_unsafe defaulted true in this historical interface. Each row distinguished spendable, solvable and safe.
- Why it matters: listunspent provides the raw ingredients for wallet coin selection, not an allocation decision. Safe use applies explicit safety, capability, confirmation, privacy and concurrency controls to exact outpoints.
- Current position: Bitcoin Core 0.16.0 listunspent returned wallet UTXOs within inclusive confirmation bounds, optionally restricted to addresses and query options for per-output amount, maximum count and minimum total. Include_unsafe defaulted true in this historical interface.
Bitcoin Core listunspent RPC in simple English
Bitcoin Core listunspent RPC: include_unsafe historically defaults true. Unsafe includes certain unconfirmed outputs from outside keys and replacement-related transactions excluded by wallet funding methods.
Simple example
A miner is checking Bitcoin Core listunspent RPC. Validate the range and active tip, and recalculate after reorganisations before funding a transaction. Production selection should normally filter safe explicitly under policy.
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.
- UTXO:
- An unspent transaction output: a piece of bitcoin that can be used as an input to a later transaction.
- Node:
- A computer running Bitcoin software that checks data and communicates with other peers.
Confirmation bounds
minconf defaults one and maxconf a large upper bound, both inclusive. Zero includes unconfirmed outputs. Validate the range and active tip, and recalculate after reorganisations before funding a transaction.
Address filter
The optional unique-address array restricts results but does not prove ownership beyond the wallet’s knowledge. Validate network and deduplicate inputs. Empty array means no address restriction under the documented call pattern.
Unsafe default
include_unsafe historically defaults true. Unsafe includes certain unconfirmed outputs from outside keys and replacement-related transactions excluded by wallet funding methods. Production selection should normally filter safe explicitly under policy.
Query options
minimumAmount and maximumAmount bound each UTXO; maximumCount limits rows; minimumSumAmount specifies a desired aggregate threshold. Values may be numeric or string. Parse decimal BTC exactly and verify truncation cannot masquerade as insufficient funds.
Spendable, solvable and safe
spendable means private keys are available, solvable means the wallet knows a spending path without necessarily holding keys and safe is wallet policy confidence. External signing may make solvable useful, but never call it locally spendable.
Scripts, locks and privacy
scriptPubKey and optional redeemScript define spending conditions; deprecated account is bookkeeping. Join against temporary locks and workflow reservations, then apply coin-selection privacy. Returned status can race with another spender.
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 listunspent RPC?
Bitcoin Core listunspent RPC: include_unsafe historically defaults true. Unsafe includes certain unconfirmed outputs from outside keys and replacement-related transactions excluded by wallet funding methods.
For Bitcoin Core listunspent RPC, what should a beginner know about confirmation bounds?
minconf defaults one and maxconf a large upper bound, both inclusive. Zero includes unconfirmed outputs.
For Bitcoin Core listunspent RPC, what should a beginner know about address filter?
The optional unique-address array restricts results but does not prove ownership beyond the wallet’s knowledge.
For Bitcoin Core listunspent RPC, what should a beginner know about unsafe default?
include_unsafe historically defaults true. Unsafe includes certain unconfirmed outputs from outside keys and replacement-related transactions excluded by wallet funding methods.
Conclusion
listunspent provides the raw ingredients for wallet coin selection, not an allocation decision. Safe use applies explicit safety, capability, confirmation, privacy and concurrency controls to exact outpoints.
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.