-
abandontransaction
"txid"
Marks an in-wallet transaction and all its in-wallet descendants as abandoned. This allows their inputs to be respent.
-
abortrescan
none
Stops current wallet rescan triggered by an RPC call, e.g. by an importprivkey call.
-
addmultisigaddress
nrequired ["key",...] ( "label" "address_type" )
Adds an nrequired-to-sign multisignature address to the wallet.
-
addnode
"node" "command"
Attempts to add or remove a node from the addnode list, or to try a connection to a node once.
-
analyzepsbt
"psbt"
Analyzes and provides information about the current status of a PSBT and its inputs
-
backupwallet
"destination"
Safely copies current wallet file to destination, which can be a directory or a path with filename.
-
bumpfee
"txid" ( options )
Bumps the fee of an opt-in-RBF transaction T, replacing it with a new transaction B.
-
clearbanned
none
Clears all banned IPs.
-
combinepsbt
["psbt",...]
Combines multiple partially signed Bitcoin transactions into one transaction. Implements the Combiner role.
-
combinerawtransaction
["hexstring",...]
Combines multiple partially signed transactions into one transaction.
The combined transaction may be another partially signed transaction or a
fully signed transaction.
-
converttopsbt
"hexstring" ( permitsigdata iswitness )
Converts a network serialized transaction to a PSBT. This should be used only with createrawtransaction and fundrawtransaction
-
createmultisig
nrequired ["key",...] ( "address_type" )
Creates a multi-signature address with n signature of m keys required. It returns a json object with the address and redeemScript.
-
createpsbt
[{"txid":"hex","vout":n,"sequence":n},...] [{"address":amount,...},{"data":"hex"},...] ( locktime replaceable )
Creates a transaction in the Partially Signed Transaction format. Implements the Creator role.
-
createrawtransaction
[{"txid":"hex","vout":n,"sequence":n},...] [{"address":amount,...},{"data":"hex"},...] ( locktime replaceable )
Creates a transaction spending the given inputs and creating new outputs. Outputs can be addresses or data. Returns hex-encoded raw transaction. Note that the transaction's inputs are not signed, and it is not stored in the wallet or transmitted to the network.
-
createwallet
"wallet_name" ( disable_private_keys blank "passphrase" avoid_reuse descriptors load_on_startup external_signer )
Creates and loads a new wallet.
-
decodepsbt
"psbt"
Returns a JSON object representing the serialized, base64-encoded partially signed Bitcoin transaction.
-
decoderawtransaction
"hexstring" ( iswitness )
Returns a JSON object representing the serialized, hex-encoded transaction.
-
decodescript
"hexstring"
Decodes a hex-encoded script.
-
deriveaddresses
"descriptor" ( range )
Returns one or more addresses corresponding to an output descriptor.
-
disconnectnode
( "address" nodeid )
Immediately disconnects from the specified peer node.
-
displayaddress
Experimental
-
dumpprivkey
"address"
Reveals the private key corresponding to 'address'.
-
dumpwallet
"filename"
Dumps all wallet keys in a human-readable format to a server-side file. This does not allow overwriting existing files.
-
encryptwallet
"passphrase"
Encrypts the wallet with 'passphrase'. This is for first time encryption.
-
enumeratesigners
none
Returns a list of external signers from -signer.
-
estimaterawfee
conf_target (threshold)
Estimates the approximate fee per kilobyte needed for a transaction to begin
confirmation within conf_target blocks if possible. External clients can query and use this data in their own fee estimation logic.
-
estimatesmartfee
conf_target ("estimate_mode")
Estimates the approximate fee per kilobyte needed for a transaction to begin
confirmation within conf_target blocks if possible and return the number of blocks
for which the estimate is valid.
-
finalizepsbt
"psbt" ( extract )
Finalizes he inputs of a PSBT. If the transaction is fully signed, it will produce a network serialized transaction which can be broadcast with sendrawtransaction. Otherwise a PSBT will be created which has the final_scriptSig and final_scriptWitness fields filled for inputs that are complete. Implements the Finalizer and Extractor roles.
-
fundrawtransaction
"hexstring" ( options iswitness )
Adds inputs to a transaction until it has enough in value to meet its out value.
-
generate
nblocks ( maxtries )
Nearly instantly generates blocks.
-
generateblock
"output" ["rawtx/txid",...]
Mines a set of ordered transactions to a specified address or descriptor and return the block hash.
-
generatetoaddress
nblocks address (maxtries)
Mines to a specified address and returns the block hashes.
-
generatetodescriptor
num_blocks "descriptor" ( maxtries )
Mines to a specified descriptor and returns the block hashes.
-
getaccount
(Deprecated, will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts)
Returns the name of the account associated with the given address.
-
getaccountaddress
(Deprecated, will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts)
Returns the current Bitcoin address for receiving payments to this account. If the account doesn't exist, it creates both the account and a new address for receiving payment. Once a payment has been received to an address, future calls to this RPC for the same account will return a different address.
-
getaddednodeinfo
( "node" )
Returns information about the given added node, or all added nodes (except onetry nodes). Only nodes which have been manually added using the `addnode` RPC will have their information displayed.
-
getaddressbyaccount
(Deprecated, will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts)
Returns a list of every address assigned to a particular account.
-
getaddressesbylabel
"label"
Returns the list of addresses assigned the specified label.
-
getaddressinfo
"address"
Returns information about the given bitcoin address. Some information requires the address
to be in the wallet.
-
getbalance
( "dummy" minconf include_watchonly avoid_reuse )
Returns the total available balance.
-
getbalances
none
Returns an object with all balances in BTC.
-
getbestblockhash
none
Returns the hash of the best (tip) block in the most-work fully-validated chain.
-
getblock
"blockhash" ( verbosity )
Gets a block If verbosity is 0, returns a string that is serialized, hex-encoded data for block 'hash'.
If verbosity is 1, returns an Object with information about block .
If verbosity is 2, returns an Object with information about block and information about each transaction.
If verbosity is 3, returns an Object with information about block and information about each transaction, including prevout information for inputs (only for unpruned blocks in the current best chain).
-
getblockchaininfo
none
Provides information about the current state of the block chain.
-
getblockcount
none
Returns the height of the most-work fully-validated chain.
-
getblockfilter
"blockhash" ( "filtertype" )
Retrieve a BIP 157 content filter for a particular block.
-
getblockfrompeer
"blockhash" peer_id
Attempts to fetch block from a given peer. Must have the header for this block, e.g. using submitheader. Subsequent calls for the same block and a new peer will cause the response from the previous peer to be ignored.
-
getblockhash
height
Returns the header hash of a block at the given height in the local best block chain.
-
getblockheader
"hash" ( verbose )
Gets a block header with a particular header hash from the local block database either as a JSON object or as a serialized block header.
-
getblockstats
hash_or_height ( stats )
Computes per block statistics for a given window. All amounts are in satoshis.
-
getblocktemplate
( "template_request" )
Returns data needed to construct a block to work on.
-
getchaintips
none
Returns information about the highest-height block (tip) of each local block chain.
-
getchaintxstats
( nblocks "blockhash" )
Computes statistics about the total number and rate of transactions in the chain.
-
getconnectioncount
none
Returns the number of connections to other nodes.
-
getdeploymentinfo
( "blockhash" )
Returns an object containing various state info regarding deployments of consensus changes.
-
getdescriptorinfo
"descriptor"
Analyses a descriptor.
-
getdifficulty
none
Returns the proof-of-work difficulty as a multiple of the minimum difficulty.
-
getindexinfo
( "index_name" )
Returns the status of one or all available indices currently running in the node
-
getmemoryinfo
("mode")
Returns information about memory usage.
-
getmempoolancestors
"txid" ( verbose )
Returns all in-mempool ancestors for a transaction in the mempool.
-
getmempooldescendants
"txid" ( verbose )
Returns all in-mempool descendants for a transaction in the mempool.
-
getmempoolentry
"txid"
Returns details on the active state of the TX memory pool.
-
getmempoolinfo
none
Returns information about the node's current transaction memory pool.
-
getmininginfo
none
Returns a json object containing mining-related information.
-
getnettotals
none
Returns information about network traffic, including bytes in, bytes out, and the current time.
-
getnetworkhashps
( nblocks height )
Returns the estimated network hashes per second based on the last n blocks.
-
getnetworkinfo
none
Returns an object containing various state info regarding P2P networking.
-
getnewaddress
( "label" "address_type" )
Returns a new Bitcoin address for receiving payments. If an account is specified, payments received with the address will be credited to that account.
-
getnodeaddresses
( count "network" )
Returns known addresses, after filtering for quality and recency. These can potentially be used to find new peers in the network. The total number of addresses known to the node may be higher.
-
getpeerinfo
none
Returns data about each connected network peer as a json array of objects.
-
getrawchangeaddress
( "address_type" )
Returns a new Bitcoin address for receiving change. This is for use with raw transactions, not normal use.
-
getrawmempool
( verbose mempool_sequence )
Returns all transaction ids in memory pool as a json array of string transaction ids.
-
getrawtransaction
"txid" ( verbose "blockhash" )
Returns the raw transaction data.
-
getreceivedbyaccount
(Deprecated, will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts)
Returns the total amount received by addresses in a particular account from transactions with the specified number of confirmations. It does not count coinbase transactions.
-
getreceivedbyaddress
"address" ( minconf include_immature_coinbase )
Returns the total amount received by the given address in transactions with at least minconf confirmations.
-
getreceivedbylabel
"label" ( minconf include_immature_coinbase )
Returns the total amount received by addresses with
-
getrpcinfo
none
Returns details of the RPC server.
-
gettransaction
"txid" ( include_watchonly verbose )
Gets detailed information about an in-wallet transaction.
-
gettxout
"txid" n ( include_mempool )
Returns details about an unspent transaction output (UTXO).
-
gettxoutproof
["txid",...] ( blockhash )
Returns a hex-encoded proof that one or more specified transactions were included in a block.
-
gettxoutsetinfo
( "hash_type" hash_or_height use_index )
Returns statistics about the unspent transaction output set.
-
gettxspendingprevout
[{"txid":"hex","vout":n},...]
Scans the mempool to find transactions spending any of the given outputs
-
getunconfirmedbalance
none
Returns the wallet's total unconfirmed balance.
-
getwalletinfo
none
Returns an object containing various wallet state info.
-
getzmqnotifications
none
Returns information about the active ZeroMQ notifications.
-
help
( "command" )
Lists all available public RPC commands, or gets help for the specified RPC. Commands which are unavailable will not be listed, such as wallet RPCs if wallet support is disabled.
-
importaddress
"address" ( "label" rescan p2sh )
Adds an address or script (in hex) that can be watched as if it were in your wallet but cannot be used to spend. Requires a new wallet backup.
-
importdescriptors
"requests"
Triggers a rescan of the blockchain based on the earliest timestamp of all descriptors being imported. Requires a new wallet backup.
-
importmulti
"requests" ( "options" )
Imports addresses or scripts (with private keys, public keys, or P2SH redeem scripts) and optionally performs the minimum necessary rescan for all imports.
-
importprivkey
"privkey" ( "label" ) ( rescan )
Adds a private key (as returned by dumpprivkey) to your wallet. Requires a new wallet backup.
Hint: use importmulti to import more than one private key.
-
importprunedfunds
"rawtransaction" "txoutproof"
Imports funds without rescan. Corresponding address or script must previously be included in wallet. Aimed towards pruned wallets. The end-user is responsible to import additional transactions that subsequently spend the imported outputs or rescan after the point in the blockchain the transaction is included.
-
importpubkey
"pubkey" ( "label" rescan )
Adds a public key (in hex) that can be watched as if it were in your wallet but cannot be used to spend. Requires a new wallet backup.
-
importwallet
"filename"
Imports keys from a wallet dump file (see dumpwallet). Requires a new wallet backup to include imported keys.
-
joinpsbts
["psbt",...]
Joins multiple distinct PSBTs with different inputs and outputs into one PSBT with inputs and outputs from all of the PSBTs No input in any of the PSBTs can be in more than one of the PSBTs.
-
keypoolrefill
( newsize )
Fills the keypool.
-
listaccounts
(Deprecated, will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts)
Lists accounts and their balances.
-
listaddressgroupings
none
Lists groups of addresses that may have had their common ownership made public by common use as inputs in the same transaction or from being used as change from a previous transaction.
-
listbanned
none
Lists all manually banned IPs/Subnets.
-
listdescriptors
( private )
Lists descriptors imported into a descriptor-enabled wallet.
-
listlabels
( "purpose" )
Returns the list of all labels, or labels that are assigned to addresses with a specific purpose.
-
listlockunspent
none
Returns a list of temporarily unspendable (locked) outputs.
-
listreceivedbyaccount
(Deprecated, will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts)
Lists the total number of bitcoins received by each account.
-
listreceivedbyaddress
( minconf include_empty include_watchonly "address_filter" include_immature_coinbase )
Lists balances by receiving address.
-
listreceivedbylabel
( minconf include_empty include_watchonly include_immature_coinbase )
Lists received transactions by label.
-
listsinceblock
( "blockhash" target_confirmations include_watchonly include_removed )
Gets all transactions in blocks since block [blockhash], or all transactions if omitted.
-
listtransactions
(dummy count skip include_watchonly)
Returns up to 'count' most recent transactions skipping the first 'from' transactions.
-
listunspent
( minconf maxconf ["addresses",...] [include_unsafe] [query_options])
Returns array of unspent transaction outputs with between minconf and maxconf (inclusive) confirmations. Optionally filter to only include txouts paid to specified addresses.
-
listwalletdir
none
Returns a list of wallets in the wallet directory
-
listwallets
none
Returns a list of currently loaded wallets.
-
loadwallet
"filename"
Loads a wallet from a wallet file or directory.
-
lockunspent
unlock ([{"txid":"txid","vout":n},...])
Updates list of temporarily unspendable outputs. Temporarily lock (unlock=false) or unlock (unlock=true) specified transaction outputs. If no transaction outputs are specified when unlocking then all current locked transaction outputs are unlocked.
-
logging
( ["include_category",...] ["exclude_category",...] )
Gets and sets the logging configuration.
-
migratewallet
none
Migrates Legacy (non-descriptor) wallets to Descriptor wallets. experimental
-
move
(Deprecated, will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts)
Moves a specified amount from one account in your wallet to another using an off-block-chain transaction.
-
newkeypool
none
Entirely clears and refills the keypool.
-
ping
none
Requests that a ping be sent to all other nodes, to measure ping time. Results provided in getpeerinfo, pingtime and pingwait fields are decimal seconds. Ping command is handled in queue with all other commands, so it measures processing backlog, not just network ping.
-
preciousblock
"blockhash"
Treats a block as if it were received before others with the same work.
-
prioritisetransaction
"txid" ( dummy ) fee_delta
Accepts the transaction into mined blocks at a higher (or lower) priority
-
pruneblockchain
"height"
Prunes the blockchain up to a specified height or timestamp.
-
psbtbumpfee
"txid" ( options )
Bumps the fee of an opt-in-RBF transaction T, replacing it with a new transaction B.
-
removeprunedfunds
"txid"
Deletes the specified transaction from the wallet. Meant for use with pruned wallets and as a companion to importprunedfunds.
-
rescanblockchain
( start_height stop_height )
Rescan the local blockchain for wallet related transactions.
-
restorewallet
"wallet_name" "backup_file" ( load_on_startup )
Restores and loads a wallet from backup.
-
savemempool
none
Dumps the mempool to disk. It will fail until the previous dump is fully loaded.
-
scantxoutset
"action" ( [scanobjects,...] )
Scans the unspent transaction output set for entries that match certain output descriptors
-
send
[{"address":amount,...},{"data":"hex"},...] ( conf_target "estimate_mode" fee_rate options )
Sends a transaction. EXPERIMENTAL
-
sendall
["address",{"address":amount,...},...] ( conf_target "estimate_mode" fee_rate options )
Spends the value of all (or specific) confirmed UTXOs in the wallet to one or more recipients. EXPERIMENTAL
-
sendfrom
(Deprecated, will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts)
Spends an amount from a local account to a bitcoin address.
-
sendmany
"" {"address":amount,...} ( minconf "comment" ["address",...] replaceable conf_target "estimate_mode")
Creates and broadcasts a transaction which sends outputs to multiple addresses.
-
sendrawtransaction
"hexstring" ( maxfeerate )
Submits a raw transaction (serialized, hex-encoded) to local node and network.
-
sendtoaddress
"address" amount ( "comment" "comment_to" subtractfeefromamount replaceable conf_target "estimate_mode" avoid_reuse fee_rate verbose )
Spends an amount to a given address.
-
setaccount
(Deprecated, will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts)
Puts the specified address in the given account.
-
setban
"subnet" "command" ( bantime absolute )
Attempts add or remove a IP/Subnet from the banned list.
-
sethdseed
( newkeypool "seed" )
Allows users to set a new HD seed or set their own HD seed. This allows for a new HD seed to be used. A new backup must be made when a new HD seed is set.
-
setlabel
"address" "label"
Intended as a replacement for the deprecated 'account' API.
-
setnetworkactive
state
Disables/enables all P2P network activity.
-
settxfee
amount
Sets the transaction fee per kilobyte paid by transactions created by this wallet.
-
setwalletflag
"flag" ( value )
Changes the state of the given wallet flag for a wallet
-
signmessage
"address" "message"
Signs a message with the private key of an address.
-
signmessagewithprivkey
"privkey" "message"
Signs a message with the private key of an address
-
signrawtransaction
"hexstring" ( [{"txid":"id","vout":n,"scriptPubKey":"hex","redeemScript":"hex"},...] ["privatekey1",...] sighashtype )
Signs a transaction in the serialized transaction format using private keys stored in the wallet or provided in the call.
-
signrawtransactionwithkey
"hexstring" ["privatekey",...] ( [{"txid":"hex","vout":n,"scriptPubKey":"hex","redeemScript":"hex","witnessScript":"hex","amount":amount},...] "sighashtype" )
Signsinputs for raw transaction (serialized, hex-encoded).
-
signrawtransactionwithwallet
"hexstring" ( [{"txid":"hex","vout":n,"scriptPubKey":"hex","redeemScript":"hex","witnessScript":"hex","amount":amount},...] "sighashtype" )
Signs inputs for raw transaction (serialized, hex-encoded)
-
simulaterawtransaction
( ["rawtx",...] {"include_watchonly":bool,...} )
Calculates the balance change resulting in the signing and broadcasting of the given transaction(s).
-
stop
none
Safely shuts down the Bitcoin Core server.
-
submitblock
"hexdata" ( "dummy" )
Attempts to submit new block to network.
-
submitheader
"hexdata"
Decodes the given hexdata as a header and submits it as a candidate chain tip if valid.
-
testmempoolaccept
["rawtx",...] ( maxfeerate )
Returns result of mempool acceptance tests indicating if raw transaction(s) (serialized, hex-encoded) would be accepted by mempool.
-
unloadwallet
( "wallet_name" load_on_startup )
Unloads the wallet referenced by the request endpoint otherwise unloads the wallet specified in the argument.
-
upgradewallet
( version )
Upgrades to the latest version if no version number is specified.
New keys may be generated and a new wallet backup will need to be made
-
uptime
none
Returns the total uptime of the server in seconds.
-
utxoupdatepsbt
"psbt" ( [",{"desc":"str","range":n or [n,n]},...] )
Updates all segwit inputs and outputs in a PSBT with data from output descriptors, the UTXO set or the mempool.
-
validateaddress
"address"
Returns information about the given Bitcoin address.
-
verifychain
( checklevel nblocks )
Verifies each entry in the local block chain database.
-
verifymessage
"address" "signature" "message"
Verifies a signed message.
-
verifytxoutproof
"proof"
Verifies that a proof points to a transaction in a block, returning the transaction it commits to
and throwing an RPC error if the block is not in our best chain
-
walletcreatefundedpsbt
( [{"txid":"hex","vout":n,"sequence":n,"weight":n},...] ) [{"address":amount,...},{"data":"hex"},...] ( locktime options bip32derivs )
Creates and funds a transaction in the Partially Signed Transaction format.
-
walletdisplayaddress
"address"
Displays address on an external signer for verification
-
walletlock
none
Removes the wallet encryption key from memory, locking the wallet. After calling this method, you will need to call `walletpassphrase` again before being able to call any methods which require the wallet to be unlocked.
-
walletpassphrase
"passphrase" timeout
Stores the wallet decryption key in memory for 'timeout' seconds. This is needed prior to performing transactions related to private keys such as sending bitcoins
-
walletpassphrasechange
"oldpassphrase" "newpassphrase"
Changes the wallet passphrase from 'old passphrase' to 'new passphrase'.
-
walletprocesspsbt
"psbt" ( sign "sighashtype" bip32derivs finalize )
Updates a PSBT with input information from our wallet and then sign inputs
that we can sign for. Requires wallet passphrase to be set with walletpassphrase call if wallet is encrypted.