TERM_DEF // WALLETS_DEVELOPER_TOOLS / BITCOIN_RPC_API
BITCOIN RPC
API
API
bitcoin-rpc-api/">Bitcoin RPC API. JSON-RPC interface to a Bitcoin Core node for wallet, mining, and chain commands.
This page sits in the Wallets & Developer Tools section — Software and test networks engineers use day-to-day. Read on for what it is, why it exists, how it works under the hood, and what to watch out for.
This page sits in the Wallets & Developer Tools section — Software and test networks engineers use day-to-day. Read on for what it is, why it exists, how it works under the hood, and what to watch out for.
WHAT_BITCOIN_RPC_API_IS
Bitcoin RPC API — at a glance
WALLETS
Bitcoin RPC API is part of the tooling that lets developers, power users, and node operators interact with Bitcoin programmatically — RPCs, libraries, signing devices, block explorers, mempool monitors. JSON-RPC interface to a Bitcoin Core node for wallet, mining, and chain commands.
Why it exists
DESIGN
Bitcoin is "just" a protocol — but to actually use it, every wallet, exchange, miner, and analytics service needs to query the chain, build transactions, sign them, and broadcast them. Developer tools are the API surface where the protocol meets applications. They are the difference between "we have consensus rules" and "you can pay your friend a coffee with sats".
HOW_IT_WORKS
Mechanism
HOW IT WORKS
Most tooling layers on top of Bitcoin Core — the reference full node implementation that ships with a JSON-RPC interface, a P2P client, a transaction wallet, and (optionally) a chain index. Above that sit libraries (libbitcoinkernel, bitcoinjs-lib, rust-bitcoin), signing standards (PSBT — BIP-174), and user-facing tools (Electrum, Sparrow, mempool.space). Bitcoin RPC API sits somewhere in that stack.
1. Bitcoin Core runs locally: validates the chain, exposes RPCs on port 8332 (mainnet) or 18332 (testnet).
2. A developer's app calls RPCs like `getblockchaininfo`, `gettransaction`, `createpsbt`, `sendrawtransaction`.
3. For signing, the app builds a PSBT (Partially Signed Bitcoin Transaction) and hands it to a hardware wallet or signing service.
4. The hardware wallet adds its signatures; the app combines, finalises, and broadcasts the tx via RPC.
5. The app subscribes to mempool/block notifications (via ZMQ or polling) to display confirmations to the user.
6. Block explorers and analytics services run their own indexed Core nodes plus custom databases for fast queries.
WORKED_EXAMPLE
The Bitcoin developer stack — what most apps use
EXAMPLE
Full node : Bitcoin Core 27+ (C++ reference)
Knots (Bitcoin Core fork w/ extra options)
btcd (Go), bcoin (JS)
Wallets / signers : Electrum, Sparrow, Wasabi (software, with HW support)
Coldcard, Ledger, Trezor, BitBox (hardware)
Libraries : bitcoinjs-lib (JS) — txs, addresses, PSBT
rust-bitcoin — full protocol in Rust
bdk (Bitcoin Dev Kit) — Rust wallet framework
python-bitcoinlib — scripting + low-level
Standards : PSBT (BIP-174) — sign transactions across devices
Descriptors (BIP-380+)— compact wallet specifications
Miniscript — analysable Script subset
Explorers / dashboards: mempool.space — open-source mempool visualisation
bitfeed — real-time tx visualisation
bitcoinexplorer.org — self-host your own UI
RPC examples : bitcoin-cli getblockchaininfo
bitcoin-cli sendrawtransaction
bitcoin-cli walletprocesspsbt
KEY_PROPERTIES
STABLE INTERFACE
Bitcoin Core's RPC and P2P interfaces are extremely conservative — apps built in 2014 still mostly work today.
OPEN STANDARDS
PSBT, descriptors, miniscript are BIP-standardised — multiple implementations can interoperate.
RUN YOUR OWN NODE
Every developer tool benefits from running against your own full node — no API rate limits, no upstream trust.
No app store, no API key, no signup. Anyone can ship a wallet, an explorer, or a custom indexer.
COMMON_PITFALLS
Things that catch people out
PITFALLS
- Avoid trusting third-party APIs (mempool.space, blockstream.info, blockchain.info) for anything custody-related — they can lie about balances or block heights.
- Hardware wallets vary in their PSBT support; test full flows (sign → broadcast → confirm) before trusting a new signer.
- `sendmany` and similar legacy RPCs are convenient but lose control of change addresses — prefer descriptor-based wallets for multi-output txs.
- RPCs are powerful — never expose 8332 to the public internet without a strict allowlist + strong RPC credentials.
RELATED_CONCEPTS
Other terms from Wallets & Developer Tools — click any to read its page:
TERMINOLOGY_INDEX
TERMINOLOGY
Bitcoin RPC API
JSON-RPC interface to a Bitcoin Core node for wallet, mining, and chain commands.
Hardware Wallet
A dedicated device that stores keys offline and signs transactions internally.
Watch-only Wallet
A wallet holding extended public keys but no private keys; can monitor balances and build PSBTs only.
Multisig Wallet
A wallet requiring m-of-n signatures to spend; spreads risk across keys and devices.
Testnet / Testnet4
Public test networks with worthless coins; testnet4 is the current iteration.
Signet
A test network whose blocks are signed by a designated authority; predictable for development.
Regtest
A local-only regression-test network where blocks are mined on demand.