This guide explains Bitcoin Core REST interface in plain English. It focuses on what the subject is, why it matters and what a beginner should remember.
TL;DR
- What it is: Bitcoin Core’s REST interface exposes unauthenticated read-only HTTP endpoints for transactions, blocks, headers, chain state, UTXOs and mempool information when the node starts with REST enabled. It is convenient for controlled integrations, but read-only does not mean harmless: exposure reveals node state, consumes resources and can leak browser-origin requests.
- Why it matters: Bitcoin Core REST can simplify read-only data access, but its lack of authentication makes network isolation and resource controls essential. Use the documentation for the exact release and never expose a production mining or wallet node as a public explorer.
- Current position: Bitcoin Core’s REST interface exposes unauthenticated read-only HTTP endpoints for transactions, blocks, headers, chain state, UTXOs and mempool information when the node starts with REST enabled.
Bitcoin Core REST interface in simple English
Bitcoin Core REST interface: The interface required the rest option and shared Bitcoin Core’s HTTP server. It did not add application authentication.
Simple example
A node operator is checking Bitcoin Core REST interface. Operators therefore needed to control network binding and firewall reachability rather than assuming the rest prefix created a private API.
Key terms in plain English
- BIP:
- Bitcoin Improvement Proposal: a document describing a proposed rule, standard or process. Its status must be checked separately.
- Bitcoin Core:
- Widely used software that validates Bitcoin and can provide wallet, network and operator tools.
- Mempool:
- A node’s changing local collection of valid, unconfirmed transactions.
- 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.
Enabling and binding
The interface required the rest option and shared Bitcoin Core’s HTTP server. It did not add application authentication. Operators therefore needed to control network binding and firewall reachability rather than assuming the rest prefix created a private API. A reverse proxy can add controls but also adds headers, caching and another trust boundary.
Transactions and blocks
Transaction and block endpoints accepted hashes and returned binary, hexadecimal or JSON forms. Complete arbitrary transaction lookup required txindex, while recent or wallet-known data might otherwise be available through different paths. Pruned nodes could lack requested historical block bodies. Integrations must handle not-found and pruned-data responses distinctly.
Headers and chain information
The headers endpoint walked forward from a named block hash for a bounded count. Chain information reported network, processed blocks, validated headers, best hash, difficulty, verification progress, chainwork, pruning state and prune height. A monitoring system must not confuse header height with fully validated block height or progress estimates with readiness.
UTXO and mempool queries
The historical getutxos route accepted outpoints and optionally checked the mempool, with BIP 64-style serialisation and a bounded request count. Mempool information exposed size, byte count, memory usage and contents. Results were snapshots that could change immediately and were not reservations or payment guarantees.
Browser-origin privacy risk
Official documentation warned that a browser on the same machine could be induced by a prepared page to request localhost REST data, revealing node transactions or blocks through browser behaviour. Same-origin and script handling have evolved, but the correct control is to avoid exposing the unauthenticated endpoint to untrusted browser contexts.
Read-only still consumes resources
Block JSON and hexadecimal responses are built in memory, and repeated historical queries can consume CPU, memory, disk and bandwidth. Rate limits, response-size controls and timeouts belong at the exposure boundary. Public explorers should use purpose-built indexed infrastructure rather than opening a wallet or mining node directly.
How specialists test it
Developers test the proposal with made-up data on an isolated test network. They check normal cases and deliberately invalid cases. Different implementations should reach the same result before anyone relies on the proposal.
Frequently asked questions
What is the main point of Bitcoin Core REST interface?
Bitcoin Core REST interface: The interface required the rest option and shared Bitcoin Core’s HTTP server.
For Bitcoin Core REST interface, what should a beginner know about enabling and binding?
The interface required the rest option and shared Bitcoin Core’s HTTP server.
For Bitcoin Core REST interface, what should a beginner know about transactions and blocks?
Transaction and block endpoints accepted hashes and returned binary, hexadecimal or JSON forms.
For Bitcoin Core REST interface, what should a beginner know about headers and chain information?
The headers endpoint walked forward from a named block hash for a bounded count.
Conclusion
Bitcoin Core REST can simplify read-only data access, but its lack of authentication makes network isolation and resource controls essential. Use the documentation for the exact release and never expose a production mining or wallet node as a public explorer.
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.