Core RPC

The Bitcoin Core RPC interface serves as the nerve center for querying data, managing transactions, & interfacing with the Bitcoin network. The RPC commands provide a wide array of functionalities, from retrieving blockchain information to crafting raw transactions. Experiment, Test & Save RPC Commands below!

abandontransaction

Allows a user to abandon an unconfirmed transaction from the wallet.

1Inputs

Wallet

abortrescan

Stops the wallet's ongoing rescan for transactions.

0Inputs

Wallet

addmultisigaddress

Creates a multi-signature address with N required signatures out of M provided public keys.

4Inputs

Wallet

addnode

Manages connections to other nodes by adding, removing, or on-demand connecting.

3Inputs

Network

analyzepsbt

Evaluates a Partially Signed Bitcoin Transaction (PSBT) to detail its completion status and next steps.

1Inputs

Rawtransactions

backupwallet

Creates a backup of the wallet.

1Inputs

Wallet

bumpfee

Increases the fee of an unconfirmed transaction to expedite its confirmation.

2Inputs

Wallet

clearbanned

Removes all IP addresses and subnets from the ban list.

0Inputs

Network

combinepsbt

Merges multiple Partially Signed Bitcoin Transactions into a single PSBT.

1Inputs

Rawtransactions

createrawtransaction

Constructs a new raw, unsigned transaction.

2Inputs

Rawtransactions

createwallet

Generates a new wallet with a specified name within the Bitcoin Core application.

7Inputs

Wallet

decodepsbt

Decodes a PSBT to provide human-readable details.

1Inputs

Rawtransactions

decoderawtransaction

Decodes a raw transaction

2Inputs

rawtransactions

decodescript

Decodes a hex-encoded script

1Inputs

rawtransactions

deriveaddresses

Generates one or more addresses from an output descriptor.

2Inputs

Util

disconnectnode

Manually disconnects a node from the Bitcoin network based on either its node ID or IP address/subnet.

2Inputs

Network

dumpprivkey

Reveals the private key for a specified Bitcoin address.

1Inputs

Wallet

dumpwallet

A command to export all wallet keys in a human-readable format to a server-side file.

1Inputs

Wallet

encryptwallet

Encrypts the wallet with a passphrase.

1Inputs

Wallet

enumeratesigners

Lists external signers.

0Inputs

Signer

estimaterawfee

Utilizes historical data to predict the fee rate needed for transaction confirmation within a given block target.

2Inputs

Util

estimatesmartfee

Estimates the approximate fee per kilobyte

2Inputs

Util

finalizepsbt

Completes a Partially Signed Bitcoin Transaction for broadcasting.

2Inputs

Rawtransactions

fundrawtransaction

Adds inputs and change output to a raw transaction.

3Inputs

Rawtransactions

generateblock

Creates a block with a specified address and transactions.

2Inputs

Generating

generatetoaddress

Mines blocks immediately to a specified address.

3Inputs

Generating

generatetodescriptor

Instantly mines blocks to an output specified by a descriptor.

3Inputs

Generating

getaddednodeinfo

Returns information about manually added (or attempted to add) peers.

1Inputs

Network

getaddressbylabel

Retrieves a list of addresses associated with a given label.

1Inputs

Wallet

getaddressinfo

Provides detailed information about a specified Bitcoin address.

1Inputs

Wallet

getbalance

Retrieves the total available balance.

4Inputs

Wallet

getbalances

Shows an overview of wallet balances.

0Inputs

Wallet

getbestblockhash

Returns the hash of the best (tip) block

0Inputs

Blockchain

getblock

Returns detailed information about a block in the blockchain.

2Inputs

Blockchain

getblockchaininfo

Retrieves blockchain information

0Inputs

Blockchain

getblockcount

Retrieves the current block count

0Inputs

Blockchain

getblockfilter

Retrieves the filter for a block.

0Inputs

Blockchain

getblockfrompeer

Requests a specific block from a connected peer.

2Inputs

Blockchain

getblockhash

Returns the hash of the block provided its height.

1Inputs

Blockchain

getblockheader

Retrieves information about a block header

2Inputs

Blockchain

getblockstats

Computes statistics for a specified block in the blockchain

2Inputs

Blockchain

getblocktemplate

Provides a template for a new block.

1Inputs

Mining

getchaintips

Provides information about all known tips in the block tree, including the main chain and orphaned branches

0Inputs

Blockchain

getchaintxstats

Computes transaction statistics for the blockchain

2Inputs

Blockchain

getconnectioncount

Returns the total number of connections to other nodes

0Inputs

Network

getdeploymentinfo

Provides information about consensus rule changes.

1Inputs

Blockchain

getdescriptorinfo

Analyzes a descriptor and returns detailed information.

1Inputs

Util

getdifficulty

Returns the current mining difficulty

0Inputs

blockchain

getindexinfo

Details the operational state and sync status of node indices

1Inputs

Util

getmemoryinfo

Provides details on memory usage within the node.

1Inputs

Control

getmempoolancestors

Lists all transactions in the mempool that a specific transaction depends on.

2Inputs

Util

getmempoolinfo

Provides information about the current state of the transaction memory pool

0Inputs

blockchain

getrawmempool

Provides a list of all transaction IDs present in the mempool as a JSON formatted array of strings.

2Inputs

blockchain

getrawtransaction

Retrieves the raw transaction data for a specified transaction ID

3Inputs

rawtransactions

gettxoutproof

Generates a proof that one or more transactions were included in a block.

2Inputs

blockchain

gettxoutsetinfo

Delivers detailed insights into the state of unspent transaction outputs across the network.

3Inputs

blockchain

gettxout

Fetches details about a specific unspent transaction output (UTXO).

3Inputs

blockchain

sendrawtransaction

Submits a serialized, hex-encoded transaction to the local node and network for processing.

2Inputs

rawtransactions

submitpackage

Submits a package of raw transactions to the local node for validation and addition to the mempool

1Inputs

rawtransactions

testmempoolaccept

Checks if raw transactions would be accepted into the mempool without violating consensus or policy rules

2Inputs

rawtransactions

validateaddress

Analyzes a Bitcoin address to determine its validity and provides related information

1Inputs

util

verifymessage

Confirms the authenticity of a signed message, verifying it was signed by the private key of a specified Bitcoin address.

3Inputs

util

getmempooldescendants

Returns all descendant transactions in the mempool for a given transaction ID

2Inputs

blockchain

getmempoolentry

Retrieves detailed information about a transaction in the mempool

0Inputs

blockchain

getmininginfo

Provides an overview of the mining aspects of the node.

0Inputs

mining

getnettotals

Summarizes network traffic statistics.

0Inputs

network

getnetworkhashps

Calculates the estimated current or historical network hashrate.

2Inputs

mining

getnetworkinfo

Provides detailed information about the node's view of the network.

0Inputs

network

getnewaddress

Generates a new Bitcoin address for receiving payments.

2Inputs

wallet

getnodeaddresses

Retrieves a list of known Bitcoin network node addresses.

1Inputs

network

getpeerinfo

Provides detailed information on each connected peer.

0Inputs

network

getrawchangeaddress

Generates a new change address.

1Inputs

wallet

getreceivedbyaddress

Reports the total amount received by a specified Bitcoin address.

2Inputs

wallet

getreceivedbylabel

Shows the total amount received by addresses with a specific label.

2Inputs

wallet

getrpcinfo

Provides details on the RPC server's current state.

0Inputs

control

gettransaction

Retrieves detailed information about a specific transaction in the wallet.

3Inputs

wallet

gettxspendingprevout

Scans the mempool to find transactions spending specified outputs.

0Inputs

blockchain

getwalletinfo

Retrieves various state information about the wallet.

0Inputs

wallet

getzmqnotifications

Retrieves information about currently active ZeroMQ notifications.

0Inputs

zmq

help

Provides assistance for available RPC commands or a specified command.

1Inputs

control

importaddress

Adds a watch-only address or script to the wallet.

4Inputs

wallet

importdescriptors

Imports descriptors and triggers a blockchain rescan.

1Inputs

wallet

importmulti

Imports addresses or scripts and optionally performs a blockchain rescan.

2Inputs

wallet

importprivkey

Adds a private key to the wallet.

3Inputs

wallet

importprunedfunds

Imports funds into the wallet without performing a rescan.

2Inputs

wallet

importpubkey

Adds a public key to the wallet for monitoring purposes.

3Inputs

wallet

importwallet

Imports keys from a wallet dump file.

1Inputs

wallet

joinpsbts

Joins multiple distinct PSBTs into one.

1Inputs

rawtransactions

keypoolrefill

Fills the keypool.

1Inputs

wallet

listaddressgroupings

Lists groups of addresses that may have had their common ownership made public.

0Inputs

wallet

listbanned

Lists all manually banned IPs/Subnets.

0Inputs

network

listdescriptors

Retrieves information about descriptors imported into a wallet that supports descriptors.

0Inputs

wallet

listlabels

Retrieves the list of labels assigned to addresses in the wallet.

1Inputs

wallet

listlockunspent

Returns a list of temporarily unspendable (locked) outputs.

0Inputs

wallet

listreceivedbyaddress

Retrieves information about balances associated with receiving addresses.

4Inputs

wallet

listreceivedbylabel

Retrieves information about received transactions grouped by label

3Inputs

wallet

listsinceblock

Retrieves all transactions in blocks since a specified block or from the genesis block if omitted.

4Inputs

wallet

listtransactions

Retrieves a specified number of recent transactions, skipping a defined number of initial transactions.

4Inputs

wallet

listunspent

Retrieves unspent transaction outputs within a specified range of confirmations.

5Inputs

wallet

listwalletdir

Retrieves a list of wallets in the wallet directory.

0Inputs

wallet

listwallets

Retrieves a list of currently loaded wallets.

0Inputs

wallet

loadwallet

Loads a wallet from a wallet file or directory in Bitcoin Core.

2Inputs

wallet

lockunspent

Updates the list of temporarily unspendable outputs, either locking or unlocking specified transaction outputs.

2Inputs

wallet

logging

Gets and sets the logging configuration for specific categories.

2Inputs

control

migratewallet

Migrates Legacy wallets to Descriptor wallets.

0Inputs

wallet

newkeypool

Clears and refills the keypool.

0Inputs

wallet

ping

Requests a ping to be sent to all other nodes to measure ping time.

0Inputs

network

preciousblock

Marks a block as if it were received before others with the same work.

1Inputs

blockchain

prioritisetransaction

Adjusts the priority of a transaction in the mining queue by modifying its fee.

2Inputs

mining

pruneblockchain

Prunes the blockchain up to a specified height or timestamp, reducing storage space.

1Inputs

blockchain

psbtbumpfee

Bumps the fee of an opt-in-RBF transaction, replacing it with a new transaction.

0Inputs

wallet

removeprunedfunds

Deletes the specified transaction from the wallet, designed for use with pruned wallets.

1Inputs

wallet

rescanblockchain

Performs a rescan of the local blockchain to identify wallet-related transactions.

2Inputs

wallet

restorewallet

Restores and loads a wallet from a backup file.

0Inputs

wallet

savemempool

Dumps the memory pool (mempool) to disk.

0Inputs

blockchain

scantxoutset

Examines the set of unspent transaction outputs to identify entries that align with particular output descriptors.

2Inputs

blockchain

send

Sends a transaction with specified outputs and optional parameters.

5Inputs

wallet

sendall

Spends all or specific confirmed UTXOs in the wallet to one or more recipients.

0Inputs

wallet

sendmany

Facilitates the creation and broadcasting of transactions to send funds across multiple addresses.

9Inputs

wallet

sendtoaddress

Facilitates sending a specific amount of Bitcoin to a designated address.

9Inputs

wallet

setban

Manages the banned list of IP addresses or subnets.

4Inputs

network

sethdseed

Sets or generates a new HD wallet seed.

2Inputs

wallet

setlabel

Associates a label with a Bitcoin address.

2Inputs

wallet

setnetworkactive

Enables or disables all P2P network activity.

1Inputs

network

settxfee

Sets the transaction fee per kilobyte for transactions created by the wallet.

1Inputs

wallet

setwalletflag

Changes the state of a specified wallet flag for a wallet.

2Inputs

wallet

signmessage

Signs a message with the private key of a specified address.

2Inputs

wallet

signmessagewithprivkey

Signs a message with a specified private key.

2Inputs

utility

signrawtransactionwithkey

Signs inputs for a raw transaction using specified private keys.

4Inputs

rawtransactions

signrawtransactionwithwallet

Signs inputs for a raw transaction using keys from the wallet.

3Inputs

wallet

simulaterawtransaction

Calculates the balance change resulting from signing and broadcasting given transaction(s)

2Inputs

wallet

stop

Initiates a graceful shutdown of the Bitcoin Core server.

0Inputs

control

submitblock

Tries to submit a new block to the network.

2Inputs

mining

submitheader

Decodes and submits a given hexadecimal block header data as a candidate chain tip if valid.

1Inputs

mining

unloadwallet

Unloads a specified wallet or the wallet referenced by the request endpoint.

2Inputs

wallet

upgradewallet

Upgrades the wallet to the latest version or a specified version.

1Inputs

wallet

uptime

Retrieves the total uptime of the Bitcoin Core server.

0Inputs

control

utxoupdatepsbt

Updates segwit inputs and outputs in a Partially Signed Bitcoin Transaction (PSBT) with information from output descriptors, the UTXO set, or the mempool.

2Inputs

rawtransactions

verifychain

Verifies entries in the local blockchain database.

2Inputs

blockchain

verifytxoutproof

Verifies that a proof points to a transaction in a block and retrieves the transaction it commits to.

1Inputs

blockchain

walletcreatefundedpsbt

Creates and funds a transaction in the Partially Signed Bitcoin Transaction format (PSBT).

5Inputs

wallet

walletdisplayaddress

Shows an address to an external signer to confirm its validity.

0Inputs

wallet

walletlock

Clears the wallet encryption key from memory, effectively securing the wallet by locking it.

0Inputs

wallet

walletpassphrase

Stores the decryption key of the wallet in memory for a specified duration of time

2Inputs

wallet

walletpassphrasechange

Updates the wallet passphrase from the old passphrase to the new passphrase.

2Inputs

wallet

walletprocesspsbt

Enhances a Partially Signed Bitcoin Transaction (PSBT) by incorporating input details from the wallet and executing signature procedures for eligible inputs.

4Inputs

wallet