Bitcoin API reference

This page provides an overview of the available methods on Chainstack Bitcoin nodes using the Bitcoin RPC API. The methods are divided into three categories:

  • Immediately accessible methods
  • Methods requiring further customization
  • Unavailable methods on Chainstack Bitcoin nodes

This guide will help you better understand and utilize the capabilities of Chainstack Bitcoin nodes within the context of the Bitcoin RPC API.

Chainstack Bitcoin API table

The table features an Availability column, which outlines the method's accessibility on a Bitcoin node deployed via Chainstack. The availability is classified into three levels:

  • Available β€” the corresponding method is immediately accessible upon deploying a Chainstack Elastic Bitcoin node.
  • Customization required β€” the corresponding method can be enabled on a dedicated Chainstack Bitcoin node with additional customization.
  • Not available β€” the corresponding method cannot be activated on any Chainstack Bitcoin node.

This classification assists users in understanding the availability of each method within Chainstack Bitcoin nodes.

πŸ“˜

Easlily interact with the Bitcoin API using the Bitcoin API Postman collection.

Dedicated Bitcoin nodes

In case you need access to methods requiring customization, you can request a dedicated node directly from the Chainstack console UI, and a Chainstack Support representative will contact you shortly.

Blockchain RPC methods

Blockchain RPC methods allow developers to interact with and gather information about the Bitcoin blockchain, such as querying transactions and network data.

RPC methodAvailabilityRemarks
getbestblockhashAvailable
getblockAvailable
getblockchaininfoAvailable
getblockfilterAvailable
getblockfilterCustomization required
getblockhashAvailable
getblockheaderAvailable
getblockstatsAvailable
getchaintipsAvailable
getchaintxstatsAvailable
getdifficultyAvailable
getmempoolancestorsAvailable
getmempooldescendantsAvailable
getmempoolentryAvailable
getmempoolinfoAvailable
getrawmempoolAvailable
gettxoutsetinfoAvailable
gettxoutAvailable
verifychainAvailable
gettxoutproofAvailableThis function operates intermittently by default, only functioning when there is an unspent output in the UTXO for the transaction. To ensure consistent performance, maintain a transaction index using the -txindex command line option or manually specify the block containing the transaction (by blockhash).
preciousblockAvailableTreats a block as if it were received before others with the same work.
pruneblockchainNot available
savemempoolAvailableIt will fail until the previous dump is fully loaded.
scantxoutsetAvailableThis method may be removed or changed in future releases.
verifytxoutproofAvailableRequires the hex-encoded proof generated by gettxoutproof method.

Control PRC methods

Control RPC methods in the Bitcoin API allow users to manage and configure their Bitcoin Core node, such as returning general information about the node, or the total uptime.

RPC methodAvailabilityRemarks
uptimeAvailable
getmemoryinfoAvailable
getrpcinfoAvailable
helpAvailable
loggingAvailable
stopNot available

Generating RPC methods

Generating RPC methods in the Bitcoin API are primarily used for mining and testing purposes. These methods enable developers to create new blocks, generate and manage addresses, and perform CPU mining for testing and development environments.

RPC methodAvailabilityRemarks
generateblockNot available
generatetoaddressNot availableDeprecated after Bitcoin Core v0.19
generatetodescriptorNot available

Mining RPC methods

Mining RPC methods provide developers with access to mining-related data, such as network difficulty, mining statistics, and block template creation.

RPC MethodAvailabilityRemarks
getblocktemplateAvailable
getmininginfoAvailable
getnetworkhashpsAvailable
prioritisetransactionAvailable
submitblockNot available
submitheaderNot available

Network RPC methods

Network RPC methods in the Bitcoin API are used to manage and gather information about the node's connection to the Bitcoin network. These methods provide developers with tools to control and monitor the node's interactions with peers.

RPC methodAvailabilityRemarks
getpeerinfoAvailable
getnetworkinfoAvailable
getconnectioncountAvailable
getnettotalsAvailable
listbanedAvailable
pingAvailable
addnodeNot available
getnettotalsAvailable
disconnectnodeNot available
getnodeaddressesAvailable
setnetworkactiveAvailable
setbanNot available

Raw transactions RPC methods

Raw transactions RPC methods in the Bitcoin API are used to create, inspect, sign, and broadcast custom transactions on the Bitcoin network. These methods provide developers with control over transaction creation and processing.

RPC methodAvailabilityRemarks
analyzepsbtAvailable
createpsbtAvailable
combinepsbtAvailable
createrawtransactionAvailable
combinerawtransactionAvailable
decodepsbtAvailable
decoderawtransactionAvailable
decodescriptAvailable
finalizepsbtAvailable
fundrawtransactionCustomization requiredRequire wallet support
getrawtransactionAvailable
sendrawtransactionAvailable
signrawtransactionwithkeyAvailable
testmempoolacceptAvailable

Util RPC methods

Util RPC methods in the Bitcoin API are used for various utility tasks, simplifying certain operations and calculations when working with Bitcoin transactions and blockchain data.

RPC methodAvailabilityRemarks
createmultisigAvailable
deriveaddressesAvailable
estimatesmartfeeAvailable
getindexinfoCustomization required
signmessagewithprivkeyAvailable
validateaddressAvailable
verifymessageAvailable

Wallet RPC methods

Wallet RPC methods in the Bitcoin API are used to interact with and manage a Bitcoin Core built-in wallet functionality. By leveraging wallet RPC methods, developers can create and manage Bitcoin wallets programmatically, enabling the implementation of various wallet-related features and applications.

πŸ“˜

Note that the wallet module is disabled by default on elastic Chainstack nodes.

RPC methodAvailabilityRemarks
createwalletCustomization required
listwalletdirCustomization required
loadwalletCustomization required
listtransactionsCustomization required
listwalletsCustomization required
abandontransactionCustomization required
abortrescanCustomization required
bumpfeeCustomization required
dumpprivkeyCustomization required
getaddressesbylabelCustomization required
getbalanceCustomization required
getbalancesCustomization required
getnewaddressCustomization required
getrawchangeaddressCustomization required
getreceivedbyaddressCustomization required
getreceivedbylabelCustomization required
gettransactionCustomization required
importaddressCustomization required
importdescriptorsCustomization required
importmultiCustomization required
importprivkeyCustomization required
importprunedfundsCustomization required
importpubkeyCustomization required
importwalletCustomization required
keypoolrefillCustomization required
listaddressgroupingsCustomization required
listlabelsCustomization required
listlockunspentCustomization required
listreceivedbyaddressCustomization required
listsinceblockCustomization required
listtransactionsCustomization required
listunspentCustomization required
listwalletdirCustomization required
listwalletsCustomization required
lockunspentCustomization required
loadwalletCustomization required
psbtbumpfeeCustomization required
removeprunedfundsCustomization required
rescanblockchainCustomization required
sendCustomization required
sendmanyCustomization required
sendtoaddressCustomization required
sethdseedCustomization required
setlabelCustomization required
settxfeeCustomization required
setwalletflagCustomization required
signmessageCustomization required
signrawtransactionwithwalletCustomization required
unloadwalletCustomization required
upgradewalletCustomization required
walletcreatefundedpsbtCustomization required
walletlockCustomization required
walletpassphraseCustomization required
walletpassphrasechangeCustomization required
walletprocesspsbtCustomization required

ZQM RPC methods

ZQM RPC methods in the Bitcoin API related to the ZeroMQ (ZMQ) notification system.

RPC methodAvailabilityRemarks
getzmqnotificationsAvailableStarting from Bitcoin Core 22.0.0

Signer RPC methods

Signer RPC methods can be used to interact with external signers such as hardware wallets.

RPC methodAvailabilityRemarks
enumeratesignersCustomization requiredStarting from Bitcoin Core 22.0.0