Skip to content

Instantly share code, notes, and snippets.

@willcl-ark
Created March 3, 2026 09:21
Show Gist options
  • Select an option

  • Save willcl-ark/2710a5104901021632ba4cb8e992f21f to your computer and use it in GitHub Desktop.

Select an option

Save willcl-ark/2710a5104901021632ba4cb8e992f21f to your computer and use it in GitHub Desktop.
{
"openrpc": "1.3.2",
"info": {
"title": "Bitcoin Core JSON-RPC",
"version": "v30.99.0-dev",
"description": "Autogenerated from Bitcoin Core RPC metadata."
},
"methods": [
{
"name": "abandontransaction",
"description": "Mark in-wallet transaction <txid> as abandoned\nThis will mark this transaction and all its in-wallet descendants as abandoned which will allow\nfor their inputs to be respent. It can be used to replace \"stuck\" or evicted transactions.\nIt only works on transactions which are not included in a block and are not currently in the mempool.\nIt has no effect on transactions which are already abandoned.",
"params": [
{
"name": "txid",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The transaction id"
}
],
"result": {
"name": "result",
"schema": {
"type": "null"
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "abortprivatebroadcast",
"description": "Abort private broadcast attempts for a transaction currently being privately broadcast.\nThe transaction will be removed from the private broadcast queue.",
"params": [
{
"name": "id",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "A transaction identifier to abort. It will be matched against both txid and wtxid for all transactions in the private broadcast queue.\nIf the provided id matches a txid that corresponds to multiple transactions with different wtxids, multiple transactions will be removed and returned."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"removed_transactions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction hash in hex"
},
"wtxid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction witness hash in hex"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The serialized, hex-encoded transaction data"
}
},
"additionalProperties": false,
"required": [
"txid",
"wtxid",
"hex"
]
},
"description": "Transactions removed from the private broadcast queue"
}
},
"additionalProperties": false,
"required": [
"removed_transactions"
]
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "abortrescan",
"description": "Stops current wallet rescan triggered by an RPC call, e.g. by a rescanblockchain call.\nNote: Use \"getwalletinfo\" to query the scanning progress.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "boolean"
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "addnode",
"description": "Attempts to add or remove a node from the addnode list.\nOr try a connection to a node once.\nNodes added using addnode (or -connect) are protected from DoS disconnection and are not required to be\nfull nodes/support SegWit as other outbound peers are (though such peers will not be synced from).\nAddnode connections are limited to 8 at a time and are counted separately from the -maxconnections limit.",
"params": [
{
"name": "node",
"required": true,
"schema": {
"type": "string"
},
"description": "The IP address/hostname optionally followed by :port of the peer to connect to"
},
{
"name": "command",
"required": true,
"schema": {
"type": "string"
},
"description": "'add' to add a node to the list, 'remove' to remove a node from the list, 'onetry' to try a connection to the node once"
},
{
"name": "v2transport",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Attempt to connect using BIP324 v2 transport protocol (ignored for 'remove' command)"
}
],
"result": {
"name": "result",
"schema": {
"type": "null"
}
},
"x-bitcoin-category": "network"
},
{
"name": "analyzepsbt",
"description": "Analyzes and provides information about the current status of a PSBT and its inputs",
"params": [
{
"name": "psbt",
"required": true,
"schema": {
"type": "string"
},
"description": "A base64 string of a PSBT"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"inputs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"has_utxo": {
"type": "boolean",
"description": "Whether a UTXO is provided"
},
"is_final": {
"type": "boolean",
"description": "Whether the input is finalized"
},
"missing": {
"type": "object",
"properties": {
"pubkeys": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"signatures": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"redeemscript": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "Hash160 of the redeem script that is missing"
},
"witnessscript": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "SHA256 of the witness script that is missing"
}
},
"additionalProperties": false,
"description": "Things that are missing that are required to complete this input"
},
"next": {
"type": "string",
"description": "Role of the next person that this input needs to go to"
}
},
"additionalProperties": false,
"required": [
"has_utxo",
"is_final"
]
}
},
"estimated_vsize": {
"type": "number",
"description": "Estimated vsize of the final signed transaction"
},
"estimated_feerate": {
"type": "string",
"description": "Estimated feerate of the final signed transaction in BTC/kvB. Shown only if all UTXO slots in the PSBT have been filled"
},
"fee": {
"type": "string",
"description": "The transaction fee paid. Shown only if all UTXO slots in the PSBT have been filled"
},
"next": {
"type": "string",
"description": "Role of the next person that this psbt needs to go to"
},
"error": {
"type": "string",
"description": "Error message (if there is one)"
}
},
"additionalProperties": false,
"required": [
"next"
]
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "backupwallet",
"description": "Safely copies the current wallet file to the specified destination, which can either be a directory or a path with a filename.",
"params": [
{
"name": "destination",
"required": true,
"schema": {
"type": "string"
},
"description": "The destination directory or file"
}
],
"result": {
"name": "result",
"schema": {
"type": "null"
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "bumpfee",
"description": "Bumps the fee of a transaction T, replacing it with a new transaction B.\nA transaction with the given txid must be in the wallet.\nThe command will pay the additional fee by reducing change outputs or adding inputs when necessary.\nIt may add a new change output if one does not already exist.\nAll inputs in the original transaction will be included in the replacement transaction.\nThe command will fail if the wallet or mempool contains a transaction that spends one of T's outputs.\nBy default, the new fee will be calculated automatically using the estimatesmartfee RPC.\nThe user can specify a confirmation target for estimatesmartfee.\nAlternatively, the user can specify a fee rate in sat/vB for the new transaction.\nAt a minimum, the new fee rate must be high enough to pay an additional new relay fee (incrementalfee\nreturned by getnetworkinfo) to enter the node's mempool.\n* WARNING: before version 0.21, fee_rate was in BTC/kvB. As of 0.21, fee_rate is in sat/vB. *",
"params": [
{
"name": "txid",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The txid to be bumped"
},
{
"name": "options",
"required": false,
"schema": {
"type": "object",
"properties": {
"conf_target": {
"type": "number",
"description": "Confirmation target in blocks\n"
},
"fee_rate": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "\nSpecify a fee rate in sat/vB instead of relying on the built-in fee estimator.\nMust be at least 0.100 sat/vB higher than the current transaction fee rate.\nWARNING: before version 0.21, fee_rate was in BTC/kvB. As of 0.21, fee_rate is in sat/vB.\n"
},
"replaceable": {
"type": "boolean",
"description": "Whether the new transaction should be\nmarked bip-125 replaceable. If true, the sequence numbers in the transaction will\nbe set to 0xfffffffd. If false, any input sequence numbers in the\ntransaction will be set to 0xfffffffe\nso the new transaction will not be explicitly bip-125 replaceable (though it may\nstill be replaceable in practice, for example if it has unconfirmed ancestors which\nare replaceable).\n"
},
"estimate_mode": {
"type": "string",
"description": "The fee estimate mode, must be one of (case insensitive):\nunset, economical, conservative \nunset means no mode set (economical mode is used if the transaction is replaceable;\notherwise, conservative mode is used). \neconomical estimates use a shorter time horizon, making them more\nresponsive to short-term drops in the prevailing fee market. This mode\npotentially returns a lower fee rate estimate.\nconservative estimates use a longer time horizon, making them\nless responsive to short-term drops in the prevailing fee market. This mode\npotentially returns a higher fee rate estimate.\n"
},
"outputs": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
},
{
"type": "object",
"properties": {
"data": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "A key-value pair. The key must be \"data\", the value is hex-encoded data that becomes a part of an OP_RETURN output"
}
},
"additionalProperties": false,
"required": [
"data"
]
}
]
},
"description": "The outputs specified as key-value pairs.\nEach key may only appear once, i.e. there can only be one 'data' output, and no address may be duplicated.\nAt least one output of either type must be specified.\nCannot be provided if 'original_change_index' is specified."
},
"original_change_index": {
"type": "number",
"description": "The 0-based index of the change output on the original transaction. The indicated output will be recycled into the new change output on the bumped transaction. The remainder after paying the recipients and fees will be sent to the output script of the original change output. The change output’s amount can increase if bumping the transaction adds new inputs, otherwise it will decrease. Cannot be used in combination with the 'outputs' option."
}
},
"additionalProperties": false
}
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The id of the new transaction."
},
"origfee": {
"type": "string",
"description": "The fee of the replaced transaction."
},
"fee": {
"type": "string",
"description": "The fee of the new transaction."
},
"errors": {
"type": "array",
"items": {
"type": "string"
},
"description": "Errors encountered during processing (may be empty)."
}
},
"additionalProperties": false,
"required": [
"txid",
"origfee",
"fee",
"errors"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "clearbanned",
"description": "Clear all banned IPs.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "null"
}
},
"x-bitcoin-category": "network"
},
{
"name": "combinepsbt",
"description": "Combine multiple partially signed Bitcoin transactions into one transaction.\nImplements the Combiner role.",
"params": [
{
"name": "txs",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"description": "The base64 strings of partially signed transactions"
}
],
"result": {
"name": "result",
"schema": {
"type": "string"
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "combinerawtransaction",
"description": "Combine multiple partially signed transactions into one transaction.\nThe combined transaction may be another partially signed transaction or a \nfully signed transaction.",
"params": [
{
"name": "txs",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"description": "The hex strings of partially signed transactions"
}
],
"result": {
"name": "result",
"schema": {
"type": "string"
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "converttopsbt",
"description": "Converts a network serialized transaction to a PSBT. This should be used only with createrawtransaction and fundrawtransaction\ncreatepsbt and walletcreatefundedpsbt should be used for new applications.",
"params": [
{
"name": "hexstring",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The hex string of a raw transaction"
},
{
"name": "permitsigdata",
"required": false,
"schema": {
"type": "boolean"
},
"description": "If true, any signatures in the input will be discarded and conversion\n will continue. If false, RPC will fail if any signatures are present."
},
{
"name": "iswitness",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Whether the transaction hex is a serialized witness transaction.\nIf iswitness is not present, heuristic tests will be used in decoding.\nIf true, only witness deserialization will be tried.\nIf false, only non-witness deserialization will be tried.\nThis boolean should reflect whether the transaction has inputs\n(e.g. fully valid, or on-chain transactions), if known by the caller."
}
],
"result": {
"name": "result",
"schema": {
"type": "string"
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "createmultisig",
"description": "Creates a multi-signature address with n signatures of m keys required.\nIt returns a json object with the address and redeemScript.",
"params": [
{
"name": "nrequired",
"required": true,
"schema": {
"type": "number"
},
"description": "The number of required signatures out of the m keys."
},
{
"name": "keys",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"description": "The hex-encoded public keys."
},
{
"name": "address_type",
"required": false,
"schema": {
"type": "string"
},
"description": "The address type to use. Options are \"legacy\", \"p2sh-segwit\", and \"bech32\"."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "The value of the new multisig address."
},
"redeemScript": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The string value of the hex-encoded redemption script."
},
"descriptor": {
"type": "string",
"description": "The descriptor for this multisig"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"description": "Any warnings resulting from the creation of this multisig"
}
},
"additionalProperties": false,
"required": [
"address",
"redeemScript",
"descriptor"
]
}
},
"x-bitcoin-category": "util"
},
{
"name": "createpsbt",
"description": "Creates a transaction in the Partially Signed Transaction format.\nImplements the Creator role.\nNote that the transaction's inputs are not signed, and\nit is not stored in the wallet or transmitted to the network.",
"params": [
{
"name": "inputs",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id"
},
"vout": {
"type": "number",
"description": "The output number"
},
"sequence": {
"type": "number",
"description": "The sequence number"
}
},
"additionalProperties": false,
"required": [
"txid",
"vout"
]
}
},
"description": "The inputs"
},
{
"name": "outputs",
"required": true,
"schema": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
},
{
"type": "object",
"properties": {
"data": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "A key-value pair. The key must be \"data\", the value is hex-encoded data that becomes a part of an OP_RETURN output"
}
},
"additionalProperties": false,
"required": [
"data"
]
}
]
}
},
"description": "The outputs specified as key-value pairs.\nEach key may only appear once, i.e. there can only be one 'data' output, and no address may be duplicated.\nAt least one output of either type must be specified.\nFor compatibility reasons, a dictionary, which holds the key-value pairs directly, is also\n accepted as second parameter."
},
{
"name": "locktime",
"required": false,
"schema": {
"type": "number"
},
"description": "Raw locktime. Non-0 value also locktime-activates inputs"
},
{
"name": "replaceable",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Marks this transaction as BIP125-replaceable.\nAllows this transaction to be replaced by a transaction with higher fees. If provided, it is an error if explicit sequence numbers are incompatible."
},
{
"name": "version",
"required": false,
"schema": {
"type": "number"
},
"description": "Transaction version"
}
],
"result": {
"name": "result",
"schema": {
"type": "string"
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "createrawtransaction",
"description": "Create a transaction spending the given inputs and creating new outputs.\nOutputs can be addresses or data.\nReturns hex-encoded raw transaction.\nNote that the transaction's inputs are not signed, and\nit is not stored in the wallet or transmitted to the network.",
"params": [
{
"name": "inputs",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id"
},
"vout": {
"type": "number",
"description": "The output number"
},
"sequence": {
"type": "number",
"description": "The sequence number"
}
},
"additionalProperties": false,
"required": [
"txid",
"vout"
]
}
},
"description": "The inputs"
},
{
"name": "outputs",
"required": true,
"schema": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
},
{
"type": "object",
"properties": {
"data": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "A key-value pair. The key must be \"data\", the value is hex-encoded data that becomes a part of an OP_RETURN output"
}
},
"additionalProperties": false,
"required": [
"data"
]
}
]
}
},
"description": "The outputs specified as key-value pairs.\nEach key may only appear once, i.e. there can only be one 'data' output, and no address may be duplicated.\nAt least one output of either type must be specified.\nFor compatibility reasons, a dictionary, which holds the key-value pairs directly, is also\n accepted as second parameter."
},
{
"name": "locktime",
"required": false,
"schema": {
"type": "number"
},
"description": "Raw locktime. Non-0 value also locktime-activates inputs"
},
{
"name": "replaceable",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Marks this transaction as BIP125-replaceable.\nAllows this transaction to be replaced by a transaction with higher fees. If provided, it is an error if explicit sequence numbers are incompatible."
},
{
"name": "version",
"required": false,
"schema": {
"type": "number"
},
"description": "Transaction version"
}
],
"result": {
"name": "result",
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "createwallet",
"description": "Creates and loads a new wallet.",
"params": [
{
"name": "wallet_name",
"required": true,
"schema": {
"type": "string"
},
"description": "The name for the new wallet. If this is a path, the wallet will be created at the path location."
},
{
"name": "disable_private_keys",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Disable the possibility of private keys (only watchonlys are possible in this mode)."
},
{
"name": "blank",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Create a blank wallet. A blank wallet has no keys."
},
{
"name": "passphrase",
"required": false,
"schema": {
"type": "string"
},
"description": "Encrypt the wallet with this passphrase."
},
{
"name": "avoid_reuse",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Keep track of coin reuse, and treat dirty and clean coins differently with privacy considerations in mind."
},
{
"name": "descriptors",
"required": false,
"schema": {
"type": "boolean"
},
"description": "If set, must be \"true\""
},
{
"name": "load_on_startup",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Save wallet name to persistent settings and load on startup. True to add wallet to startup list, false to remove, null to leave unchanged."
},
{
"name": "external_signer",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Use an external signer such as a hardware wallet. Requires -signer to be configured. Wallet creation will fail if keys cannot be fetched. Requires disable_private_keys and descriptors set to true."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The wallet name if created successfully. If the wallet was created using a full path, the wallet_name will be the full path."
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"description": "Warning messages, if any, related to creating and loading the wallet."
}
},
"additionalProperties": false,
"required": [
"name"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "createwalletdescriptor",
"description": "Creates the wallet's descriptor for the given address type. The address type must be one that the wallet does not already have a descriptor for.\nRequires wallet passphrase to be set with walletpassphrase call if wallet is encrypted.",
"params": [
{
"name": "type",
"required": true,
"schema": {
"type": "string"
},
"description": "The address type the descriptor will produce. Options are \"legacy\", \"p2sh-segwit\", \"bech32\", \"bech32m\"."
},
{
"name": "options",
"required": false,
"schema": {
"type": "object",
"properties": {
"internal": {
"type": "boolean",
"description": "Whether to only make one descriptor that is internal (if parameter is true) or external (if parameter is false)"
},
"hdkey": {
"type": "string",
"description": "The HD key that the wallet knows the private key of, listed using 'gethdkeys', to use for this descriptor's key"
}
},
"additionalProperties": false
}
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"descs": {
"type": "array",
"items": {
"type": "string"
},
"description": "The public descriptors that were added to the wallet"
}
},
"additionalProperties": false,
"required": [
"descs"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "decodepsbt",
"description": "Return a JSON object representing the serialized, base64-encoded partially signed Bitcoin transaction.",
"params": [
{
"name": "psbt",
"required": true,
"schema": {
"type": "string"
},
"description": "The PSBT base64 string"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"tx": {
"type": "object",
"properties": {
},
"additionalProperties": true,
"description": "The decoded network-serialized unsigned transaction."
},
"global_xpubs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"xpub": {
"type": "string",
"description": "The extended public key this path corresponds to"
},
"master_fingerprint": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The fingerprint of the master key"
},
"path": {
"type": "string",
"description": "The path"
}
},
"additionalProperties": false,
"required": [
"xpub",
"master_fingerprint",
"path"
]
}
},
"psbt_version": {
"type": "number",
"description": "The PSBT version number. Not to be confused with the unsigned transaction version"
},
"proprietary": {
"type": "array",
"items": {
"type": "object",
"properties": {
"identifier": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex string for the proprietary identifier"
},
"subtype": {
"type": "number",
"description": "The number for the subtype"
},
"key": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex for the key"
},
"value": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex for the value"
}
},
"additionalProperties": false,
"required": [
"identifier",
"subtype",
"key",
"value"
]
},
"description": "The global proprietary map"
},
"unknown": {
"type": "object",
"additionalProperties": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The unknown global fields"
},
"inputs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"non_witness_utxo": {
"type": "object",
"properties": {
},
"additionalProperties": true,
"description": "Decoded network transaction for non-witness UTXOs"
},
"witness_utxo": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"description": "The value in BTC"
},
"scriptPubKey": {
"type": "object",
"properties": {
"asm": {
"type": "string",
"description": "Disassembly of the output script"
},
"desc": {
"type": "string",
"description": "Inferred descriptor for the output"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The raw output script bytes, hex-encoded"
},
"type": {
"type": "string",
"description": "The type, eg 'pubkeyhash'"
},
"address": {
"type": "string",
"description": "The Bitcoin address (only if a well-defined address exists)"
}
},
"additionalProperties": false,
"required": [
"asm",
"desc",
"hex",
"type"
]
}
},
"additionalProperties": false,
"required": [
"amount",
"scriptPubKey"
],
"description": "Transaction output for witness UTXOs"
},
"partial_signatures": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"sighash": {
"type": "string",
"description": "The sighash type to be used"
},
"redeem_script": {
"type": "object",
"properties": {
"asm": {
"type": "string",
"description": "Disassembly of the redeem script"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The raw redeem script bytes, hex-encoded"
},
"type": {
"type": "string",
"description": "The type, eg 'pubkeyhash'"
}
},
"additionalProperties": false,
"required": [
"asm",
"hex",
"type"
]
},
"witness_script": {
"type": "object",
"properties": {
"asm": {
"type": "string",
"description": "Disassembly of the witness script"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The raw witness script bytes, hex-encoded"
},
"type": {
"type": "string",
"description": "The type, eg 'pubkeyhash'"
}
},
"additionalProperties": false,
"required": [
"asm",
"hex",
"type"
]
},
"bip32_derivs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pubkey": {
"type": "string",
"description": "The public key with the derivation path as the value."
},
"master_fingerprint": {
"type": "string",
"description": "The fingerprint of the master key"
},
"path": {
"type": "string",
"description": "The path"
}
},
"additionalProperties": false,
"required": [
"pubkey",
"master_fingerprint",
"path"
]
}
},
"final_scriptSig": {
"type": "object",
"properties": {
"asm": {
"type": "string",
"description": "Disassembly of the final signature script"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The raw final signature script bytes, hex-encoded"
}
},
"additionalProperties": false,
"required": [
"asm",
"hex"
]
},
"final_scriptwitness": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"ripemd160_preimages": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"sha256_preimages": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"hash160_preimages": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"hash256_preimages": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"taproot_key_path_sig": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "hex-encoded signature for the Taproot key path spend"
},
"taproot_script_path_sigs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pubkey": {
"type": "string",
"description": "The x-only pubkey for this signature"
},
"leaf_hash": {
"type": "string",
"description": "The leaf hash for this signature"
},
"sig": {
"type": "string",
"description": "The signature itself"
}
},
"additionalProperties": false,
"required": [
"pubkey",
"leaf_hash",
"sig"
]
}
},
"taproot_scripts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"script": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "A leaf script"
},
"leaf_ver": {
"type": "number",
"description": "The version number for the leaf script"
},
"control_blocks": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The control blocks for this script"
}
},
"additionalProperties": false,
"required": [
"script",
"leaf_ver",
"control_blocks"
]
}
},
"taproot_bip32_derivs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pubkey": {
"type": "string",
"description": "The x-only public key this path corresponds to"
},
"master_fingerprint": {
"type": "string",
"description": "The fingerprint of the master key"
},
"path": {
"type": "string",
"description": "The path"
},
"leaf_hashes": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The hashes of the leaves this pubkey appears in"
}
},
"additionalProperties": false,
"required": [
"pubkey",
"master_fingerprint",
"path",
"leaf_hashes"
]
}
},
"taproot_internal_key": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex-encoded Taproot x-only internal key"
},
"taproot_merkle_root": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex-encoded Taproot merkle root"
},
"musig2_participant_pubkeys": {
"type": "array",
"items": {
"type": "object",
"properties": {
"aggregate_pubkey": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The compressed aggregate public key for which the participants create."
},
"participant_pubkeys": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
}
},
"additionalProperties": false,
"required": [
"aggregate_pubkey",
"participant_pubkeys"
]
}
},
"musig2_pubnonces": {
"type": "array",
"items": {
"type": "object",
"properties": {
"participant_pubkey": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The compressed public key of the participant that created this pubnonce."
},
"aggregate_pubkey": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The compressed aggregate public key for which this pubnonce is for."
},
"leaf_hash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hash of the leaf script that contains the aggregate pubkey being signed for. Omitted when signing for the internal key."
},
"pubnonce": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The public nonce itself."
}
},
"additionalProperties": false,
"required": [
"participant_pubkey",
"aggregate_pubkey",
"pubnonce"
]
}
},
"musig2_partial_sigs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"participant_pubkey": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The compressed public key of the participant that created this partial signature."
},
"aggregate_pubkey": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The compressed aggregate public key for which this partial signature is for."
},
"leaf_hash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hash of the leaf script that contains the aggregate pubkey being signed for. Omitted when signing for the internal key."
},
"partial_sig": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The partial signature itself."
}
},
"additionalProperties": false,
"required": [
"participant_pubkey",
"aggregate_pubkey",
"partial_sig"
]
}
},
"unknown": {
"type": "object",
"additionalProperties": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The unknown input fields"
},
"proprietary": {
"type": "array",
"items": {
"type": "object",
"properties": {
"identifier": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex string for the proprietary identifier"
},
"subtype": {
"type": "number",
"description": "The number for the subtype"
},
"key": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex for the key"
},
"value": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex for the value"
}
},
"additionalProperties": false,
"required": [
"identifier",
"subtype",
"key",
"value"
]
},
"description": "The input proprietary map"
}
},
"additionalProperties": false
}
},
"outputs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"redeem_script": {
"type": "object",
"properties": {
"asm": {
"type": "string",
"description": "Disassembly of the redeem script"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The raw redeem script bytes, hex-encoded"
},
"type": {
"type": "string",
"description": "The type, eg 'pubkeyhash'"
}
},
"additionalProperties": false,
"required": [
"asm",
"hex",
"type"
]
},
"witness_script": {
"type": "object",
"properties": {
"asm": {
"type": "string",
"description": "Disassembly of the witness script"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The raw witness script bytes, hex-encoded"
},
"type": {
"type": "string",
"description": "The type, eg 'pubkeyhash'"
}
},
"additionalProperties": false,
"required": [
"asm",
"hex",
"type"
]
},
"bip32_derivs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pubkey": {
"type": "string",
"description": "The public key this path corresponds to"
},
"master_fingerprint": {
"type": "string",
"description": "The fingerprint of the master key"
},
"path": {
"type": "string",
"description": "The path"
}
},
"additionalProperties": false,
"required": [
"pubkey",
"master_fingerprint",
"path"
]
}
},
"taproot_internal_key": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex-encoded Taproot x-only internal key"
},
"taproot_tree": {
"type": "array",
"items": {
"type": "object",
"properties": {
"depth": {
"type": "number",
"description": "The depth of this element in the tree"
},
"leaf_ver": {
"type": "number",
"description": "The version of this leaf"
},
"script": {
"type": "string",
"description": "The hex-encoded script itself"
}
},
"additionalProperties": false,
"required": [
"depth",
"leaf_ver",
"script"
]
},
"description": "The tuples that make up the Taproot tree, in depth first search order"
},
"taproot_bip32_derivs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pubkey": {
"type": "string",
"description": "The x-only public key this path corresponds to"
},
"master_fingerprint": {
"type": "string",
"description": "The fingerprint of the master key"
},
"path": {
"type": "string",
"description": "The path"
},
"leaf_hashes": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The hashes of the leaves this pubkey appears in"
}
},
"additionalProperties": false,
"required": [
"pubkey",
"master_fingerprint",
"path",
"leaf_hashes"
]
}
},
"musig2_participant_pubkeys": {
"type": "array",
"items": {
"type": "object",
"properties": {
"aggregate_pubkey": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The compressed aggregate public key for which the participants create."
},
"participant_pubkeys": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
}
},
"additionalProperties": false,
"required": [
"aggregate_pubkey",
"participant_pubkeys"
]
}
},
"unknown": {
"type": "object",
"additionalProperties": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The unknown output fields"
},
"proprietary": {
"type": "array",
"items": {
"type": "object",
"properties": {
"identifier": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex string for the proprietary identifier"
},
"subtype": {
"type": "number",
"description": "The number for the subtype"
},
"key": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex for the key"
},
"value": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex for the value"
}
},
"additionalProperties": false,
"required": [
"identifier",
"subtype",
"key",
"value"
]
},
"description": "The output proprietary map"
}
},
"additionalProperties": false
}
},
"fee": {
"type": "string",
"description": "The transaction fee paid if all UTXOs slots in the PSBT have been filled."
}
},
"additionalProperties": false,
"required": [
"tx",
"global_xpubs",
"psbt_version",
"proprietary",
"unknown",
"inputs",
"outputs"
]
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "decoderawtransaction",
"description": "Return a JSON object representing the serialized, hex-encoded transaction.",
"params": [
{
"name": "hexstring",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The transaction hex string"
},
{
"name": "iswitness",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Whether the transaction hex is a serialized witness transaction.\nIf iswitness is not present, heuristic tests will be used in decoding.\nIf true, only witness deserialization will be tried.\nIf false, only non-witness deserialization will be tried.\nThis boolean should reflect whether the transaction has inputs\n(e.g. fully valid, or on-chain transactions), if known by the caller."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id"
},
"hash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction hash (differs from txid for witness transactions)"
},
"size": {
"type": "number",
"description": "The serialized transaction size"
},
"vsize": {
"type": "number",
"description": "The virtual transaction size (differs from size for witness transactions)"
},
"weight": {
"type": "number",
"description": "The transaction's weight (between vsize*4-3 and vsize*4)"
},
"version": {
"type": "number",
"description": "The version"
},
"locktime": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The lock time"
},
"vin": {
"type": "array",
"items": {
"type": "object",
"properties": {
"coinbase": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The coinbase value (only if coinbase transaction)"
},
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id (if not coinbase transaction)"
},
"vout": {
"type": "number",
"description": "The output number (if not coinbase transaction)"
},
"scriptSig": {
"type": "object",
"properties": {
"asm": {
"type": "string",
"description": "Disassembly of the signature script"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The raw signature script bytes, hex-encoded"
}
},
"additionalProperties": false,
"required": [
"asm",
"hex"
],
"description": "The script (if not coinbase transaction)"
},
"txinwitness": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"sequence": {
"type": "number",
"description": "The script sequence number"
}
},
"additionalProperties": false,
"required": [
"sequence"
]
}
},
"vout": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The value in BTC"
},
"n": {
"type": "number",
"description": "index"
},
"scriptPubKey": {
"type": "object",
"properties": {
"asm": {
"type": "string",
"description": "Disassembly of the output script"
},
"desc": {
"type": "string",
"description": "Inferred descriptor for the output"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The raw output script bytes, hex-encoded"
},
"address": {
"type": "string",
"description": "The Bitcoin address (only if a well-defined address exists)"
},
"type": {
"type": "string",
"description": "The type (one of: nonstandard, anchor, pubkey, pubkeyhash, scripthash, multisig, nulldata, witness_v0_scripthash, witness_v0_keyhash, witness_v1_taproot, witness_unknown)"
}
},
"additionalProperties": false,
"required": [
"asm",
"desc",
"hex",
"type"
]
}
},
"additionalProperties": false,
"required": [
"value",
"n",
"scriptPubKey"
]
}
}
},
"additionalProperties": false,
"required": [
"txid",
"hash",
"size",
"vsize",
"weight",
"version",
"locktime",
"vin",
"vout"
]
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "decodescript",
"description": "Decode a hex-encoded script.",
"params": [
{
"name": "hexstring",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "the hex-encoded script"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"asm": {
"type": "string",
"description": "Disassembly of the script"
},
"desc": {
"type": "string",
"description": "Inferred descriptor for the script"
},
"type": {
"type": "string",
"description": "The output type (e.g. nonstandard, anchor, pubkey, pubkeyhash, scripthash, multisig, nulldata, witness_v0_scripthash, witness_v0_keyhash, witness_v1_taproot, witness_unknown)"
},
"address": {
"type": "string",
"description": "The Bitcoin address (only if a well-defined address exists)"
},
"p2sh": {
"type": "string",
"description": "address of P2SH script wrapping this redeem script (not returned for types that should not be wrapped)"
},
"segwit": {
"type": "object",
"properties": {
"asm": {
"type": "string",
"description": "Disassembly of the output script"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The raw output script bytes, hex-encoded"
},
"type": {
"type": "string",
"description": "The type of the output script (e.g. witness_v0_keyhash or witness_v0_scripthash)"
},
"address": {
"type": "string",
"description": "The Bitcoin address (only if a well-defined address exists)"
},
"desc": {
"type": "string",
"description": "Inferred descriptor for the script"
},
"p2sh-segwit": {
"type": "string",
"description": "address of the P2SH script wrapping this witness redeem script"
}
},
"additionalProperties": false,
"required": [
"asm",
"hex",
"type",
"desc",
"p2sh-segwit"
],
"description": "Result of a witness output script wrapping this redeem script (not returned for types that should not be wrapped)"
}
},
"additionalProperties": false,
"required": [
"asm",
"desc",
"type"
]
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "deriveaddresses",
"description": "Derives one or more addresses corresponding to an output descriptor.\nExamples of output descriptors are:\n pkh(<pubkey>) P2PKH outputs for the given pubkey\n wpkh(<pubkey>) Native segwit P2PKH outputs for the given pubkey\n sh(multi(<n>,<pubkey>,<pubkey>,...)) P2SH-multisig outputs for the given threshold and pubkeys\n raw(<hex script>) Outputs whose output script equals the specified hex-encoded bytes\n tr(<pubkey>,multi_a(<n>,<pubkey>,<pubkey>,...)) P2TR-multisig outputs for the given threshold and pubkeys\n\nIn the above, <pubkey> either refers to a fixed public key in hexadecimal notation, or to an xpub/xprv optionally followed by one\nor more path elements separated by \"/\", where \"h\" represents a hardened child key.\nFor more information on output descriptors, see the documentation in the doc/descriptors.md file.",
"params": [
{
"name": "descriptor",
"required": true,
"schema": {
"type": "string"
},
"description": "The descriptor."
},
{
"name": "range",
"required": false,
"schema": {
"oneOf": [
{
"type": "number"
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"minItems": 2,
"maxItems": 2
}
]
},
"description": "If a ranged descriptor is used, this specifies the end or the range (in [begin,end] notation) to derive."
}
],
"result": {
"name": "result",
"schema": {
"oneOf": [
{
"type": "array",
"items": {
"type": "string"
},
"description": "for single derivation descriptors"
},
{
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
},
"description": "for multipath descriptors"
}
]
}
},
"x-bitcoin-category": "util"
},
{
"name": "descriptorprocesspsbt",
"description": "Update all segwit inputs in a PSBT with information from output descriptors, the UTXO set or the mempool. \nThen, sign the inputs we are able to with information from the output descriptors.",
"params": [
{
"name": "psbt",
"required": true,
"schema": {
"type": "string"
},
"description": "The transaction base64 string"
},
{
"name": "descriptors",
"required": true,
"schema": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"desc": {
"type": "string",
"description": "An output descriptor"
},
"range": {
"oneOf": [
{
"type": "number"
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"minItems": 2,
"maxItems": 2
}
],
"description": "Up to what index HD chains should be explored (either end or [begin,end])"
}
},
"additionalProperties": false,
"required": [
"desc"
]
}
]
}
},
"description": "An array of either strings or objects"
},
{
"name": "sighashtype",
"required": false,
"schema": {
"type": "string"
},
"description": "The signature hash type to sign with if not specified by the PSBT. Must be one of\n \"DEFAULT\"\n \"ALL\"\n \"NONE\"\n \"SINGLE\"\n \"ALL|ANYONECANPAY\"\n \"NONE|ANYONECANPAY\"\n \"SINGLE|ANYONECANPAY\""
},
{
"name": "bip32derivs",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Include BIP 32 derivation paths for public keys if we know them"
},
{
"name": "finalize",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Also finalize inputs if possible"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"psbt": {
"type": "string",
"description": "The base64-encoded partially signed transaction"
},
"complete": {
"type": "boolean",
"description": "If the transaction has a complete set of signatures"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex-encoded network transaction if complete"
}
},
"additionalProperties": false,
"required": [
"psbt",
"complete"
]
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "disconnectnode",
"description": "Immediately disconnects from the specified peer node.\n\nStrictly one out of 'address' and 'nodeid' can be provided to identify the node.\n\nTo disconnect by nodeid, either set 'address' to the empty string, or call using the named 'nodeid' argument only.",
"params": [
{
"name": "address",
"required": false,
"schema": {
"type": "string"
},
"description": "The IP address/port of the node"
},
{
"name": "nodeid",
"required": false,
"schema": {
"type": "number"
},
"description": "The node ID (see getpeerinfo for node IDs)"
}
],
"result": {
"name": "result",
"schema": {
"type": "null"
}
},
"x-bitcoin-category": "network"
},
{
"name": "dumptxoutset",
"description": "Write the serialized UTXO set to a file. This can be used in loadtxoutset afterwards if this snapshot height is supported in the chainparams as well.\n\nUnless the \"latest\" type is requested, the node will roll back to the requested height and network activity will be suspended during this process. Because of this it is discouraged to interact with the node in any other way during the execution of this call to avoid inconsistent results and race conditions, particularly RPCs that interact with blockstorage.\n\nThis call may take several minutes. Make sure to use no RPC timeout (bitcoin-cli -rpcclienttimeout=0)",
"params": [
{
"name": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "Path to the output file. If relative, will be prefixed by datadir."
},
{
"name": "type",
"required": false,
"schema": {
"type": "string"
},
"description": "The type of snapshot to create. Can be \"latest\" to create a snapshot of the current UTXO set or \"rollback\" to temporarily roll back the state of the node to a historical block before creating the snapshot of a historical UTXO set. This parameter can be omitted if a separate \"rollback\" named parameter is specified indicating the height or hash of a specific historical block. If \"rollback\" is specified and separate \"rollback\" named parameter is not specified, this will roll back to the latest valid snapshot block that can currently be loaded with loadtxoutset."
},
{
"name": "options",
"required": false,
"schema": {
"type": "object",
"properties": {
"rollback": {
"type": "number",
"description": "Height or hash of the block to roll back to before creating the snapshot. Note: The further this number is from the tip, the longer this process will take. Consider setting a higher -rpcclienttimeout value in this case.",
"x-bitcoin-type-str": [
"",
"string or numeric"
]
}
},
"additionalProperties": false
}
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"coins_written": {
"type": "number",
"description": "the number of coins written in the snapshot"
},
"base_hash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "the hash of the base of the snapshot"
},
"base_height": {
"type": "number",
"description": "the height of the base of the snapshot"
},
"path": {
"type": "string",
"description": "the absolute path that the snapshot was written to"
},
"txoutset_hash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "the hash of the UTXO set contents"
},
"nchaintx": {
"type": "number",
"description": "the number of transactions in the chain up to and including the base block"
}
},
"additionalProperties": false,
"required": [
"coins_written",
"base_hash",
"base_height",
"path",
"txoutset_hash",
"nchaintx"
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "encryptwallet",
"description": "Encrypts the wallet with 'passphrase'. This is for first time encryption.\nAfter this, any calls that interact with private keys such as sending or signing \nwill require the passphrase to be set prior to making these calls.\nUse the walletpassphrase call for this, and then walletlock call.\nIf the wallet is already encrypted, use the walletpassphrasechange call.\n** IMPORTANT **\nFor security reasons, the encryption process will generate a new HD seed, resulting\nin the creation of a fresh set of active descriptors. Therefore, it is crucial to\nsecurely back up the newly generated wallet file using the backupwallet RPC.",
"params": [
{
"name": "passphrase",
"required": true,
"schema": {
"type": "string"
},
"description": "The pass phrase to encrypt the wallet with. It must be at least 1 character, but should be long."
}
],
"result": {
"name": "result",
"schema": {
"type": "string"
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "enumeratesigners",
"description": "Returns a list of external signers from -signer.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"signers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fingerprint": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "Master key fingerprint"
},
"name": {
"type": "string",
"description": "Device name"
}
},
"additionalProperties": false,
"required": [
"fingerprint",
"name"
]
}
}
},
"additionalProperties": false,
"required": [
"signers"
]
}
},
"x-bitcoin-category": "signer"
},
{
"name": "estimatesmartfee",
"description": "Estimates the approximate fee per kilobyte needed for a transaction to begin\nconfirmation within conf_target blocks if possible and return the number of blocks\nfor which the estimate is valid. Uses virtual transaction size as defined\nin BIP 141 (witness data is discounted).",
"params": [
{
"name": "conf_target",
"required": true,
"schema": {
"type": "number"
},
"description": "Confirmation target in blocks (1 - 1008)"
},
{
"name": "estimate_mode",
"required": false,
"schema": {
"type": "string"
},
"description": "The fee estimate mode.\nunset, economical, conservative \nunset means no mode set (default mode will be used). \neconomical estimates use a shorter time horizon, making them more\nresponsive to short-term drops in the prevailing fee market. This mode\npotentially returns a lower fee rate estimate.\nconservative estimates use a longer time horizon, making them\nless responsive to short-term drops in the prevailing fee market. This mode\npotentially returns a higher fee rate estimate.\n"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"feerate": {
"type": "number",
"description": "estimate fee rate in BTC/kvB (only present if no errors were encountered)"
},
"errors": {
"type": "array",
"items": {
"type": "string"
},
"description": "Errors encountered during processing (if there are any)"
},
"blocks": {
"type": "number",
"description": "block number where estimate was found\nThe request target will be clamped between 2 and the highest target\nfee estimation is able to return based on how long it has been running.\nAn error is returned if not enough transactions and blocks\nhave been observed to make an estimate for any number of blocks."
}
},
"additionalProperties": false,
"required": [
"blocks"
]
}
},
"x-bitcoin-category": "util"
},
{
"name": "finalizepsbt",
"description": "Finalize the inputs of a PSBT. If the transaction is fully signed, it will produce a\nnetwork serialized transaction which can be broadcast with sendrawtransaction. Otherwise a PSBT will be\ncreated which has the final_scriptSig and final_scriptwitness fields filled for inputs that are complete.\nImplements the Finalizer and Extractor roles.",
"params": [
{
"name": "psbt",
"required": true,
"schema": {
"type": "string"
},
"description": "A base64 string of a PSBT"
},
{
"name": "extract",
"required": false,
"schema": {
"type": "boolean"
},
"description": "If true and the transaction is complete,\n extract and return the complete transaction in normal network serialization instead of the PSBT."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"psbt": {
"type": "string",
"description": "The base64-encoded partially signed transaction if not extracted"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex-encoded network transaction if extracted"
},
"complete": {
"type": "boolean",
"description": "If the transaction has a complete set of signatures"
}
},
"additionalProperties": false,
"required": [
"complete"
]
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "fundrawtransaction",
"description": "If the transaction has no inputs, they will be automatically selected to meet its out value.\nIt will add at most one change output to the outputs.\nNo existing outputs will be modified unless \"subtractFeeFromOutputs\" is specified.\nNote that inputs which were signed may need to be resigned after completion since in/outputs have been added.\nThe inputs added will not be signed, use signrawtransactionwithkey\nor signrawtransactionwithwallet for that.\nAll existing inputs must either have their previous output transaction be in the wallet\nor be in the UTXO set. Solving data must be provided for non-wallet inputs.\nNote that all inputs selected must be of standard form and P2SH scripts must be\nin the wallet using importdescriptors (to calculate fees).\nYou can see whether this is the case by checking the \"solvable\" field in the listunspent output.\nNote that if specifying an exact fee rate, the resulting transaction may have a higher fee rate\nif the transaction has unconfirmed inputs. This is because the wallet will attempt to make the\nentire package have the given fee rate, not the resulting transaction.",
"params": [
{
"name": "hexstring",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The hex string of the raw transaction"
},
{
"name": "options",
"required": false,
"schema": {
"type": "object",
"properties": {
"add_inputs": {
"type": "boolean",
"description": "For a transaction with existing inputs, automatically include more if they are not enough."
},
"include_unsafe": {
"type": "boolean",
"description": "Include inputs that are not safe to spend (unconfirmed transactions from outside keys and unconfirmed replacement transactions).\nWarning: the resulting transaction may become invalid if one of the unsafe inputs disappears.\nIf that happens, you will need to fund the transaction with different inputs and republish it."
},
"minconf": {
"type": "number",
"description": "If add_inputs is specified, require inputs with at least this many confirmations."
},
"maxconf": {
"type": "number",
"description": "If add_inputs is specified, require inputs with at most this many confirmations."
},
"changeAddress": {
"type": "string",
"description": "The bitcoin address to receive the change"
},
"changePosition": {
"type": "number",
"description": "The index of the change output"
},
"change_type": {
"type": "string",
"description": "The output type to use. Only valid if changeAddress is not specified. Options are \"legacy\", \"p2sh-segwit\", \"bech32\", \"bech32m\"."
},
"includeWatching": {
"type": "boolean",
"description": "(DEPRECATED) No longer used"
},
"lockUnspents": {
"type": "boolean",
"description": "Lock selected unspent outputs"
},
"fee_rate": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Specify a fee rate in sat/vB."
},
"feeRate": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Specify a fee rate in BTC/kvB."
},
"subtractFeeFromOutputs": {
"type": "array",
"items": {
"type": "number"
},
"description": "The integers.\nThe fee will be equally deducted from the amount of each specified output.\nThose recipients will receive less bitcoins than you enter in their corresponding amount field.\nIf no outputs are specified here, the sender pays the fee."
},
"input_weights": {
"type": "array",
"items": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id"
},
"vout": {
"type": "number",
"description": "The output index"
},
"weight": {
"type": "number",
"description": "The maximum weight for this input, including the weight of the outpoint and sequence number. Note that serialized signature sizes are not guaranteed to be consistent, so the maximum DER signatures size of 73 bytes should be used when considering ECDSA signatures.Remember to convert serialized sizes to weight units when necessary."
}
},
"additionalProperties": false,
"required": [
"txid",
"vout",
"weight"
]
},
"description": "Inputs and their corresponding weights"
},
"max_tx_weight": {
"type": "number",
"description": "The maximum acceptable transaction weight.\nTransaction building will fail if this can not be satisfied."
},
"conf_target": {
"type": "number",
"description": "Confirmation target in blocks",
"x-bitcoin-also-positional": true
},
"estimate_mode": {
"type": "string",
"description": "The fee estimate mode, must be one of (case insensitive):\nunset, economical, conservative \nunset means no mode set (economical mode is used if the transaction is replaceable;\notherwise, conservative mode is used). \neconomical estimates use a shorter time horizon, making them more\nresponsive to short-term drops in the prevailing fee market. This mode\npotentially returns a lower fee rate estimate.\nconservative estimates use a longer time horizon, making them\nless responsive to short-term drops in the prevailing fee market. This mode\npotentially returns a higher fee rate estimate.\n",
"x-bitcoin-also-positional": true
},
"replaceable": {
"type": "boolean",
"description": "Marks this transaction as BIP125-replaceable.\nAllows this transaction to be replaced by a transaction with higher fees"
},
"solving_data": {
"type": "object",
"properties": {
"pubkeys": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "Public keys involved in this transaction."
},
"scripts": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "Scripts involved in this transaction."
},
"descriptors": {
"type": "array",
"items": {
"type": "string"
},
"description": "Descriptors that provide solving data for this transaction."
}
},
"additionalProperties": false,
"description": "Keys and scripts needed for producing a final transaction with a dummy signature.\nUsed for fee estimation during coin selection."
}
},
"additionalProperties": false
}
},
{
"name": "iswitness",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Whether the transaction hex is a serialized witness transaction.\nIf iswitness is not present, heuristic tests will be used in decoding.\nIf true, only witness deserialization will be tried.\nIf false, only non-witness deserialization will be tried.\nThis boolean should reflect whether the transaction has inputs\n(e.g. fully valid, or on-chain transactions), if known by the caller."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The resulting raw transaction (hex-encoded string)"
},
"fee": {
"type": "string",
"description": "Fee in BTC the resulting transaction pays"
},
"changepos": {
"type": "number",
"description": "The position of the added change output, or -1"
}
},
"additionalProperties": false,
"required": [
"hex",
"fee",
"changepos"
]
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "getaddednodeinfo",
"description": "Returns information about the given added node, or all added nodes\n(note that onetry addnodes are not listed here)",
"params": [
{
"name": "node",
"required": false,
"schema": {
"type": "string"
},
"description": "If provided, return information about this specific node, otherwise all nodes are returned."
}
],
"result": {
"name": "result",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"addednode": {
"type": "string",
"description": "The node IP address or name (as provided to addnode)"
},
"connected": {
"type": "boolean",
"description": "If connected"
},
"addresses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "The bitcoin server IP and port we're connected to"
},
"connected": {
"type": "string",
"description": "connection, inbound or outbound"
}
},
"additionalProperties": false,
"required": [
"address",
"connected"
]
},
"description": "Only when connected = true"
}
},
"additionalProperties": false,
"required": [
"addednode",
"connected",
"addresses"
]
}
}
},
"x-bitcoin-category": "network"
},
{
"name": "getaddressesbylabel",
"description": "Returns the list of addresses assigned the specified label.",
"params": [
{
"name": "label",
"required": true,
"schema": {
"type": "string"
},
"description": "The label."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"purpose": {
"type": "string",
"description": "Purpose of address (\"send\" for sending address, \"receive\" for receiving address)"
}
},
"additionalProperties": false,
"required": [
"purpose"
]
}
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "getaddressinfo",
"description": "Return information about the given bitcoin address.\nSome of the information will only be present if the address is in the active wallet.",
"params": [
{
"name": "address",
"required": true,
"schema": {
"type": "string"
},
"description": "The bitcoin address for which to get information."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "The bitcoin address validated."
},
"scriptPubKey": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex-encoded output script generated by the address."
},
"ismine": {
"type": "boolean",
"description": "If the address is yours."
},
"iswatchonly": {
"type": "boolean",
"description": "(DEPRECATED) Always false."
},
"solvable": {
"type": "boolean",
"description": "If we know how to spend coins sent to this address, ignoring the possible lack of private keys."
},
"desc": {
"type": "string",
"description": "A descriptor for spending coins sent to this address (only when solvable)."
},
"parent_desc": {
"type": "string",
"description": "The descriptor used to derive this address if this is a descriptor wallet"
},
"isscript": {
"type": "boolean",
"description": "If the key is a script."
},
"ischange": {
"type": "boolean",
"description": "If the address was used for change output."
},
"iswitness": {
"type": "boolean",
"description": "If the address is a witness address."
},
"witness_version": {
"type": "number",
"description": "The version number of the witness program."
},
"witness_program": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex value of the witness program."
},
"script": {
"type": "string",
"description": "The output script type. Only if isscript is true and the redeemscript is known. Possible\ntypes: nonstandard, pubkey, pubkeyhash, scripthash, multisig, nulldata, witness_v0_keyhash,\nwitness_v0_scripthash, witness_unknown."
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The redeemscript for the p2sh address."
},
"pubkeys": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of pubkeys associated with the known redeemscript (only if script is multisig)."
},
"sigsrequired": {
"type": "number",
"description": "The number of signatures required to spend multisig output (only if script is multisig)."
},
"pubkey": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex value of the raw public key for single-key addresses (possibly embedded in P2SH or P2WSH)."
},
"embedded": {
"type": "object",
"properties": {
},
"additionalProperties": true,
"description": "Information about the address embedded in P2SH or P2WSH, if relevant and known."
},
"iscompressed": {
"type": "boolean",
"description": "If the pubkey is compressed."
},
"timestamp": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The creation time of the key, if available, expressed in UNIX epoch time."
},
"hdkeypath": {
"type": "string",
"description": "The HD keypath, if the key is HD and available."
},
"hdseedid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The Hash160 of the HD seed."
},
"hdmasterfingerprint": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The fingerprint of the master key."
},
"labels": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of labels associated with the address. Currently limited to one label but returned\nas an array to keep the API stable if multiple labels are enabled in the future."
}
},
"additionalProperties": false,
"required": [
"address",
"scriptPubKey",
"ismine",
"iswatchonly",
"solvable",
"ischange",
"iswitness",
"labels"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "getaddrmaninfo",
"description": "Provides information about the node's address manager by returning the number of addresses in the `new` and `tried` tables and their sum for all networks.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"new": {
"type": "number",
"description": "number of addresses in the new table, which represent potential peers the node has discovered but hasn't yet successfully connected to."
},
"tried": {
"type": "number",
"description": "number of addresses in the tried table, which represent peers the node has successfully connected to in the past."
},
"total": {
"type": "number",
"description": "total number of addresses in both new/tried tables"
}
},
"additionalProperties": false,
"required": [
"new",
"tried",
"total"
]
}
}
},
"x-bitcoin-category": "network"
},
{
"name": "getbalance",
"description": "Returns the total available balance.\nThe available balance is what the wallet considers currently spendable, and is\nthus affected by options which limit spendability such as -spendzeroconfchange.",
"params": [
{
"name": "dummy",
"required": false,
"schema": {
"type": "string"
},
"description": "Remains for backward compatibility. Must be excluded or set to \"*\"."
},
{
"name": "minconf",
"required": false,
"schema": {
"type": "number"
},
"description": "Only include transactions confirmed at least this many times."
},
{
"name": "include_watchonly",
"required": false,
"schema": {
"type": "boolean"
},
"description": "No longer used"
},
{
"name": "avoid_reuse",
"required": false,
"schema": {
"type": "boolean"
},
"description": "(only available if avoid_reuse wallet flag is set) Do not include balance in dirty outputs; addresses are considered dirty if they have previously been used in a transaction."
}
],
"result": {
"name": "result",
"schema": {
"type": "string"
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "getbalances",
"description": "Returns an object with all balances in BTC.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"mine": {
"type": "object",
"properties": {
"trusted": {
"type": "string",
"description": "trusted balance (outputs created by the wallet or confirmed outputs)"
},
"untrusted_pending": {
"type": "string",
"description": "untrusted pending balance (outputs created by others that are in the mempool)"
},
"immature": {
"type": "string",
"description": "balance from immature coinbase outputs"
},
"used": {
"type": "string",
"description": "(only present if avoid_reuse is set) balance from coins sent to addresses that were previously spent from (potentially privacy violating)"
}
},
"additionalProperties": false,
"required": [
"trusted",
"untrusted_pending",
"immature"
],
"description": "balances from outputs that the wallet can sign"
},
"lastprocessedblock": {
"type": "object",
"properties": {
"hash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "hash of the block this information was generated on"
},
"height": {
"type": "number",
"description": "height of the block this information was generated on"
}
},
"additionalProperties": false,
"required": [
"hash",
"height"
],
"description": "hash and height of the block this information was generated on"
}
},
"additionalProperties": false,
"required": [
"mine",
"lastprocessedblock"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "getbestblockhash",
"description": "Returns the hash of the best (tip) block in the most-work fully-validated chain.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getblock",
"description": "If verbosity is 0, returns a string that is serialized, hex-encoded data for block 'hash'.\nIf verbosity is 1, returns an Object with information about block <hash>.\nIf verbosity is 2, returns an Object with information about block <hash> and information about each transaction.\nIf verbosity is 3, returns an Object with information about block <hash> and information about each transaction, including prevout information for inputs (only for unpruned blocks in the current best chain).",
"params": [
{
"name": "blockhash",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The block hash"
},
{
"name": "verbosity",
"required": false,
"schema": {
"type": "number"
},
"x-bitcoin-aliases": [
"verbose"
],
"description": "0 for hex-encoded data, 1 for a JSON object, 2 for JSON object with transaction data, and 3 for JSON object with transaction data including prevout information for inputs"
}
],
"result": {
"name": "result",
"schema": {
"oneOf": [
{
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "for verbosity = 0"
},
{
"type": "object",
"properties": {
"hash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "the block hash (same as provided)"
},
"confirmations": {
"type": "number",
"description": "The number of confirmations, or -1 if the block is not on the main chain"
},
"size": {
"type": "number",
"description": "The block size"
},
"strippedsize": {
"type": "number",
"description": "The block size excluding witness data"
},
"weight": {
"type": "number",
"description": "The block weight as defined in BIP 141"
},
"coinbase_tx": {
"type": "object",
"properties": {
"version": {
"type": "number",
"description": "The coinbase transaction version"
},
"locktime": {
"type": "number",
"description": "The coinbase transaction's locktime (nLockTime)"
},
"sequence": {
"type": "number",
"description": "The coinbase input's sequence number (nSequence)"
},
"coinbase": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The coinbase input's script"
},
"witness": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The coinbase input's first (and only) witness stack element, if present"
}
},
"additionalProperties": false,
"required": [
"version",
"locktime",
"sequence",
"coinbase"
],
"description": "Coinbase transaction metadata"
},
"height": {
"type": "number",
"description": "The block height or index"
},
"version": {
"type": "number",
"description": "The block version"
},
"versionHex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The block version formatted in hexadecimal"
},
"merkleroot": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The merkle root"
},
"tx": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The transaction ids"
},
"time": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The block time expressed in UNIX epoch time"
},
"mediantime": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The median block time expressed in UNIX epoch time"
},
"nonce": {
"type": "number",
"description": "The nonce"
},
"bits": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "nBits: compact representation of the block difficulty target"
},
"target": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The difficulty target"
},
"difficulty": {
"type": "number",
"description": "The difficulty"
},
"chainwork": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "Expected number of hashes required to produce the chain up to this block (in hex)"
},
"nTx": {
"type": "number",
"description": "The number of transactions in the block"
},
"previousblockhash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hash of the previous block (if available)"
},
"nextblockhash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hash of the next block (if available)"
}
},
"additionalProperties": false,
"required": [
"hash",
"confirmations",
"size",
"strippedsize",
"weight",
"coinbase_tx",
"height",
"version",
"versionHex",
"merkleroot",
"tx",
"time",
"mediantime",
"nonce",
"bits",
"target",
"difficulty",
"chainwork",
"nTx"
],
"description": "for verbosity = 1"
},
{
"type": "object",
"properties": {
"tx": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fee": {
"type": "number",
"description": "The transaction fee in BTC, omitted if block undo data is not available"
}
},
"additionalProperties": true,
"required": [
"fee"
]
}
}
},
"additionalProperties": true,
"required": [
"tx"
],
"description": "for verbosity = 2"
},
{
"type": "object",
"properties": {
"tx": {
"type": "array",
"items": {
"type": "object",
"properties": {
"vin": {
"type": "array",
"items": {
"type": "object",
"properties": {
"prevout": {
"type": "object",
"properties": {
"generated": {
"type": "boolean",
"description": "Coinbase or not"
},
"height": {
"type": "number",
"description": "The height of the prevout"
},
"value": {
"type": "string",
"description": "The value in BTC"
},
"scriptPubKey": {
"type": "object",
"properties": {
"asm": {
"type": "string",
"description": "Disassembly of the output script"
},
"desc": {
"type": "string",
"description": "Inferred descriptor for the output"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The raw output script bytes, hex-encoded"
},
"address": {
"type": "string",
"description": "The Bitcoin address (only if a well-defined address exists)"
},
"type": {
"type": "string",
"description": "The type (one of: nonstandard, anchor, pubkey, pubkeyhash, scripthash, multisig, nulldata, witness_v0_scripthash, witness_v0_keyhash, witness_v1_taproot, witness_unknown)"
}
},
"additionalProperties": false,
"required": [
"asm",
"desc",
"hex",
"type"
]
}
},
"additionalProperties": false,
"required": [
"generated",
"height",
"value",
"scriptPubKey"
],
"description": "(Only if undo information is available)"
}
},
"additionalProperties": true,
"required": [
"prevout"
]
}
}
},
"additionalProperties": false,
"required": [
"vin"
]
}
}
},
"additionalProperties": true,
"required": [
"tx"
],
"description": "for verbosity = 3"
}
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getblockchaininfo",
"description": "Returns an object containing various state info regarding blockchain processing.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"chain": {
"type": "string",
"description": "current network name (main, test, testnet4, signet, regtest)"
},
"blocks": {
"type": "number",
"description": "the height of the most-work fully-validated chain. The genesis block has height 0"
},
"headers": {
"type": "number",
"description": "the current number of headers we have validated"
},
"bestblockhash": {
"type": "string",
"description": "the hash of the currently best block"
},
"bits": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "nBits: compact representation of the block difficulty target"
},
"target": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The difficulty target"
},
"difficulty": {
"type": "number",
"description": "the current difficulty"
},
"time": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The block time expressed in UNIX epoch time"
},
"mediantime": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The median block time expressed in UNIX epoch time"
},
"verificationprogress": {
"type": "number",
"description": "estimate of verification progress [0..1]"
},
"initialblockdownload": {
"type": "boolean",
"description": "(debug information) estimate of whether this node is in Initial Block Download mode"
},
"chainwork": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "total amount of work in active chain, in hexadecimal"
},
"size_on_disk": {
"type": "number",
"description": "the estimated size of the block and undo files on disk"
},
"pruned": {
"type": "boolean",
"description": "if the blocks are subject to pruning"
},
"pruneheight": {
"type": "number",
"description": "the first block unpruned, all previous blocks were pruned (only present if pruning is enabled)"
},
"automatic_pruning": {
"type": "boolean",
"description": "whether automatic pruning is enabled (only present if pruning is enabled)"
},
"prune_target_size": {
"type": "number",
"description": "the target size used by pruning (only present if automatic pruning is enabled)"
},
"signet_challenge": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "the block challenge (aka. block script), in hexadecimal (only present if the current network is a signet)"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"description": "any network and blockchain warnings (run with `-deprecatedrpc=warnings` to return the latest warning as a single string)"
}
},
"additionalProperties": false,
"required": [
"chain",
"blocks",
"headers",
"bestblockhash",
"bits",
"target",
"difficulty",
"time",
"mediantime",
"verificationprogress",
"initialblockdownload",
"chainwork",
"size_on_disk",
"pruned",
"warnings"
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getblockcount",
"description": "Returns the height of the most-work fully-validated chain.\nThe genesis block has height 0.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "number"
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getblockfilter",
"description": "Retrieve a BIP 157 content filter for a particular block.",
"params": [
{
"name": "blockhash",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The hash of the block"
},
{
"name": "filtertype",
"required": false,
"schema": {
"type": "string"
},
"description": "The type name of the filter"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"filter": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "the hex-encoded filter data"
},
"header": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "the hex-encoded filter header"
}
},
"additionalProperties": false,
"required": [
"filter",
"header"
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getblockfrompeer",
"description": "Attempt to fetch block from a given peer.\n\nWe must have the header for this block, e.g. using submitheader.\nThe block will not have any undo data which can limit the usage of the block data in a context where the undo data is needed.\nSubsequent calls for the same block may cause the response from the previous peer to be ignored.\nPeers generally ignore requests for a stale block that they never fully verified, or one that is more than a month old.\nWhen a peer does not respond with a block, we will disconnect.\nNote: The block could be re-pruned as soon as it is received.\n\nReturns an empty JSON object if the request was successfully scheduled.",
"params": [
{
"name": "blockhash",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The block hash to try to fetch"
},
{
"name": "peer_id",
"required": true,
"schema": {
"type": "number"
},
"description": "The peer to fetch it from (see getpeerinfo for peer IDs)"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
},
"additionalProperties": false
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getblockhash",
"description": "Returns hash of block in best-block-chain at height provided.",
"params": [
{
"name": "height",
"required": true,
"schema": {
"type": "number"
},
"description": "The height index"
}
],
"result": {
"name": "result",
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getblockheader",
"description": "If verbose is false, returns a string that is serialized, hex-encoded data for blockheader 'hash'.\nIf verbose is true, returns an Object with information about blockheader <hash>.",
"params": [
{
"name": "blockhash",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The block hash"
},
{
"name": "verbose",
"required": false,
"schema": {
"type": "boolean"
},
"description": "true for a json object, false for the hex-encoded data"
}
],
"result": {
"name": "result",
"schema": {
"oneOf": [
{
"type": "object",
"properties": {
"hash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "the block hash (same as provided)"
},
"confirmations": {
"type": "number",
"description": "The number of confirmations, or -1 if the block is not on the main chain"
},
"height": {
"type": "number",
"description": "The block height or index"
},
"version": {
"type": "number",
"description": "The block version"
},
"versionHex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The block version formatted in hexadecimal"
},
"merkleroot": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The merkle root"
},
"time": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The block time expressed in UNIX epoch time"
},
"mediantime": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The median block time expressed in UNIX epoch time"
},
"nonce": {
"type": "number",
"description": "The nonce"
},
"bits": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "nBits: compact representation of the block difficulty target"
},
"target": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The difficulty target"
},
"difficulty": {
"type": "number",
"description": "The difficulty"
},
"chainwork": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "Expected number of hashes required to produce the current chain"
},
"nTx": {
"type": "number",
"description": "The number of transactions in the block"
},
"previousblockhash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hash of the previous block (if available)"
},
"nextblockhash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hash of the next block (if available)"
}
},
"additionalProperties": false,
"required": [
"hash",
"confirmations",
"height",
"version",
"versionHex",
"merkleroot",
"time",
"mediantime",
"nonce",
"bits",
"target",
"difficulty",
"chainwork",
"nTx"
],
"description": "for verbose = true"
},
{
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "for verbose=false"
}
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getblockstats",
"description": "Compute per block statistics for a given window. All amounts are in satoshis.\nIt won't work for some heights with pruning.",
"params": [
{
"name": "hash_or_height",
"required": true,
"schema": {
"type": "number"
},
"x-bitcoin-type-str": [
"",
"string or numeric"
],
"description": "The block hash or height of the target block"
},
{
"name": "stats",
"required": false,
"schema": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"description": "Values to plot (see result below)"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"avgfee": {
"type": "number",
"description": "Average fee in the block"
},
"avgfeerate": {
"type": "number",
"description": "Average feerate (in satoshis per virtual byte)"
},
"avgtxsize": {
"type": "number",
"description": "Average transaction size"
},
"blockhash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The block hash (to check for potential reorgs)"
},
"feerate_percentiles": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
}
],
"minItems": 5,
"maxItems": 5,
"description": "Feerates at the 10th, 25th, 50th, 75th, and 90th percentile weight unit (in satoshis per virtual byte)"
},
"height": {
"type": "number",
"description": "The height of the block"
},
"ins": {
"type": "number",
"description": "The number of inputs (excluding coinbase)"
},
"maxfee": {
"type": "number",
"description": "Maximum fee in the block"
},
"maxfeerate": {
"type": "number",
"description": "Maximum feerate (in satoshis per virtual byte)"
},
"maxtxsize": {
"type": "number",
"description": "Maximum transaction size"
},
"medianfee": {
"type": "number",
"description": "Truncated median fee in the block"
},
"mediantime": {
"type": "number",
"description": "The block median time past"
},
"mediantxsize": {
"type": "number",
"description": "Truncated median transaction size"
},
"minfee": {
"type": "number",
"description": "Minimum fee in the block"
},
"minfeerate": {
"type": "number",
"description": "Minimum feerate (in satoshis per virtual byte)"
},
"mintxsize": {
"type": "number",
"description": "Minimum transaction size"
},
"outs": {
"type": "number",
"description": "The number of outputs"
},
"subsidy": {
"type": "number",
"description": "The block subsidy"
},
"swtotal_size": {
"type": "number",
"description": "Total size of all segwit transactions"
},
"swtotal_weight": {
"type": "number",
"description": "Total weight of all segwit transactions"
},
"swtxs": {
"type": "number",
"description": "The number of segwit transactions"
},
"time": {
"type": "number",
"description": "The block time"
},
"total_out": {
"type": "number",
"description": "Total amount in all outputs (excluding coinbase and thus reward [ie subsidy + totalfee])"
},
"total_size": {
"type": "number",
"description": "Total size of all non-coinbase transactions"
},
"total_weight": {
"type": "number",
"description": "Total weight of all non-coinbase transactions"
},
"totalfee": {
"type": "number",
"description": "The fee total"
},
"txs": {
"type": "number",
"description": "The number of transactions (including coinbase)"
},
"utxo_increase": {
"type": "number",
"description": "The increase/decrease in the number of unspent outputs (not discounting op_return and similar)"
},
"utxo_size_inc": {
"type": "number",
"description": "The increase/decrease in size for the utxo index (not discounting op_return and similar)"
},
"utxo_increase_actual": {
"type": "number",
"description": "The increase/decrease in the number of unspent outputs, not counting unspendables"
},
"utxo_size_inc_actual": {
"type": "number",
"description": "The increase/decrease in size for the utxo index, not counting unspendables"
}
},
"additionalProperties": false
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getblocktemplate",
"description": "If the request parameters include a 'mode' key, that is used to explicitly select between the default 'template' request or a 'proposal'.\nIt returns data needed to construct a block to work on.\nFor full specification, see BIPs 22, 23, 9, and 145:\n https://github.com/bitcoin/bips/blob/master/bip-0022.mediawiki\n https://github.com/bitcoin/bips/blob/master/bip-0023.mediawiki\n https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki#getblocktemplate_changes\n https://github.com/bitcoin/bips/blob/master/bip-0145.mediawiki",
"params": [
{
"name": "template_request",
"required": true,
"schema": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"description": "This must be set to \"template\", \"proposal\" (see BIP 23), or omitted"
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of strings"
},
"rules": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"description": "A list of strings"
},
"longpollid": {
"type": "string",
"description": "delay processing request until the result would vary significantly from the \"longpollid\" of a prior template"
},
"data": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "proposed block data to check, encoded in hexadecimal; valid only for mode=\"proposal\""
}
},
"additionalProperties": false,
"required": [
"rules"
]
},
"description": "Format of the template"
}
],
"result": {
"name": "result",
"schema": {
"oneOf": [
{
"type": "null",
"description": "If the proposal was accepted with mode=='proposal'"
},
{
"type": "string",
"description": "If the proposal was not accepted with mode=='proposal'"
},
{
"type": "object",
"properties": {
"version": {
"type": "number",
"description": "The preferred block version"
},
"rules": {
"type": "array",
"items": {
"type": "string"
},
"description": "specific block rules that are to be enforced"
},
"vbavailable": {
"type": "object",
"additionalProperties": {
"type": "number"
},
"description": "set of pending, supported versionbit (BIP 9) softfork deployments"
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
}
},
"vbrequired": {
"type": "number",
"description": "bit mask of versionbits the server requires set in submissions"
},
"previousblockhash": {
"type": "string",
"description": "The hash of current highest block"
},
"transactions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"data": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "transaction data encoded in hexadecimal (byte-for-byte)"
},
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "transaction hash excluding witness data, shown in byte-reversed hex"
},
"hash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "transaction hash including witness data, shown in byte-reversed hex"
},
"depends": {
"type": "array",
"items": {
"type": "number"
},
"description": "array of numbers"
},
"fee": {
"type": "number",
"description": "difference in value between transaction inputs and outputs (in satoshis); for coinbase transactions, this is a negative Number of the total collected block fees (ie, not including the block subsidy); if key is not present, fee is unknown and clients MUST NOT assume there isn't one"
},
"sigops": {
"type": "number",
"description": "total SigOps cost, as counted for purposes of block limits; if key is not present, sigop cost is unknown and clients MUST NOT assume it is zero"
},
"weight": {
"type": "number",
"description": "total transaction weight, as counted for purposes of block limits"
}
},
"additionalProperties": false,
"required": [
"data",
"txid",
"hash",
"depends",
"fee",
"sigops",
"weight"
]
},
"description": "contents of non-coinbase transactions that should be included in the next block"
},
"coinbaseaux": {
"type": "object",
"additionalProperties": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "data that should be included in the coinbase's scriptSig content"
},
"coinbasevalue": {
"type": "number",
"description": "maximum allowable input to coinbase transaction, including the generation award and transaction fees (in satoshis)"
},
"longpollid": {
"type": "string",
"description": "an id to include with a request to longpoll on an update to this template"
},
"target": {
"type": "string",
"description": "The hash target"
},
"mintime": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The minimum timestamp appropriate for the next block time, expressed in UNIX epoch time. Adjusted for the proposed BIP94 timewarp rule."
},
"mutable": {
"type": "array",
"items": {
"type": "string"
},
"description": "list of ways the block template may be changed"
},
"noncerange": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "A range of valid nonces"
},
"sigoplimit": {
"type": "number",
"description": "limit of sigops in blocks"
},
"sizelimit": {
"type": "number",
"description": "limit of block size"
},
"weightlimit": {
"type": "number",
"description": "limit of block weight"
},
"curtime": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "current timestamp in UNIX epoch time. Adjusted for the proposed BIP94 timewarp rule."
},
"bits": {
"type": "string",
"description": "compressed target of next block"
},
"height": {
"type": "number",
"description": "The height of the next block"
},
"signet_challenge": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "Only on signet"
},
"default_witness_commitment": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "a valid witness commitment for the unmodified block template"
}
},
"additionalProperties": false,
"required": [
"version",
"rules",
"vbavailable",
"capabilities",
"vbrequired",
"previousblockhash",
"transactions",
"coinbaseaux",
"coinbasevalue",
"longpollid",
"target",
"mintime",
"mutable",
"noncerange",
"sigoplimit",
"sizelimit",
"curtime",
"bits",
"height"
],
"description": "Otherwise"
}
]
}
},
"x-bitcoin-category": "mining"
},
{
"name": "getchainstates",
"description": "Return information about chainstates.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"headers": {
"type": "number",
"description": "the number of headers seen so far"
},
"chainstates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"blocks": {
"type": "number",
"description": "number of blocks in this chainstate"
},
"bestblockhash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "blockhash of the tip"
},
"bits": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "nBits: compact representation of the block difficulty target"
},
"target": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The difficulty target"
},
"difficulty": {
"type": "number",
"description": "difficulty of the tip"
},
"verificationprogress": {
"type": "number",
"description": "progress towards the network tip"
},
"snapshot_blockhash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "the base block of the snapshot this chainstate is based on, if any"
},
"coins_db_cache_bytes": {
"type": "number",
"description": "size of the coinsdb cache"
},
"coins_tip_cache_bytes": {
"type": "number",
"description": "size of the coinstip cache"
},
"validated": {
"type": "boolean",
"description": "whether the chainstate is fully validated. True if all blocks in the chainstate were validated, false if the chain is based on a snapshot and the snapshot has not yet been validated."
}
},
"additionalProperties": false,
"required": [
"blocks",
"bestblockhash",
"bits",
"target",
"difficulty",
"verificationprogress",
"coins_db_cache_bytes",
"coins_tip_cache_bytes",
"validated"
]
},
"description": "list of the chainstates ordered by work, with the most-work (active) chainstate last"
}
},
"additionalProperties": false,
"required": [
"headers",
"chainstates"
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getchaintips",
"description": "Return information about all known tips in the block tree, including the main chain as well as orphaned branches.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"height": {
"type": "number",
"description": "height of the chain tip"
},
"hash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "block hash of the tip"
},
"branchlen": {
"type": "number",
"description": "zero for main chain, otherwise length of branch connecting the tip to the main chain"
},
"status": {
"type": "string",
"description": "status of the chain, \"active\" for the main chain\nPossible values for status:\n1. \"invalid\" This branch contains at least one invalid block\n2. \"headers-only\" Not all blocks for this branch are available, but the headers are valid\n3. \"valid-headers\" All blocks are available for this branch, but they were never fully validated\n4. \"valid-fork\" This branch is not part of the active chain, but is fully validated\n5. \"active\" This is the tip of the active main chain, which is certainly valid"
}
},
"additionalProperties": false,
"required": [
"height",
"hash",
"branchlen",
"status"
]
}
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getchaintxstats",
"description": "Compute statistics about the total number and rate of transactions in the chain.",
"params": [
{
"name": "nblocks",
"required": false,
"schema": {
"type": "number"
},
"description": "Size of the window in number of blocks"
},
{
"name": "blockhash",
"required": false,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The hash of the block that ends the window."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"time": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The timestamp for the final block in the window, expressed in UNIX epoch time"
},
"txcount": {
"type": "number",
"description": "The total number of transactions in the chain up to that point, if known. It may be unknown when using assumeutxo."
},
"window_final_block_hash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hash of the final block in the window"
},
"window_final_block_height": {
"type": "number",
"description": "The height of the final block in the window."
},
"window_block_count": {
"type": "number",
"description": "Size of the window in number of blocks"
},
"window_interval": {
"type": "number",
"description": "The elapsed time in the window in seconds. Only returned if \"window_block_count\" is > 0"
},
"window_tx_count": {
"type": "number",
"description": "The number of transactions in the window. Only returned if \"window_block_count\" is > 0 and if txcount exists for the start and end of the window."
},
"txrate": {
"type": "number",
"description": "The average rate of transactions per second in the window. Only returned if \"window_interval\" is > 0 and if window_tx_count exists."
}
},
"additionalProperties": false,
"required": [
"time",
"window_final_block_hash",
"window_final_block_height",
"window_block_count"
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getconnectioncount",
"description": "Returns the number of connections to other nodes.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "number"
}
},
"x-bitcoin-category": "network"
},
{
"name": "getdeploymentinfo",
"description": "Returns an object containing various state info regarding deployments of consensus changes.",
"params": [
{
"name": "blockhash",
"required": false,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The block hash at which to query deployment state"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"hash": {
"type": "string",
"description": "requested block hash (or tip)"
},
"height": {
"type": "number",
"description": "requested block height (or tip)"
},
"script_flags": {
"type": "array",
"items": {
"type": "string"
},
"description": "script verify flags for the block"
},
"deployments": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "one of \"buried\", \"bip9\""
},
"height": {
"type": "number",
"description": "height of the first block which the rules are or will be enforced (only for \"buried\" type, or \"bip9\" type with \"active\" status)"
},
"active": {
"type": "boolean",
"description": "true if the rules are enforced for the mempool and the next block"
},
"bip9": {
"type": "object",
"properties": {
"bit": {
"type": "number",
"description": "the bit (0-28) in the block version field used to signal this softfork (only for \"started\" and \"locked_in\" status)"
},
"start_time": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "the minimum median time past of a block at which the bit gains its meaning"
},
"timeout": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "the median time past of a block at which the deployment is considered failed if not yet locked in"
},
"min_activation_height": {
"type": "number",
"description": "minimum height of blocks for which the rules may be enforced"
},
"status": {
"type": "string",
"description": "status of deployment at specified block (one of \"defined\", \"started\", \"locked_in\", \"active\", \"failed\")"
},
"since": {
"type": "number",
"description": "height of the first block to which the status applies"
},
"status_next": {
"type": "string",
"description": "status of deployment at the next block"
},
"statistics": {
"type": "object",
"properties": {
"period": {
"type": "number",
"description": "the length in blocks of the signalling period"
},
"threshold": {
"type": "number",
"description": "the number of blocks with the version bit set required to activate the feature (only for \"started\" status)"
},
"elapsed": {
"type": "number",
"description": "the number of blocks elapsed since the beginning of the current period"
},
"count": {
"type": "number",
"description": "the number of blocks with the version bit set in the current period"
},
"possible": {
"type": "boolean",
"description": "returns false if there are not enough blocks left in this period to pass activation threshold (only for \"started\" status)"
}
},
"additionalProperties": false,
"required": [
"period",
"elapsed",
"count"
],
"description": "numeric statistics about signalling for a softfork (only for \"started\" and \"locked_in\" status)"
},
"signalling": {
"type": "string",
"description": "indicates blocks that signalled with a # and blocks that did not with a -"
}
},
"additionalProperties": false,
"required": [
"start_time",
"timeout",
"min_activation_height",
"status",
"since",
"status_next"
],
"description": "status of bip9 softforks (only for \"bip9\" type)"
}
},
"additionalProperties": false,
"required": [
"type",
"active"
]
}
}
},
"additionalProperties": false,
"required": [
"hash",
"height",
"script_flags",
"deployments"
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getdescriptoractivity",
"description": "Get spend and receive activity associated with a set of descriptors for a set of blocks. This command pairs well with the `relevant_blocks` output of `scanblocks()`.\nThis call may take several minutes. If you encounter timeouts, try specifying no RPC timeout (bitcoin-cli -rpcclienttimeout=0)",
"params": [
{
"name": "blockhashes",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"description": "The list of blockhashes to examine for activity. Order doesn't matter. Must be along main chain or an error is thrown.\n"
},
{
"name": "scanobjects",
"required": true,
"schema": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"desc": {
"type": "string",
"description": "An output descriptor"
},
"range": {
"oneOf": [
{
"type": "number"
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"minItems": 2,
"maxItems": 2
}
],
"description": "The range of HD chain indexes to explore (either end or [begin,end])"
}
},
"additionalProperties": false,
"required": [
"desc"
]
}
]
}
},
"description": "The list of descriptors (scan objects) to examine for activity. Every scan object is either a string descriptor or an object:"
},
{
"name": "include_mempool",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Whether to include unconfirmed activity"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"activity": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "always 'spend'"
},
"amount": {
"type": "string",
"description": "The total amount in BTC of the spent output"
},
"blockhash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The blockhash this spend appears in (omitted if unconfirmed)"
},
"height": {
"type": "number",
"description": "Height of the spend (omitted if unconfirmed)"
},
"spend_txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The txid of the spending transaction"
},
"spend_vin": {
"type": "number",
"description": "The input index of the spend"
},
"prevout_txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The txid of the prevout"
},
"prevout_vout": {
"type": "number",
"description": "The vout of the prevout"
},
"prevout_spk": {
"type": "object",
"properties": {
"asm": {
"type": "string",
"description": "Disassembly of the output script"
},
"desc": {
"type": "string",
"description": "Inferred descriptor for the output"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The raw output script bytes, hex-encoded"
},
"address": {
"type": "string",
"description": "The Bitcoin address (only if a well-defined address exists)"
},
"type": {
"type": "string",
"description": "The type (one of: nonstandard, anchor, pubkey, pubkeyhash, scripthash, multisig, nulldata, witness_v0_scripthash, witness_v0_keyhash, witness_v1_taproot, witness_unknown)"
}
},
"additionalProperties": false,
"required": [
"asm",
"desc",
"hex",
"type"
]
}
},
"additionalProperties": false,
"required": [
"type",
"amount",
"spend_txid",
"spend_vin",
"prevout_txid",
"prevout_vout",
"prevout_spk"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "always 'receive'"
},
"amount": {
"type": "string",
"description": "The total amount in BTC of the new output"
},
"blockhash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The block that this receive is in (omitted if unconfirmed)"
},
"height": {
"type": "number",
"description": "The height of the receive (omitted if unconfirmed)"
},
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The txid of the receiving transaction"
},
"vout": {
"type": "number",
"description": "The vout of the receiving output"
},
"output_spk": {
"type": "object",
"properties": {
"asm": {
"type": "string",
"description": "Disassembly of the output script"
},
"desc": {
"type": "string",
"description": "Inferred descriptor for the output"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The raw output script bytes, hex-encoded"
},
"address": {
"type": "string",
"description": "The Bitcoin address (only if a well-defined address exists)"
},
"type": {
"type": "string",
"description": "The type (one of: nonstandard, anchor, pubkey, pubkeyhash, scripthash, multisig, nulldata, witness_v0_scripthash, witness_v0_keyhash, witness_v1_taproot, witness_unknown)"
}
},
"additionalProperties": false,
"required": [
"asm",
"desc",
"hex",
"type"
]
}
},
"additionalProperties": false,
"required": [
"type",
"amount",
"txid",
"vout",
"output_spk"
]
}
]
},
"description": "events"
}
},
"additionalProperties": false,
"required": [
"activity"
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getdescriptorinfo",
"description": "Analyses a descriptor.",
"params": [
{
"name": "descriptor",
"required": true,
"schema": {
"type": "string"
},
"description": "The descriptor."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"descriptor": {
"type": "string",
"description": "The descriptor in canonical form, without private keys. For a multipath descriptor, only the first will be returned."
},
"multipath_expansion": {
"type": "array",
"items": {
"type": "string"
},
"description": "All descriptors produced by expanding multipath derivation elements. Only if the provided descriptor specifies multipath derivation elements."
},
"checksum": {
"type": "string",
"description": "The checksum for the input descriptor"
},
"isrange": {
"type": "boolean",
"description": "Whether the descriptor is ranged"
},
"issolvable": {
"type": "boolean",
"description": "Whether the descriptor is solvable"
},
"hasprivatekeys": {
"type": "boolean",
"description": "Whether the input descriptor contained at least one private key"
}
},
"additionalProperties": false,
"required": [
"descriptor",
"checksum",
"isrange",
"issolvable",
"hasprivatekeys"
]
}
},
"x-bitcoin-category": "util"
},
{
"name": "getdifficulty",
"description": "Returns the proof-of-work difficulty as a multiple of the minimum difficulty.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "number"
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "gethdkeys",
"description": "List all BIP 32 HD keys in the wallet and which descriptors use them.",
"params": [
{
"name": "options",
"required": false,
"schema": {
"type": "object",
"properties": {
"active_only": {
"type": "boolean",
"description": "Show the keys for only active descriptors"
},
"private": {
"type": "boolean",
"description": "Show private keys"
}
},
"additionalProperties": false
}
}
],
"result": {
"name": "result",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"xpub": {
"type": "string",
"description": "The extended public key"
},
"has_private": {
"type": "boolean",
"description": "Whether the wallet has the private key for this xpub"
},
"xprv": {
"type": "string",
"description": "The extended private key if \"private\" is true"
},
"descriptors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"desc": {
"type": "string",
"description": "Descriptor string representation"
},
"active": {
"type": "boolean",
"description": "Whether this descriptor is currently used to generate new addresses"
}
},
"additionalProperties": false,
"required": [
"desc",
"active"
]
},
"description": "Array of descriptor objects that use this HD key"
}
},
"additionalProperties": false,
"required": [
"xpub",
"has_private",
"descriptors"
]
}
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "getindexinfo",
"description": "Returns the status of one or all available indices currently running in the node.",
"params": [
{
"name": "index_name",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter results for an index with a specific name."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"synced": {
"type": "boolean",
"description": "Whether the index is synced or not"
},
"best_block_height": {
"type": "number",
"description": "The block height to which the index is synced"
}
},
"additionalProperties": false,
"required": [
"synced",
"best_block_height"
]
}
}
},
"x-bitcoin-category": "util"
},
{
"name": "getmemoryinfo",
"description": "Returns an object containing information about memory usage.",
"params": [
{
"name": "mode",
"required": false,
"schema": {
"type": "string"
},
"description": "determines what kind of information is returned.\n - \"stats\" returns general statistics about memory usage in the daemon.\n - \"mallocinfo\" returns an XML string describing low-level heap state (only available if compiled with glibc)."
}
],
"result": {
"name": "result",
"schema": {
"oneOf": [
{
"type": "object",
"properties": {
"locked": {
"type": "object",
"properties": {
"used": {
"type": "number",
"description": "Number of bytes used"
},
"free": {
"type": "number",
"description": "Number of bytes available in current arenas"
},
"total": {
"type": "number",
"description": "Total number of bytes managed"
},
"locked": {
"type": "number",
"description": "Amount of bytes that succeeded locking. If this number is smaller than total, locking pages failed at some point and key data could be swapped to disk."
},
"chunks_used": {
"type": "number",
"description": "Number allocated chunks"
},
"chunks_free": {
"type": "number",
"description": "Number unused chunks"
}
},
"additionalProperties": false,
"required": [
"used",
"free",
"total",
"locked",
"chunks_used",
"chunks_free"
],
"description": "Information about locked memory manager"
}
},
"additionalProperties": false,
"required": [
"locked"
],
"description": "mode \"stats\""
},
{
"type": "string",
"description": "mode \"mallocinfo\""
}
]
}
},
"x-bitcoin-category": "control"
},
{
"name": "getmempoolancestors",
"description": "If txid is in the mempool, returns all in-mempool ancestors.",
"params": [
{
"name": "txid",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The transaction id (must be in mempool)"
},
{
"name": "verbose",
"required": false,
"schema": {
"type": "boolean"
},
"description": "True for a json object, false for array of transaction ids"
}
],
"result": {
"name": "result",
"schema": {
"oneOf": [
{
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "for verbose = false"
},
{
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"vsize": {
"type": "number",
"description": "virtual transaction size as defined in BIP 141. This is different from actual serialized size for witness transactions as witness data is discounted."
},
"weight": {
"type": "number",
"description": "transaction weight as defined in BIP 141."
},
"time": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "local time transaction entered pool in seconds since 1 Jan 1970 GMT"
},
"height": {
"type": "number",
"description": "block height when transaction entered pool"
},
"descendantcount": {
"type": "number",
"description": "number of in-mempool descendant transactions (including this one)"
},
"descendantsize": {
"type": "number",
"description": "virtual transaction size of in-mempool descendants (including this one)"
},
"ancestorcount": {
"type": "number",
"description": "number of in-mempool ancestor transactions (including this one)"
},
"ancestorsize": {
"type": "number",
"description": "virtual transaction size of in-mempool ancestors (including this one)"
},
"chunkweight": {
"type": "number",
"description": "sigops-adjusted weight (as defined in BIP 141 and modified by '-bytespersigop') of this transaction's chunk"
},
"wtxid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "hash of serialized transaction, including witness data"
},
"fees": {
"type": "object",
"properties": {
"base": {
"type": "string",
"description": "transaction fee, denominated in BTC"
},
"modified": {
"type": "string",
"description": "transaction fee with fee deltas used for mining priority, denominated in BTC"
},
"ancestor": {
"type": "string",
"description": "transaction fees of in-mempool ancestors (including this one) with fee deltas used for mining priority, denominated in BTC"
},
"descendant": {
"type": "string",
"description": "transaction fees of in-mempool descendants (including this one) with fee deltas used for mining priority, denominated in BTC"
},
"chunk": {
"type": "string",
"description": "transaction fees of chunk, denominated in BTC"
}
},
"additionalProperties": false,
"required": [
"base",
"modified",
"ancestor",
"descendant",
"chunk"
]
},
"depends": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "unconfirmed transactions used as inputs for this transaction"
},
"spentby": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "unconfirmed transactions spending outputs from this transaction"
},
"bip125-replaceable": {
"type": "boolean",
"description": "Whether this transaction signals BIP125 replaceability or has an unconfirmed ancestor signaling BIP125 replaceability. (DEPRECATED)\n"
},
"unbroadcast": {
"type": "boolean",
"description": "Whether this transaction is currently unbroadcast (initial broadcast not yet acknowledged by any peers)"
}
},
"additionalProperties": false,
"required": [
"vsize",
"weight",
"time",
"height",
"descendantcount",
"descendantsize",
"ancestorcount",
"ancestorsize",
"chunkweight",
"wtxid",
"fees",
"depends",
"spentby",
"bip125-replaceable",
"unbroadcast"
]
},
"description": "for verbose = true"
}
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getmempoolcluster",
"description": "Returns mempool data for given cluster",
"params": [
{
"name": "txid",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The txid of a transaction in the cluster"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"clusterweight": {
"type": "number",
"description": "total sigops-adjusted weight (as defined in BIP 141 and modified by '-bytespersigop')"
},
"txcount": {
"type": "number",
"description": "number of transactions"
},
"chunks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chunkfee": {
"type": "number",
"description": "fees of the transactions in this chunk"
},
"chunkweight": {
"type": "number",
"description": "sigops-adjusted weight of all transactions in this chunk"
},
"txs": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "transactions in this chunk in mining order"
}
},
"additionalProperties": false,
"required": [
"chunkfee",
"chunkweight",
"txs"
]
},
"description": "chunks in this cluster (in mining order)"
}
},
"additionalProperties": false,
"required": [
"clusterweight",
"txcount",
"chunks"
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getmempooldescendants",
"description": "If txid is in the mempool, returns all in-mempool descendants.",
"params": [
{
"name": "txid",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The transaction id (must be in mempool)"
},
{
"name": "verbose",
"required": false,
"schema": {
"type": "boolean"
},
"description": "True for a json object, false for array of transaction ids"
}
],
"result": {
"name": "result",
"schema": {
"oneOf": [
{
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "for verbose = false"
},
{
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"vsize": {
"type": "number",
"description": "virtual transaction size as defined in BIP 141. This is different from actual serialized size for witness transactions as witness data is discounted."
},
"weight": {
"type": "number",
"description": "transaction weight as defined in BIP 141."
},
"time": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "local time transaction entered pool in seconds since 1 Jan 1970 GMT"
},
"height": {
"type": "number",
"description": "block height when transaction entered pool"
},
"descendantcount": {
"type": "number",
"description": "number of in-mempool descendant transactions (including this one)"
},
"descendantsize": {
"type": "number",
"description": "virtual transaction size of in-mempool descendants (including this one)"
},
"ancestorcount": {
"type": "number",
"description": "number of in-mempool ancestor transactions (including this one)"
},
"ancestorsize": {
"type": "number",
"description": "virtual transaction size of in-mempool ancestors (including this one)"
},
"chunkweight": {
"type": "number",
"description": "sigops-adjusted weight (as defined in BIP 141 and modified by '-bytespersigop') of this transaction's chunk"
},
"wtxid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "hash of serialized transaction, including witness data"
},
"fees": {
"type": "object",
"properties": {
"base": {
"type": "string",
"description": "transaction fee, denominated in BTC"
},
"modified": {
"type": "string",
"description": "transaction fee with fee deltas used for mining priority, denominated in BTC"
},
"ancestor": {
"type": "string",
"description": "transaction fees of in-mempool ancestors (including this one) with fee deltas used for mining priority, denominated in BTC"
},
"descendant": {
"type": "string",
"description": "transaction fees of in-mempool descendants (including this one) with fee deltas used for mining priority, denominated in BTC"
},
"chunk": {
"type": "string",
"description": "transaction fees of chunk, denominated in BTC"
}
},
"additionalProperties": false,
"required": [
"base",
"modified",
"ancestor",
"descendant",
"chunk"
]
},
"depends": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "unconfirmed transactions used as inputs for this transaction"
},
"spentby": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "unconfirmed transactions spending outputs from this transaction"
},
"bip125-replaceable": {
"type": "boolean",
"description": "Whether this transaction signals BIP125 replaceability or has an unconfirmed ancestor signaling BIP125 replaceability. (DEPRECATED)\n"
},
"unbroadcast": {
"type": "boolean",
"description": "Whether this transaction is currently unbroadcast (initial broadcast not yet acknowledged by any peers)"
}
},
"additionalProperties": false,
"required": [
"vsize",
"weight",
"time",
"height",
"descendantcount",
"descendantsize",
"ancestorcount",
"ancestorsize",
"chunkweight",
"wtxid",
"fees",
"depends",
"spentby",
"bip125-replaceable",
"unbroadcast"
]
},
"description": "for verbose = true"
}
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getmempoolentry",
"description": "Returns mempool data for given transaction",
"params": [
{
"name": "txid",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The transaction id (must be in mempool)"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"vsize": {
"type": "number",
"description": "virtual transaction size as defined in BIP 141. This is different from actual serialized size for witness transactions as witness data is discounted."
},
"weight": {
"type": "number",
"description": "transaction weight as defined in BIP 141."
},
"time": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "local time transaction entered pool in seconds since 1 Jan 1970 GMT"
},
"height": {
"type": "number",
"description": "block height when transaction entered pool"
},
"descendantcount": {
"type": "number",
"description": "number of in-mempool descendant transactions (including this one)"
},
"descendantsize": {
"type": "number",
"description": "virtual transaction size of in-mempool descendants (including this one)"
},
"ancestorcount": {
"type": "number",
"description": "number of in-mempool ancestor transactions (including this one)"
},
"ancestorsize": {
"type": "number",
"description": "virtual transaction size of in-mempool ancestors (including this one)"
},
"chunkweight": {
"type": "number",
"description": "sigops-adjusted weight (as defined in BIP 141 and modified by '-bytespersigop') of this transaction's chunk"
},
"wtxid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "hash of serialized transaction, including witness data"
},
"fees": {
"type": "object",
"properties": {
"base": {
"type": "string",
"description": "transaction fee, denominated in BTC"
},
"modified": {
"type": "string",
"description": "transaction fee with fee deltas used for mining priority, denominated in BTC"
},
"ancestor": {
"type": "string",
"description": "transaction fees of in-mempool ancestors (including this one) with fee deltas used for mining priority, denominated in BTC"
},
"descendant": {
"type": "string",
"description": "transaction fees of in-mempool descendants (including this one) with fee deltas used for mining priority, denominated in BTC"
},
"chunk": {
"type": "string",
"description": "transaction fees of chunk, denominated in BTC"
}
},
"additionalProperties": false,
"required": [
"base",
"modified",
"ancestor",
"descendant",
"chunk"
]
},
"depends": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "unconfirmed transactions used as inputs for this transaction"
},
"spentby": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "unconfirmed transactions spending outputs from this transaction"
},
"bip125-replaceable": {
"type": "boolean",
"description": "Whether this transaction signals BIP125 replaceability or has an unconfirmed ancestor signaling BIP125 replaceability. (DEPRECATED)\n"
},
"unbroadcast": {
"type": "boolean",
"description": "Whether this transaction is currently unbroadcast (initial broadcast not yet acknowledged by any peers)"
}
},
"additionalProperties": false,
"required": [
"vsize",
"weight",
"time",
"height",
"descendantcount",
"descendantsize",
"ancestorcount",
"ancestorsize",
"chunkweight",
"wtxid",
"fees",
"depends",
"spentby",
"bip125-replaceable",
"unbroadcast"
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getmempoolinfo",
"description": "Returns details on the active state of the TX memory pool.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"loaded": {
"type": "boolean",
"description": "True if the initial load attempt of the persisted mempool finished"
},
"size": {
"type": "number",
"description": "Current tx count"
},
"bytes": {
"type": "number",
"description": "Sum of all virtual transaction sizes as defined in BIP 141. Differs from actual serialized size because witness data is discounted"
},
"usage": {
"type": "number",
"description": "Total memory usage for the mempool"
},
"total_fee": {
"type": "string",
"description": "Total fees for the mempool in BTC, ignoring modified fees through prioritisetransaction"
},
"maxmempool": {
"type": "number",
"description": "Maximum memory usage for the mempool"
},
"mempoolminfee": {
"type": "string",
"description": "Minimum fee rate in BTC/kvB for tx to be accepted. Is the maximum of minrelaytxfee and minimum mempool fee"
},
"minrelaytxfee": {
"type": "string",
"description": "Current minimum relay fee for transactions"
},
"incrementalrelayfee": {
"type": "number",
"description": "minimum fee rate increment for mempool limiting or replacement in BTC/kvB"
},
"unbroadcastcount": {
"type": "number",
"description": "Current number of transactions that haven't passed initial broadcast yet"
},
"fullrbf": {
"type": "boolean",
"description": "True if the mempool accepts RBF without replaceability signaling inspection (DEPRECATED)"
},
"permitbaremultisig": {
"type": "boolean",
"description": "True if the mempool accepts transactions with bare multisig outputs"
},
"maxdatacarriersize": {
"type": "number",
"description": "Maximum number of bytes that can be used by OP_RETURN outputs in the mempool"
},
"limitclustercount": {
"type": "number",
"description": "Maximum number of transactions that can be in a cluster (configured by -limitclustercount)"
},
"limitclustersize": {
"type": "number",
"description": "Maximum size of a cluster in virtual bytes (configured by -limitclustersize)"
},
"optimal": {
"type": "boolean",
"description": "If the mempool is in a known-optimal transaction ordering"
}
},
"additionalProperties": false,
"required": [
"loaded",
"size",
"bytes",
"usage",
"total_fee",
"maxmempool",
"mempoolminfee",
"minrelaytxfee",
"incrementalrelayfee",
"unbroadcastcount",
"fullrbf",
"permitbaremultisig",
"maxdatacarriersize",
"limitclustercount",
"limitclustersize",
"optimal"
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getmininginfo",
"description": "Returns a json object containing mining-related information.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"blocks": {
"type": "number",
"description": "The current block"
},
"currentblockweight": {
"type": "number",
"description": "The block weight (including reserved weight for block header, txs count and coinbase tx) of the last assembled block (only present if a block was ever assembled)"
},
"currentblocktx": {
"type": "number",
"description": "The number of block transactions (excluding coinbase) of the last assembled block (only present if a block was ever assembled)"
},
"bits": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The current nBits, compact representation of the block difficulty target"
},
"difficulty": {
"type": "number",
"description": "The current difficulty"
},
"target": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The current target"
},
"networkhashps": {
"type": "number",
"description": "The network hashes per second"
},
"pooledtx": {
"type": "number",
"description": "The size of the mempool"
},
"blockmintxfee": {
"type": "string",
"description": "Minimum feerate of packages selected for block inclusion in BTC/kvB"
},
"chain": {
"type": "string",
"description": "current network name (main, test, testnet4, signet, regtest)"
},
"signet_challenge": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The block challenge (aka. block script), in hexadecimal (only present if the current network is a signet)"
},
"next": {
"type": "object",
"properties": {
"height": {
"type": "number",
"description": "The next height"
},
"bits": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The next target nBits"
},
"difficulty": {
"type": "number",
"description": "The next difficulty"
},
"target": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The next target"
}
},
"additionalProperties": false,
"required": [
"height",
"bits",
"difficulty",
"target"
],
"description": "The next block"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"description": "any network and blockchain warnings (run with `-deprecatedrpc=warnings` to return the latest warning as a single string)"
}
},
"additionalProperties": false,
"required": [
"blocks",
"bits",
"difficulty",
"target",
"networkhashps",
"pooledtx",
"blockmintxfee",
"chain",
"next",
"warnings"
]
}
},
"x-bitcoin-category": "mining"
},
{
"name": "getnettotals",
"description": "Returns information about network traffic, including bytes in, bytes out,\nand current system time.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"totalbytesrecv": {
"type": "number",
"description": "Total bytes received"
},
"totalbytessent": {
"type": "number",
"description": "Total bytes sent"
},
"timemillis": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "Current system UNIX epoch time in milliseconds"
},
"uploadtarget": {
"type": "object",
"properties": {
"timeframe": {
"type": "number",
"description": "Length of the measuring timeframe in seconds"
},
"target": {
"type": "number",
"description": "Target in bytes"
},
"target_reached": {
"type": "boolean",
"description": "True if target is reached"
},
"serve_historical_blocks": {
"type": "boolean",
"description": "True if serving historical blocks"
},
"bytes_left_in_cycle": {
"type": "number",
"description": "Bytes left in current time cycle"
},
"time_left_in_cycle": {
"type": "number",
"description": "Seconds left in current time cycle"
}
},
"additionalProperties": false,
"required": [
"timeframe",
"target",
"target_reached",
"serve_historical_blocks",
"bytes_left_in_cycle",
"time_left_in_cycle"
]
}
},
"additionalProperties": false,
"required": [
"totalbytesrecv",
"totalbytessent",
"timemillis",
"uploadtarget"
]
}
},
"x-bitcoin-category": "network"
},
{
"name": "getnetworkhashps",
"description": "Returns the estimated network hashes per second based on the last n blocks.\nPass in [blocks] to override # of blocks, -1 specifies since last difficulty change.\nPass in [height] to estimate the network speed at the time when a certain block was found.",
"params": [
{
"name": "nblocks",
"required": false,
"schema": {
"type": "number"
},
"description": "The number of previous blocks to calculate estimate from, or -1 for blocks since last difficulty change."
},
{
"name": "height",
"required": false,
"schema": {
"type": "number"
},
"description": "To estimate at the time of the given height."
}
],
"result": {
"name": "result",
"schema": {
"type": "number"
}
},
"x-bitcoin-category": "mining"
},
{
"name": "getnetworkinfo",
"description": "Returns an object containing various state info regarding P2P networking.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"version": {
"type": "number",
"description": "the server version"
},
"subversion": {
"type": "string",
"description": "the server subversion string"
},
"protocolversion": {
"type": "number",
"description": "the protocol version"
},
"localservices": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "the services we offer to the network"
},
"localservicesnames": {
"type": "array",
"items": {
"type": "string"
},
"description": "the services we offer to the network, in human-readable form"
},
"localrelay": {
"type": "boolean",
"description": "true if transaction relay is requested from peers"
},
"timeoffset": {
"type": "number",
"description": "the time offset"
},
"connections": {
"type": "number",
"description": "the total number of connections"
},
"connections_in": {
"type": "number",
"description": "the number of inbound connections"
},
"connections_out": {
"type": "number",
"description": "the number of outbound connections"
},
"networkactive": {
"type": "boolean",
"description": "whether p2p networking is enabled"
},
"networks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "network (ipv4, ipv6, onion, i2p, cjdns)"
},
"limited": {
"type": "boolean",
"description": "is the network limited using -onlynet?"
},
"reachable": {
"type": "boolean",
"description": "is the network reachable?"
},
"proxy": {
"type": "string",
"description": "(\"host:port\") the proxy that is used for this network, or empty if none"
},
"proxy_randomize_credentials": {
"type": "boolean",
"description": "Whether randomized credentials are used"
}
},
"additionalProperties": false,
"required": [
"name",
"limited",
"reachable",
"proxy",
"proxy_randomize_credentials"
]
},
"description": "information per network"
},
"relayfee": {
"type": "number",
"description": "minimum relay fee rate for transactions in BTC/kvB"
},
"incrementalfee": {
"type": "number",
"description": "minimum fee rate increment for mempool limiting or replacement in BTC/kvB"
},
"localaddresses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "network address"
},
"port": {
"type": "number",
"description": "network port"
},
"score": {
"type": "number",
"description": "relative score"
}
},
"additionalProperties": false,
"required": [
"address",
"port",
"score"
]
},
"description": "list of local addresses"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"description": "any network and blockchain warnings (run with `-deprecatedrpc=warnings` to return the latest warning as a single string)"
}
},
"additionalProperties": false,
"required": [
"version",
"subversion",
"protocolversion",
"localservices",
"localservicesnames",
"localrelay",
"timeoffset",
"connections",
"connections_in",
"connections_out",
"networkactive",
"networks",
"relayfee",
"incrementalfee",
"localaddresses",
"warnings"
]
}
},
"x-bitcoin-category": "network"
},
{
"name": "getnewaddress",
"description": "Returns a new Bitcoin address for receiving payments.\nIf 'label' is specified, it is added to the address book \nso payments received with the address will be associated with 'label'.",
"params": [
{
"name": "label",
"required": false,
"schema": {
"type": "string"
},
"description": "The label name for the address to be linked to. It can also be set to the empty string \"\" to represent the default label. The label does not need to exist, it will be created if there is no label by the given name."
},
{
"name": "address_type",
"required": false,
"schema": {
"type": "string"
},
"description": "The address type to use. Options are \"legacy\", \"p2sh-segwit\", \"bech32\", \"bech32m\"."
}
],
"result": {
"name": "result",
"schema": {
"type": "string"
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "getnodeaddresses",
"description": "Return known addresses, after filtering for quality and recency.\nThese can potentially be used to find new peers in the network.\nThe total number of addresses known to the node may be higher.",
"params": [
{
"name": "count",
"required": false,
"schema": {
"type": "number"
},
"description": "The maximum number of addresses to return. Specify 0 to return all known addresses."
},
{
"name": "network",
"required": false,
"schema": {
"type": "string"
},
"description": "Return only addresses of the specified network. Can be one of: ipv4, ipv6, onion, i2p, cjdns."
}
],
"result": {
"name": "result",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"time": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The UNIX epoch time when the node was last seen"
},
"services": {
"type": "number",
"description": "The services offered by the node"
},
"address": {
"type": "string",
"description": "The address of the node"
},
"port": {
"type": "number",
"description": "The port number of the node"
},
"network": {
"type": "string",
"description": "The network (ipv4, ipv6, onion, i2p, cjdns) the node connected through"
}
},
"additionalProperties": false,
"required": [
"time",
"services",
"address",
"port",
"network"
]
}
}
},
"x-bitcoin-category": "network"
},
{
"name": "getopenrpcinfo",
"description": "Returns an OpenRPC document for currently available RPC commands.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"openrpc": {
"type": "string",
"description": "OpenRPC specification version."
},
"info": {
"type": "object",
"properties": {
},
"additionalProperties": false,
"description": "Metadata about this JSON-RPC interface."
},
"methods": {
"type": "array",
"items": {
"type": "object",
"properties": {
},
"additionalProperties": false
},
"description": "Documented RPC methods."
}
},
"additionalProperties": false,
"required": [
"openrpc",
"info",
"methods"
]
}
},
"x-bitcoin-category": "control"
},
{
"name": "getpeerinfo",
"description": "Returns data about each connected network peer as a json array of objects.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Peer index"
},
"addr": {
"type": "string",
"description": "(host:port) The IP address/hostname optionally followed by :port of the peer"
},
"addrbind": {
"type": "string",
"description": "(ip:port) Bind address of the connection to the peer"
},
"addrlocal": {
"type": "string",
"description": "(ip:port) Local address as reported by the peer"
},
"network": {
"type": "string",
"description": "Network (ipv4, ipv6, onion, i2p, cjdns, not_publicly_routable)"
},
"mapped_as": {
"type": "number",
"description": "Mapped AS (Autonomous System) number at the end of the BGP route to the peer, used for diversifying\npeer selection (only displayed if the -asmap config option is set)"
},
"services": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The services offered"
},
"servicesnames": {
"type": "array",
"items": {
"type": "string"
},
"description": "the services offered, in human-readable form"
},
"relaytxes": {
"type": "boolean",
"description": "Whether we relay transactions to this peer"
},
"last_inv_sequence": {
"type": "number",
"description": "Mempool sequence number of this peer's last INV"
},
"inv_to_send": {
"type": "number",
"description": "How many txs we have queued to announce to this peer"
},
"lastsend": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The UNIX epoch time of the last send"
},
"lastrecv": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The UNIX epoch time of the last receive"
},
"last_transaction": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The UNIX epoch time of the last valid transaction received from this peer"
},
"last_block": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The UNIX epoch time of the last block received from this peer"
},
"bytessent": {
"type": "number",
"description": "The total bytes sent"
},
"bytesrecv": {
"type": "number",
"description": "The total bytes received"
},
"conntime": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The UNIX epoch time of the connection"
},
"timeoffset": {
"type": "number",
"description": "The time offset in seconds"
},
"pingtime": {
"type": "number",
"description": "The last ping time in seconds, if any"
},
"minping": {
"type": "number",
"description": "The minimum observed ping time in seconds, if any"
},
"pingwait": {
"type": "number",
"description": "The duration in seconds of an outstanding ping (if non-zero)"
},
"version": {
"type": "number",
"description": "The peer version, such as 70001"
},
"subver": {
"type": "string",
"description": "The string version"
},
"inbound": {
"type": "boolean",
"description": "Inbound (true) or Outbound (false)"
},
"bip152_hb_to": {
"type": "boolean",
"description": "Whether we selected peer as (compact blocks) high-bandwidth peer"
},
"bip152_hb_from": {
"type": "boolean",
"description": "Whether peer selected us as (compact blocks) high-bandwidth peer"
},
"startingheight": {
"type": "number",
"description": "(DEPRECATED, returned only if config option -deprecatedrpc=startingheight is passed) The starting height (block) of the peer"
},
"presynced_headers": {
"type": "number",
"description": "The current height of header pre-synchronization with this peer, or -1 if no low-work sync is in progress"
},
"synced_headers": {
"type": "number",
"description": "The last header we have in common with this peer"
},
"synced_blocks": {
"type": "number",
"description": "The last block we have in common with this peer"
},
"inflight": {
"type": "array",
"items": {
"type": "number"
}
},
"addr_relay_enabled": {
"type": "boolean",
"description": "Whether we participate in address relay with this peer"
},
"addr_processed": {
"type": "number",
"description": "The total number of addresses processed, excluding those dropped due to rate limiting"
},
"addr_rate_limited": {
"type": "number",
"description": "The total number of addresses dropped due to rate limiting"
},
"permissions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Any special permissions that have been granted to this peer"
},
"minfeefilter": {
"type": "number",
"description": "The minimum fee rate for transactions this peer accepts"
},
"bytessent_per_msg": {
"type": "object",
"additionalProperties": {
"type": "number"
}
},
"bytesrecv_per_msg": {
"type": "object",
"additionalProperties": {
"type": "number"
}
},
"connection_type": {
"type": "string",
"description": "Type of connection: \noutbound-full-relay (default automatic connections),\nblock-relay-only (does not relay transactions or addresses),\ninbound (initiated by the peer),\nmanual (added via addnode RPC or -addnode/-connect configuration options),\naddr-fetch (short-lived automatic connection for soliciting addresses),\nfeeler (short-lived automatic connection for testing addresses),\nprivate-broadcast (short-lived automatic connection for broadcasting privacy-sensitive transactions).\nPlease note this output is unlikely to be stable in upcoming releases as we iterate to\nbest capture connection behaviors."
},
"transport_protocol_type": {
"type": "string",
"description": "Type of transport protocol: \ndetecting (peer could be v1 or v2),\nv1 (plaintext transport protocol),\nv2 (BIP324 encrypted transport protocol).\n"
},
"session_id": {
"type": "string",
"description": "The session ID for this connection, or \"\" if there is none (\"v2\" transport protocol only).\n"
}
},
"additionalProperties": false,
"required": [
"id",
"addr",
"network",
"services",
"servicesnames",
"relaytxes",
"last_inv_sequence",
"inv_to_send",
"lastsend",
"lastrecv",
"last_transaction",
"last_block",
"bytessent",
"bytesrecv",
"conntime",
"timeoffset",
"version",
"subver",
"inbound",
"bip152_hb_to",
"bip152_hb_from",
"presynced_headers",
"synced_headers",
"synced_blocks",
"inflight",
"addr_relay_enabled",
"addr_processed",
"addr_rate_limited",
"permissions",
"minfeefilter",
"bytessent_per_msg",
"bytesrecv_per_msg",
"connection_type",
"transport_protocol_type",
"session_id"
]
}
}
},
"x-bitcoin-category": "network"
},
{
"name": "getprioritisedtransactions",
"description": "Returns a map of all user-created (see prioritisetransaction) fee deltas by txid, and whether the tx is present in mempool.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"fee_delta": {
"type": "number",
"description": "transaction fee delta in satoshis"
},
"in_mempool": {
"type": "boolean",
"description": "whether this transaction is currently in mempool"
},
"modified_fee": {
"type": "number",
"description": "modified fee in satoshis. Only returned if in_mempool=true"
}
},
"additionalProperties": false,
"required": [
"fee_delta",
"in_mempool"
]
}
}
},
"x-bitcoin-category": "mining"
},
{
"name": "getprivatebroadcastinfo",
"description": "Returns information about transactions that are currently being privately broadcast.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"transactions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction hash in hex"
},
"wtxid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction witness hash in hex"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The serialized, hex-encoded transaction data"
},
"peers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "The address of the peer to which the transaction was sent"
},
"sent": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The time this transaction was picked for sending to this peer via private broadcast (seconds since epoch)"
},
"received": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The time this peer acknowledged reception of the transaction (seconds since epoch)"
}
},
"additionalProperties": false,
"required": [
"address",
"sent"
]
},
"description": "Per-peer send and acknowledgment information for this transaction"
}
},
"additionalProperties": false,
"required": [
"txid",
"wtxid",
"hex",
"peers"
]
}
}
},
"additionalProperties": false,
"required": [
"transactions"
]
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "getrawchangeaddress",
"description": "Returns a new Bitcoin address, for receiving change.\nThis is for use with raw transactions, NOT normal use.",
"params": [
{
"name": "address_type",
"required": false,
"schema": {
"type": "string"
},
"description": "The address type to use. Options are \"legacy\", \"p2sh-segwit\", \"bech32\", \"bech32m\"."
}
],
"result": {
"name": "result",
"schema": {
"type": "string"
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "getrawmempool",
"description": "Returns all transaction ids in memory pool as a json array of string transaction ids.\n\nHint: use getmempoolentry to fetch a specific transaction from the mempool.",
"params": [
{
"name": "verbose",
"required": false,
"schema": {
"type": "boolean"
},
"description": "True for a json object, false for array of transaction ids"
},
{
"name": "mempool_sequence",
"required": false,
"schema": {
"type": "boolean"
},
"description": "If verbose=false, returns a json object with transaction list and mempool sequence number attached."
}
],
"result": {
"name": "result",
"schema": {
"oneOf": [
{
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "for verbose = false"
},
{
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"vsize": {
"type": "number",
"description": "virtual transaction size as defined in BIP 141. This is different from actual serialized size for witness transactions as witness data is discounted."
},
"weight": {
"type": "number",
"description": "transaction weight as defined in BIP 141."
},
"time": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "local time transaction entered pool in seconds since 1 Jan 1970 GMT"
},
"height": {
"type": "number",
"description": "block height when transaction entered pool"
},
"descendantcount": {
"type": "number",
"description": "number of in-mempool descendant transactions (including this one)"
},
"descendantsize": {
"type": "number",
"description": "virtual transaction size of in-mempool descendants (including this one)"
},
"ancestorcount": {
"type": "number",
"description": "number of in-mempool ancestor transactions (including this one)"
},
"ancestorsize": {
"type": "number",
"description": "virtual transaction size of in-mempool ancestors (including this one)"
},
"chunkweight": {
"type": "number",
"description": "sigops-adjusted weight (as defined in BIP 141 and modified by '-bytespersigop') of this transaction's chunk"
},
"wtxid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "hash of serialized transaction, including witness data"
},
"fees": {
"type": "object",
"properties": {
"base": {
"type": "string",
"description": "transaction fee, denominated in BTC"
},
"modified": {
"type": "string",
"description": "transaction fee with fee deltas used for mining priority, denominated in BTC"
},
"ancestor": {
"type": "string",
"description": "transaction fees of in-mempool ancestors (including this one) with fee deltas used for mining priority, denominated in BTC"
},
"descendant": {
"type": "string",
"description": "transaction fees of in-mempool descendants (including this one) with fee deltas used for mining priority, denominated in BTC"
},
"chunk": {
"type": "string",
"description": "transaction fees of chunk, denominated in BTC"
}
},
"additionalProperties": false,
"required": [
"base",
"modified",
"ancestor",
"descendant",
"chunk"
]
},
"depends": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "unconfirmed transactions used as inputs for this transaction"
},
"spentby": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "unconfirmed transactions spending outputs from this transaction"
},
"bip125-replaceable": {
"type": "boolean",
"description": "Whether this transaction signals BIP125 replaceability or has an unconfirmed ancestor signaling BIP125 replaceability. (DEPRECATED)\n"
},
"unbroadcast": {
"type": "boolean",
"description": "Whether this transaction is currently unbroadcast (initial broadcast not yet acknowledged by any peers)"
}
},
"additionalProperties": false,
"required": [
"vsize",
"weight",
"time",
"height",
"descendantcount",
"descendantsize",
"ancestorcount",
"ancestorsize",
"chunkweight",
"wtxid",
"fees",
"depends",
"spentby",
"bip125-replaceable",
"unbroadcast"
]
},
"description": "for verbose = true"
},
{
"type": "object",
"properties": {
"txids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"mempool_sequence": {
"type": "number",
"description": "The mempool sequence value."
}
},
"additionalProperties": false,
"required": [
"txids",
"mempool_sequence"
],
"description": "for verbose = false and mempool_sequence = true"
}
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getrawtransaction",
"description": "By default, this call only returns a transaction if it is in the mempool. If -txindex is enabled\nand no blockhash argument is passed, it will return the transaction if it is in the mempool or any block.\nIf a blockhash argument is passed, it will return the transaction if\nthe specified block is available and the transaction is in that block.\n\nHint: Use gettransaction for wallet transactions.\n\nIf verbosity is 0 or omitted, returns the serialized transaction as a hex-encoded string.\nIf verbosity is 1, returns a JSON Object with information about the transaction.\nIf verbosity is 2, returns a JSON Object with information about the transaction, including fee and prevout information.",
"params": [
{
"name": "txid",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The transaction id"
},
{
"name": "verbosity",
"required": false,
"schema": {
"type": "number"
},
"x-bitcoin-aliases": [
"verbose"
],
"description": "0 for hex-encoded data, 1 for a JSON object, and 2 for JSON object with fee and prevout"
},
{
"name": "blockhash",
"required": false,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The block in which to look for the transaction"
}
],
"result": {
"name": "result",
"schema": {
"oneOf": [
{
"type": "string",
"description": "if verbosity is not set or set to 0"
},
{
"type": "object",
"properties": {
"in_active_chain": {
"type": "boolean",
"description": "Whether specified block is in the active chain or not (only present with explicit \"blockhash\" argument)"
},
"blockhash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "the block hash"
},
"confirmations": {
"type": "number",
"description": "The confirmations"
},
"blocktime": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The block time expressed in UNIX epoch time"
},
"time": {
"type": "number",
"description": "Same as \"blocktime\""
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The serialized, hex-encoded data for 'txid'"
},
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id (same as provided)"
},
"hash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction hash (differs from txid for witness transactions)"
},
"size": {
"type": "number",
"description": "The serialized transaction size"
},
"vsize": {
"type": "number",
"description": "The virtual transaction size (differs from size for witness transactions)"
},
"weight": {
"type": "number",
"description": "The transaction's weight (between vsize*4-3 and vsize*4)"
},
"version": {
"type": "number",
"description": "The version"
},
"locktime": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The lock time"
},
"vin": {
"type": "array",
"items": {
"type": "object",
"properties": {
"coinbase": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The coinbase value (only if coinbase transaction)"
},
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id (if not coinbase transaction)"
},
"vout": {
"type": "number",
"description": "The output number (if not coinbase transaction)"
},
"scriptSig": {
"type": "object",
"properties": {
"asm": {
"type": "string",
"description": "Disassembly of the signature script"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The raw signature script bytes, hex-encoded"
}
},
"additionalProperties": false,
"required": [
"asm",
"hex"
],
"description": "The script (if not coinbase transaction)"
},
"txinwitness": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"sequence": {
"type": "number",
"description": "The script sequence number"
}
},
"additionalProperties": false,
"required": [
"sequence"
]
}
},
"vout": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The value in BTC"
},
"n": {
"type": "number",
"description": "index"
},
"scriptPubKey": {
"type": "object",
"properties": {
"asm": {
"type": "string",
"description": "Disassembly of the output script"
},
"desc": {
"type": "string",
"description": "Inferred descriptor for the output"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The raw output script bytes, hex-encoded"
},
"address": {
"type": "string",
"description": "The Bitcoin address (only if a well-defined address exists)"
},
"type": {
"type": "string",
"description": "The type (one of: nonstandard, anchor, pubkey, pubkeyhash, scripthash, multisig, nulldata, witness_v0_scripthash, witness_v0_keyhash, witness_v1_taproot, witness_unknown)"
}
},
"additionalProperties": false,
"required": [
"asm",
"desc",
"hex",
"type"
]
}
},
"additionalProperties": false,
"required": [
"value",
"n",
"scriptPubKey"
]
}
}
},
"additionalProperties": false,
"required": [
"hex",
"txid",
"hash",
"size",
"vsize",
"weight",
"version",
"locktime",
"vin",
"vout"
],
"description": "if verbosity is set to 1"
},
{
"type": "object",
"properties": {
"fee": {
"type": "number",
"description": "transaction fee in BTC, omitted if block undo data is not available"
},
"vin": {
"type": "array",
"items": {
"type": "object",
"properties": {
"prevout": {
"type": "object",
"properties": {
"generated": {
"type": "boolean",
"description": "Coinbase or not"
},
"height": {
"type": "number",
"description": "The height of the prevout"
},
"value": {
"type": "string",
"description": "The value in BTC"
},
"scriptPubKey": {
"type": "object",
"properties": {
"asm": {
"type": "string",
"description": "Disassembly of the output script"
},
"desc": {
"type": "string",
"description": "Inferred descriptor for the output"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The raw output script bytes, hex-encoded"
},
"address": {
"type": "string",
"description": "The Bitcoin address (only if a well-defined address exists)"
},
"type": {
"type": "string",
"description": "The type (one of: nonstandard, anchor, pubkey, pubkeyhash, scripthash, multisig, nulldata, witness_v0_scripthash, witness_v0_keyhash, witness_v1_taproot, witness_unknown)"
}
},
"additionalProperties": false,
"required": [
"asm",
"desc",
"hex",
"type"
]
}
},
"additionalProperties": false,
"required": [
"generated",
"height",
"value",
"scriptPubKey"
],
"description": "The previous output, omitted if block undo data is not available"
}
},
"additionalProperties": true
}
}
},
"additionalProperties": true,
"required": [
"vin"
],
"description": "for verbosity = 2"
}
]
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "getreceivedbyaddress",
"description": "Returns the total amount received by the given address in transactions with at least minconf confirmations.",
"params": [
{
"name": "address",
"required": true,
"schema": {
"type": "string"
},
"description": "The bitcoin address for transactions."
},
{
"name": "minconf",
"required": false,
"schema": {
"type": "number"
},
"description": "Only include transactions confirmed at least this many times."
},
{
"name": "include_immature_coinbase",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Include immature coinbase transactions."
}
],
"result": {
"name": "result",
"schema": {
"type": "string"
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "getreceivedbylabel",
"description": "Returns the total amount received by addresses with <label> in transactions with at least [minconf] confirmations.",
"params": [
{
"name": "label",
"required": true,
"schema": {
"type": "string"
},
"description": "The selected label, may be the default label using \"\"."
},
{
"name": "minconf",
"required": false,
"schema": {
"type": "number"
},
"description": "Only include transactions confirmed at least this many times."
},
{
"name": "include_immature_coinbase",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Include immature coinbase transactions."
}
],
"result": {
"name": "result",
"schema": {
"type": "string"
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "getrpcinfo",
"description": "Returns details of the RPC server.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"active_commands": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string",
"description": "The name of the RPC command"
},
"duration": {
"type": "number",
"description": "The running time in microseconds"
}
},
"additionalProperties": false,
"required": [
"method",
"duration"
]
},
"description": "All active commands"
},
"logpath": {
"type": "string",
"description": "The complete file path to the debug log"
}
},
"additionalProperties": false,
"required": [
"active_commands",
"logpath"
]
}
},
"x-bitcoin-category": "control"
},
{
"name": "gettransaction",
"description": "Get detailed information about in-wallet transaction <txid>",
"params": [
{
"name": "txid",
"required": true,
"schema": {
"type": "string"
},
"description": "The transaction id"
},
{
"name": "include_watchonly",
"required": false,
"schema": {
"type": "boolean"
},
"description": "(DEPRECATED) No longer used"
},
{
"name": "verbose",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Whether to include a `decoded` field containing the decoded transaction (equivalent to RPC decoderawtransaction)"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"amount": {
"type": "string",
"description": "The amount in BTC"
},
"fee": {
"type": "string",
"description": "The amount of the fee in BTC. This is negative and only available for the\n'send' category of transactions."
},
"confirmations": {
"type": "number",
"description": "The number of confirmations for the transaction. Negative confirmations means the\ntransaction conflicted that many blocks ago."
},
"generated": {
"type": "boolean",
"description": "Only present if the transaction's only input is a coinbase one."
},
"trusted": {
"type": "boolean",
"description": "Whether we consider the transaction to be trusted and safe to spend from.\nOnly present when the transaction has 0 confirmations (or negative confirmations, if conflicted)."
},
"blockhash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The block hash containing the transaction."
},
"blockheight": {
"type": "number",
"description": "The block height containing the transaction."
},
"blockindex": {
"type": "number",
"description": "The index of the transaction in the block that includes it."
},
"blocktime": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The block time expressed in UNIX epoch time."
},
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id."
},
"wtxid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hash of serialized transaction, including witness data."
},
"walletconflicts": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "Confirmed transactions that have been detected by the wallet to conflict with this transaction."
},
"replaced_by_txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "Only if 'category' is 'send'. The txid if this tx was replaced."
},
"replaces_txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "Only if 'category' is 'send'. The txid if this tx replaces another."
},
"mempoolconflicts": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "Transactions in the mempool that directly conflict with either this transaction or an ancestor transaction"
},
"to": {
"type": "string",
"description": "If a comment to is associated with the transaction."
},
"time": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The transaction time expressed in UNIX epoch time."
},
"timereceived": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The time received expressed in UNIX epoch time."
},
"comment": {
"type": "string",
"description": "If a comment is associated with the transaction, only present if not empty."
},
"bip125-replaceable": {
"type": "string",
"description": "(\"yes|no|unknown\") Whether this transaction signals BIP125 replaceability or has an unconfirmed ancestor signaling BIP125 replaceability.\nMay be unknown for unconfirmed transactions not in the mempool because their unconfirmed ancestors are unknown."
},
"parent_descs": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only if 'category' is 'received'. List of parent descriptors for the output script of this coin."
},
"details": {
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "The bitcoin address involved in the transaction."
},
"category": {
"type": "string",
"description": "The transaction category.\n\"send\" Transactions sent.\n\"receive\" Non-coinbase transactions received.\n\"generate\" Coinbase transactions received with more than 100 confirmations.\n\"immature\" Coinbase transactions received with 100 or fewer confirmations.\n\"orphan\" Orphaned coinbase transactions received."
},
"amount": {
"type": "string",
"description": "The amount in BTC"
},
"label": {
"type": "string",
"description": "A comment for the address/transaction, if any"
},
"vout": {
"type": "number",
"description": "the vout value"
},
"fee": {
"type": "string",
"description": "The amount of the fee in BTC. This is negative and only available for the \n'send' category of transactions."
},
"abandoned": {
"type": "boolean",
"description": "'true' if the transaction has been abandoned (inputs are respendable)."
},
"parent_descs": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only if 'category' is 'received'. List of parent descriptors for the output script of this coin."
}
},
"additionalProperties": false,
"required": [
"category",
"amount",
"vout",
"abandoned"
]
}
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "Raw data for transaction"
},
"decoded": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id"
},
"hash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction hash (differs from txid for witness transactions)"
},
"size": {
"type": "number",
"description": "The serialized transaction size"
},
"vsize": {
"type": "number",
"description": "The virtual transaction size (differs from size for witness transactions)"
},
"weight": {
"type": "number",
"description": "The transaction's weight (between vsize*4-3 and vsize*4)"
},
"version": {
"type": "number",
"description": "The version"
},
"locktime": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The lock time"
},
"vin": {
"type": "array",
"items": {
"type": "object",
"properties": {
"coinbase": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The coinbase value (only if coinbase transaction)"
},
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id (if not coinbase transaction)"
},
"vout": {
"type": "number",
"description": "The output number (if not coinbase transaction)"
},
"scriptSig": {
"type": "object",
"properties": {
"asm": {
"type": "string",
"description": "Disassembly of the signature script"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The raw signature script bytes, hex-encoded"
}
},
"additionalProperties": false,
"required": [
"asm",
"hex"
],
"description": "The script (if not coinbase transaction)"
},
"txinwitness": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"sequence": {
"type": "number",
"description": "The script sequence number"
}
},
"additionalProperties": false,
"required": [
"sequence"
]
}
},
"vout": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The value in BTC"
},
"n": {
"type": "number",
"description": "index"
},
"scriptPubKey": {
"type": "object",
"properties": {
"asm": {
"type": "string",
"description": "Disassembly of the output script"
},
"desc": {
"type": "string",
"description": "Inferred descriptor for the output"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The raw output script bytes, hex-encoded"
},
"address": {
"type": "string",
"description": "The Bitcoin address (only if a well-defined address exists)"
},
"type": {
"type": "string",
"description": "The type (one of: nonstandard, anchor, pubkey, pubkeyhash, scripthash, multisig, nulldata, witness_v0_scripthash, witness_v0_keyhash, witness_v1_taproot, witness_unknown)"
}
},
"additionalProperties": false,
"required": [
"asm",
"desc",
"hex",
"type"
]
},
"ischange": {
"type": "boolean",
"description": "Output script is change (only present if true)"
}
},
"additionalProperties": false,
"required": [
"value",
"n",
"scriptPubKey"
]
}
}
},
"additionalProperties": false,
"required": [
"txid",
"hash",
"size",
"vsize",
"weight",
"version",
"locktime",
"vin",
"vout"
],
"description": "The decoded transaction (only present when `verbose` is passed)"
},
"lastprocessedblock": {
"type": "object",
"properties": {
"hash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "hash of the block this information was generated on"
},
"height": {
"type": "number",
"description": "height of the block this information was generated on"
}
},
"additionalProperties": false,
"required": [
"hash",
"height"
],
"description": "hash and height of the block this information was generated on"
}
},
"additionalProperties": false,
"required": [
"amount",
"confirmations",
"txid",
"wtxid",
"walletconflicts",
"mempoolconflicts",
"time",
"timereceived",
"bip125-replaceable",
"details",
"hex",
"lastprocessedblock"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "gettxout",
"description": "Returns details about an unspent transaction output.",
"params": [
{
"name": "txid",
"required": true,
"schema": {
"type": "string"
},
"description": "The transaction id"
},
{
"name": "n",
"required": true,
"schema": {
"type": "number"
},
"description": "vout number"
},
{
"name": "include_mempool",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Whether to include the mempool. Note that an unspent output that is spent in the mempool won't appear."
}
],
"result": {
"name": "result",
"schema": {
"oneOf": [
{
"type": "null",
"description": "If the UTXO was not found"
},
{
"type": "object",
"properties": {
"bestblock": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hash of the block at the tip of the chain"
},
"confirmations": {
"type": "number",
"description": "The number of confirmations"
},
"value": {
"type": "string",
"description": "The transaction value in BTC"
},
"scriptPubKey": {
"type": "object",
"properties": {
"asm": {
"type": "string",
"description": "Disassembly of the output script"
},
"desc": {
"type": "string",
"description": "Inferred descriptor for the output"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The raw output script bytes, hex-encoded"
},
"type": {
"type": "string",
"description": "The type, eg pubkeyhash"
},
"address": {
"type": "string",
"description": "The Bitcoin address (only if a well-defined address exists)"
}
},
"additionalProperties": false,
"required": [
"asm",
"desc",
"hex",
"type"
]
},
"coinbase": {
"type": "boolean",
"description": "Coinbase or not"
}
},
"additionalProperties": false,
"required": [
"bestblock",
"confirmations",
"value",
"scriptPubKey",
"coinbase"
],
"description": "Otherwise"
}
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "gettxoutproof",
"description": "Returns a hex-encoded proof that \"txid\" was included in a block.\n\nNOTE: By default this function only works sometimes. This is when there is an\nunspent output in the utxo for this transaction. To make it always work,\nyou need to maintain a transaction index, using the -txindex command line option or\nspecify the block in which the transaction is included manually (by blockhash).",
"params": [
{
"name": "txids",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"description": "The txids to filter"
},
{
"name": "blockhash",
"required": false,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "If specified, looks for txid in the block with this hash"
}
],
"result": {
"name": "result",
"schema": {
"type": "string"
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "gettxoutsetinfo",
"description": "Returns statistics about the unspent transaction output set.\nNote this call may take some time if you are not using coinstatsindex.",
"params": [
{
"name": "hash_type",
"required": false,
"schema": {
"type": "string"
},
"description": "Which UTXO set hash should be calculated. Options: 'hash_serialized_3' (the legacy algorithm), 'muhash', 'none'."
},
{
"name": "hash_or_height",
"required": false,
"schema": {
"type": "number"
},
"x-bitcoin-type-str": [
"",
"string or numeric"
],
"description": "The block hash or height of the target height (only available with coinstatsindex)."
},
{
"name": "use_index",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Use coinstatsindex, if available."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"height": {
"type": "number",
"description": "The block height (index) of the returned statistics"
},
"bestblock": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hash of the block at which these statistics are calculated"
},
"txouts": {
"type": "number",
"description": "The number of unspent transaction outputs"
},
"bogosize": {
"type": "number",
"description": "Database-independent, meaningless metric indicating the UTXO set size"
},
"hash_serialized_3": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The serialized hash (only present if 'hash_serialized_3' hash_type is chosen)"
},
"muhash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The serialized hash (only present if 'muhash' hash_type is chosen)"
},
"transactions": {
"type": "number",
"description": "The number of transactions with unspent outputs (not available when coinstatsindex is used)"
},
"disk_size": {
"type": "number",
"description": "The estimated size of the chainstate on disk (not available when coinstatsindex is used)"
},
"total_amount": {
"type": "string",
"description": "The total amount of coins in the UTXO set"
},
"total_unspendable_amount": {
"type": "string",
"description": "The total amount of coins permanently excluded from the UTXO set (only available if coinstatsindex is used)"
},
"block_info": {
"type": "object",
"properties": {
"prevout_spent": {
"type": "string",
"description": "Total amount of all prevouts spent in this block"
},
"coinbase": {
"type": "string",
"description": "Coinbase subsidy amount of this block"
},
"new_outputs_ex_coinbase": {
"type": "string",
"description": "Total amount of new outputs created by this block"
},
"unspendable": {
"type": "string",
"description": "Total amount of unspendable outputs created in this block"
},
"unspendables": {
"type": "object",
"properties": {
"genesis_block": {
"type": "string",
"description": "The unspendable amount of the Genesis block subsidy"
},
"bip30": {
"type": "string",
"description": "Transactions overridden by duplicates (no longer possible with BIP30)"
},
"scripts": {
"type": "string",
"description": "Amounts sent to scripts that are unspendable (for example OP_RETURN outputs)"
},
"unclaimed_rewards": {
"type": "string",
"description": "Fee rewards that miners did not claim in their coinbase transaction"
}
},
"additionalProperties": false,
"required": [
"genesis_block",
"bip30",
"scripts",
"unclaimed_rewards"
],
"description": "Detailed view of the unspendable categories"
}
},
"additionalProperties": false,
"required": [
"prevout_spent",
"coinbase",
"new_outputs_ex_coinbase",
"unspendable",
"unspendables"
],
"description": "Info on amounts in the block at this block height (only available if coinstatsindex is used)"
}
},
"additionalProperties": false,
"required": [
"height",
"bestblock",
"txouts",
"bogosize",
"total_amount"
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "gettxspendingprevout",
"description": "Scans the mempool (and the txospenderindex, if available) to find transactions spending any of the given outputs",
"params": [
{
"name": "outputs",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id"
},
"vout": {
"type": "number",
"description": "The output number"
}
},
"additionalProperties": false,
"required": [
"txid",
"vout"
]
}
},
"description": "The transaction outputs that we want to check, and within each, the txid (string) vout (numeric)."
},
{
"name": "options",
"required": false,
"schema": {
"type": "object",
"properties": {
"mempool_only": {
"type": "boolean",
"description": "If false and mempool lacks a relevant spend, use txospenderindex (throws an exception if not available)."
},
"return_spending_tx": {
"type": "boolean",
"description": "If true, return the full spending tx."
}
},
"additionalProperties": false
}
}
],
"result": {
"name": "result",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "the transaction id of the checked output"
},
"vout": {
"type": "number",
"description": "the vout value of the checked output"
},
"spendingtxid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "the transaction id of the mempool transaction spending this output (omitted if unspent)"
},
"spendingtx": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "the transaction spending this output (only if return_spending_tx is set, omitted if unspent)"
},
"blockhash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "the hash of the spending block (omitted if unspent or the spending tx is not confirmed)"
}
},
"additionalProperties": false,
"required": [
"txid",
"vout"
]
}
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "getwalletinfo",
"description": "Returns an object containing various wallet state info.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"walletname": {
"type": "string",
"description": "the wallet name"
},
"walletversion": {
"type": "number",
"description": "(DEPRECATED) only related to unsupported legacy wallet, returns the latest version 169900 for backwards compatibility"
},
"format": {
"type": "string",
"description": "the database format (only sqlite)"
},
"txcount": {
"type": "number",
"description": "the total number of transactions in the wallet"
},
"keypoolsize": {
"type": "number",
"description": "how many new keys are pre-generated (only counts external keys)"
},
"keypoolsize_hd_internal": {
"type": "number",
"description": "how many new keys are pre-generated for internal use (used for change outputs, only appears if the wallet is using this feature, otherwise external keys are used)"
},
"unlocked_until": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "the UNIX epoch time until which the wallet is unlocked for transfers, or 0 if the wallet is locked (only present for passphrase-encrypted wallets)"
},
"private_keys_enabled": {
"type": "boolean",
"description": "false if privatekeys are disabled for this wallet (enforced watch-only wallet)"
},
"avoid_reuse": {
"type": "boolean",
"description": "whether this wallet tracks clean/dirty coins in terms of reuse"
},
"scanning": {
"type": "object",
"properties": {
"duration": {
"type": "number",
"description": "elapsed seconds since scan start"
},
"progress": {
"type": "number",
"description": "scanning progress percentage [0.0, 1.0]"
}
},
"additionalProperties": false,
"required": [
"duration",
"progress"
],
"description": "current scanning details, or false if no scan is in progress"
},
"descriptors": {
"type": "boolean",
"description": "whether this wallet uses descriptors for output script management"
},
"external_signer": {
"type": "boolean",
"description": "whether this wallet is configured to use an external signer such as a hardware wallet"
},
"blank": {
"type": "boolean",
"description": "Whether this wallet intentionally does not contain any keys, scripts, or descriptors"
},
"birthtime": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The start time for blocks scanning. It could be modified by (re)importing any descriptor with an earlier timestamp."
},
"flags": {
"type": "array",
"items": {
"type": "string"
},
"description": "The flags currently set on the wallet"
},
"lastprocessedblock": {
"type": "object",
"properties": {
"hash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "hash of the block this information was generated on"
},
"height": {
"type": "number",
"description": "height of the block this information was generated on"
}
},
"additionalProperties": false,
"required": [
"hash",
"height"
],
"description": "hash and height of the block this information was generated on"
}
},
"additionalProperties": false,
"required": [
"walletname",
"walletversion",
"format",
"txcount",
"keypoolsize",
"private_keys_enabled",
"avoid_reuse",
"scanning",
"descriptors",
"external_signer",
"blank",
"flags",
"lastprocessedblock"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "getzmqnotifications",
"description": "Returns information about the active ZeroMQ notifications.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Type of notification"
},
"address": {
"type": "string",
"description": "Address of the publisher"
},
"hwm": {
"type": "number",
"description": "Outbound message high water mark"
}
},
"additionalProperties": false,
"required": [
"type",
"address",
"hwm"
]
}
}
},
"x-bitcoin-category": "zmq"
},
{
"name": "help",
"description": "List all commands, or get help for a specified command.",
"params": [
{
"name": "command",
"required": false,
"schema": {
"type": "string"
},
"description": "The command to get help on"
}
],
"result": {
"name": "result",
"schema": {
"type": "string"
}
},
"x-bitcoin-category": "control"
},
{
"name": "importdescriptors",
"description": "Import descriptors. This will trigger a rescan of the blockchain based on the earliest timestamp of all descriptors being imported. Requires a new wallet backup.\nWhen importing descriptors with multipath key expressions, if the multipath specifier contains exactly two elements, the descriptor produced from the second element will be imported as an internal descriptor.\n\nNote: This call can take over an hour to complete if using an early timestamp; during that time, other rpc calls\nmay report that the imported keys, addresses or scripts exist but related transactions are still missing.\nThe rescan is significantly faster if block filters are available (using startup option \"-blockfilterindex=1\").",
"params": [
{
"name": "requests",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"desc": {
"type": "string",
"description": "Descriptor to import."
},
"active": {
"type": "boolean",
"description": "Set this descriptor to be the active descriptor for the corresponding output type/externality"
},
"range": {
"oneOf": [
{
"type": "number"
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"minItems": 2,
"maxItems": 2
}
],
"description": "If a ranged descriptor is used, this specifies the end or the range (in the form [begin,end]) to import"
},
"next_index": {
"type": "number",
"description": "If a ranged descriptor is set to active, this specifies the next index to generate addresses from"
},
"timestamp": {
"type": "number",
"description": "Time from which to start rescanning the blockchain for this descriptor, in UNIX epoch time\nUse the string \"now\" to substitute the current synced blockchain time.\n\"now\" can be specified to bypass scanning, for outputs which are known to never have been used, and\n0 can be specified to scan the entire blockchain. Blocks up to 2 hours before the earliest timestamp\nof all descriptors being imported will be scanned as well as the mempool.",
"x-bitcoin-type-str": [
"timestamp | \"now\"",
"integer / string"
]
},
"internal": {
"type": "boolean",
"description": "Whether matching outputs should be treated as not incoming payments (e.g. change)"
},
"label": {
"type": "string",
"description": "Label to assign to the address, only allowed with internal=false. Disabled for ranged descriptors"
}
},
"additionalProperties": false,
"required": [
"desc",
"timestamp"
]
}
},
"description": "Data to be imported"
}
],
"result": {
"name": "result",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"error": {
"type": "object",
"properties": {
},
"additionalProperties": true
}
},
"additionalProperties": false,
"required": [
"success"
]
}
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "importmempool",
"description": "Import a mempool.dat file and attempt to add its contents to the mempool.\nWarning: Importing untrusted files is dangerous, especially if metadata from the file is taken over.",
"params": [
{
"name": "filepath",
"required": true,
"schema": {
"type": "string"
},
"description": "The mempool file"
},
{
"name": "options",
"required": false,
"schema": {
"type": "object",
"properties": {
"use_current_time": {
"type": "boolean",
"description": "Whether to use the current system time or use the entry time metadata from the mempool file.\nWarning: Importing untrusted metadata may lead to unexpected issues and undesirable behavior."
},
"apply_fee_delta_priority": {
"type": "boolean",
"description": "Whether to apply the fee delta metadata from the mempool file.\nIt will be added to any existing fee deltas.\nThe fee delta can be set by the prioritisetransaction RPC.\nWarning: Importing untrusted metadata may lead to unexpected issues and undesirable behavior.\nOnly set this bool if you understand what it does."
},
"apply_unbroadcast_set": {
"type": "boolean",
"description": "Whether to apply the unbroadcast set metadata from the mempool file.\nWarning: Importing untrusted metadata may lead to unexpected issues and undesirable behavior."
}
},
"additionalProperties": false
}
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
},
"additionalProperties": false
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "importprunedfunds",
"description": "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.",
"params": [
{
"name": "rawtransaction",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "A raw transaction in hex funding an already-existing address in wallet"
},
{
"name": "txoutproof",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The hex output from gettxoutproof that contains the transaction"
}
],
"result": {
"name": "result",
"schema": {
"type": "null"
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "joinpsbts",
"description": "Joins multiple distinct PSBTs with different inputs and outputs into one PSBT with inputs and outputs from all of the PSBTs\nNo input in any of the PSBTs can be in more than one of the PSBTs.",
"params": [
{
"name": "txs",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"description": "The base64 strings of partially signed transactions"
}
],
"result": {
"name": "result",
"schema": {
"type": "string"
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "keypoolrefill",
"description": "Refills each descriptor keypool in the wallet up to the specified number of new keys.\nBy default, descriptor wallets have 4 active ranged descriptors (\"legacy\", \"p2sh-segwit\", \"bech32\", \"bech32m\"), each with 1000 entries.\n\nRequires wallet passphrase to be set with walletpassphrase call if wallet is encrypted.",
"params": [
{
"name": "newsize",
"required": false,
"schema": {
"type": "number"
},
"description": "The new keypool size"
}
],
"result": {
"name": "result",
"schema": {
"type": "null"
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "listaddressgroupings",
"description": "Lists groups of addresses which have had their common ownership\nmade public by common use as inputs or as the resulting change\nin past transactions",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "array",
"prefixItems": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
],
"minItems": 3,
"maxItems": 3
}
}
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "listbanned",
"description": "List all manually banned IPs/Subnets.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "The IP/Subnet of the banned node"
},
"ban_created": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The UNIX epoch time the ban was created"
},
"banned_until": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The UNIX epoch time the ban expires"
},
"ban_duration": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The ban duration, in seconds"
},
"time_remaining": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The time remaining until the ban expires, in seconds"
}
},
"additionalProperties": false,
"required": [
"address",
"ban_created",
"banned_until",
"ban_duration",
"time_remaining"
]
}
}
},
"x-bitcoin-category": "network"
},
{
"name": "listdescriptors",
"description": "List all descriptors present in a wallet.",
"params": [
{
"name": "private",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Show private descriptors."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"wallet_name": {
"type": "string",
"description": "Name of wallet this operation was performed on"
},
"descriptors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"desc": {
"type": "string",
"description": "Descriptor string representation"
},
"timestamp": {
"type": "number",
"description": "The creation time of the descriptor"
},
"active": {
"type": "boolean",
"description": "Whether this descriptor is currently used to generate new addresses"
},
"internal": {
"type": "boolean",
"description": "True if this descriptor is used to generate change addresses. False if this descriptor is used to generate receiving addresses; defined only for active descriptors"
},
"range": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"minItems": 2,
"maxItems": 2,
"description": "Defined only for ranged descriptors"
},
"next": {
"type": "number",
"description": "Same as next_index field. Kept for compatibility reason."
},
"next_index": {
"type": "number",
"description": "The next index to generate addresses from; defined only for ranged descriptors"
}
},
"additionalProperties": false,
"required": [
"desc",
"timestamp",
"active"
]
},
"description": "Array of descriptor objects (sorted by descriptor string representation)"
}
},
"additionalProperties": false,
"required": [
"wallet_name",
"descriptors"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "listlabels",
"description": "Returns the list of all labels, or labels that are assigned to addresses with a specific purpose.",
"params": [
{
"name": "purpose",
"required": false,
"schema": {
"type": "string"
},
"description": "Address purpose to list labels for ('send','receive'). An empty string is the same as not providing this argument."
}
],
"result": {
"name": "result",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "listlockunspent",
"description": "Returns list of temporarily unspendable outputs.\nSee the lockunspent call to lock and unlock transactions for spending.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id locked"
},
"vout": {
"type": "number",
"description": "The vout value"
}
},
"additionalProperties": false,
"required": [
"txid",
"vout"
]
}
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "listreceivedbyaddress",
"description": "List balances by receiving address.",
"params": [
{
"name": "minconf",
"required": false,
"schema": {
"type": "number"
},
"description": "The minimum number of confirmations before payments are included."
},
{
"name": "include_empty",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Whether to include addresses that haven't received any payments."
},
{
"name": "include_watchonly",
"required": false,
"schema": {
"type": "boolean"
},
"description": "(DEPRECATED) No longer used"
},
{
"name": "address_filter",
"required": false,
"schema": {
"type": "string"
},
"description": "If present and non-empty, only return information on this address."
},
{
"name": "include_immature_coinbase",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Include immature coinbase transactions."
}
],
"result": {
"name": "result",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "The receiving address"
},
"amount": {
"type": "string",
"description": "The total amount in BTC received by the address"
},
"confirmations": {
"type": "number",
"description": "The number of confirmations of the most recent transaction included"
},
"label": {
"type": "string",
"description": "The label of the receiving address. The default label is \"\""
},
"txids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
}
},
"additionalProperties": false,
"required": [
"address",
"amount",
"confirmations",
"label",
"txids"
]
}
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "listreceivedbylabel",
"description": "List received transactions by label.",
"params": [
{
"name": "minconf",
"required": false,
"schema": {
"type": "number"
},
"description": "The minimum number of confirmations before payments are included."
},
{
"name": "include_empty",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Whether to include labels that haven't received any payments."
},
{
"name": "include_watchonly",
"required": false,
"schema": {
"type": "boolean"
},
"description": "(DEPRECATED) No longer used"
},
{
"name": "include_immature_coinbase",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Include immature coinbase transactions."
}
],
"result": {
"name": "result",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"amount": {
"type": "string",
"description": "The total amount received by addresses with this label"
},
"confirmations": {
"type": "number",
"description": "The number of confirmations of the most recent transaction included"
},
"label": {
"type": "string",
"description": "The label of the receiving address. The default label is \"\""
}
},
"additionalProperties": false,
"required": [
"amount",
"confirmations",
"label"
]
}
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "listsinceblock",
"description": "Get all transactions in blocks since block [blockhash], or all transactions if omitted.\nIf \"blockhash\" is no longer a part of the main chain, transactions from the fork point onward are included.\nAdditionally, if include_removed is set, transactions affecting the wallet which were removed are returned in the \"removed\" array.",
"params": [
{
"name": "blockhash",
"required": false,
"schema": {
"type": "string"
},
"description": "If set, the block hash to list transactions since, otherwise list all transactions."
},
{
"name": "target_confirmations",
"required": false,
"schema": {
"type": "number"
},
"description": "Return the nth block hash from the main chain. e.g. 1 would mean the best block hash. Note: this is not used as a filter, but only affects [lastblock] in the return value"
},
{
"name": "include_watchonly",
"required": false,
"schema": {
"type": "boolean"
},
"description": "(DEPRECATED) No longer used"
},
{
"name": "include_removed",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Show transactions that were removed due to a reorg in the \"removed\" array\n(not guaranteed to work on pruned nodes)"
},
{
"name": "include_change",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Also add entries for change outputs.\n"
},
{
"name": "label",
"required": false,
"schema": {
"type": "string"
},
"description": "Return only incoming transactions paying to addresses with the specified label.\n"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"transactions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "The bitcoin address of the transaction (not returned if the output does not have an address, e.g. OP_RETURN null data)."
},
"category": {
"type": "string",
"description": "The transaction category.\n\"send\" Transactions sent.\n\"receive\" Non-coinbase transactions received.\n\"generate\" Coinbase transactions received with more than 100 confirmations.\n\"immature\" Coinbase transactions received with 100 or fewer confirmations.\n\"orphan\" Orphaned coinbase transactions received."
},
"amount": {
"type": "string",
"description": "The amount in BTC. This is negative for the 'send' category, and is positive\nfor all other categories"
},
"vout": {
"type": "number",
"description": "the vout value"
},
"fee": {
"type": "string",
"description": "The amount of the fee in BTC. This is negative and only available for the\n'send' category of transactions."
},
"confirmations": {
"type": "number",
"description": "The number of confirmations for the transaction. Negative confirmations means the\ntransaction conflicted that many blocks ago."
},
"generated": {
"type": "boolean",
"description": "Only present if the transaction's only input is a coinbase one."
},
"trusted": {
"type": "boolean",
"description": "Whether we consider the transaction to be trusted and safe to spend from.\nOnly present when the transaction has 0 confirmations (or negative confirmations, if conflicted)."
},
"blockhash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The block hash containing the transaction."
},
"blockheight": {
"type": "number",
"description": "The block height containing the transaction."
},
"blockindex": {
"type": "number",
"description": "The index of the transaction in the block that includes it."
},
"blocktime": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The block time expressed in UNIX epoch time."
},
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id."
},
"wtxid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hash of serialized transaction, including witness data."
},
"walletconflicts": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "Confirmed transactions that have been detected by the wallet to conflict with this transaction."
},
"replaced_by_txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "Only if 'category' is 'send'. The txid if this tx was replaced."
},
"replaces_txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "Only if 'category' is 'send'. The txid if this tx replaces another."
},
"mempoolconflicts": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "Transactions in the mempool that directly conflict with either this transaction or an ancestor transaction"
},
"to": {
"type": "string",
"description": "If a comment to is associated with the transaction."
},
"time": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The transaction time expressed in UNIX epoch time."
},
"timereceived": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The time received expressed in UNIX epoch time."
},
"comment": {
"type": "string",
"description": "If a comment is associated with the transaction, only present if not empty."
},
"bip125-replaceable": {
"type": "string",
"description": "(\"yes|no|unknown\") Whether this transaction signals BIP125 replaceability or has an unconfirmed ancestor signaling BIP125 replaceability.\nMay be unknown for unconfirmed transactions not in the mempool because their unconfirmed ancestors are unknown."
},
"parent_descs": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only if 'category' is 'received'. List of parent descriptors for the output script of this coin."
},
"abandoned": {
"type": "boolean",
"description": "'true' if the transaction has been abandoned (inputs are respendable)."
},
"label": {
"type": "string",
"description": "A comment for the address/transaction, if any"
}
},
"additionalProperties": false,
"required": [
"category",
"amount",
"vout",
"confirmations",
"txid",
"wtxid",
"walletconflicts",
"mempoolconflicts",
"time",
"timereceived",
"bip125-replaceable",
"abandoned"
]
}
},
"removed": {
"type": "array",
"items": {
},
"description": "<structure is the same as \"transactions\" above, only present if include_removed=true>\nNote: transactions that were re-added in the active chain will appear as-is in this array, and may thus have a positive confirmation count."
},
"lastblock": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hash of the block (target_confirmations-1) from the best block on the main chain, or the genesis hash if the referenced block does not exist yet. This is typically used to feed back into listsinceblock the next time you call it. So you would generally use a target_confirmations of say 6, so you will be continually re-notified of transactions until they've reached 6 confirmations plus any new ones"
}
},
"additionalProperties": false,
"required": [
"transactions",
"lastblock"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "listtransactions",
"description": "If a label name is provided, this will return only incoming transactions paying to addresses with the specified label.\nReturns up to 'count' most recent transactions ordered from oldest to newest while skipping the first number of \ntransactions specified in the 'skip' argument. A transaction can have multiple entries in this RPC response. \nFor instance, a wallet transaction that pays three addresses — one wallet-owned and two external — will produce \nfour entries. The payment to the wallet-owned address appears both as a send entry and as a receive entry. \nAs a result, the RPC response will contain one entry in the receive category and three entries in the send category.",
"params": [
{
"name": "label",
"required": false,
"schema": {
"type": "string"
},
"description": "If set, should be a valid label name to return only incoming transactions\nwith the specified label, or \"*\" to disable filtering and return all transactions."
},
{
"name": "count",
"required": false,
"schema": {
"type": "number"
},
"description": "The number of transactions to return"
},
{
"name": "skip",
"required": false,
"schema": {
"type": "number"
},
"description": "The number of transactions to skip"
},
{
"name": "include_watchonly",
"required": false,
"schema": {
"type": "boolean"
},
"description": "(DEPRECATED) No longer used"
}
],
"result": {
"name": "result",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "The bitcoin address of the transaction (not returned if the output does not have an address, e.g. OP_RETURN null data)."
},
"category": {
"type": "string",
"description": "The transaction category.\n\"send\" Transactions sent.\n\"receive\" Non-coinbase transactions received.\n\"generate\" Coinbase transactions received with more than 100 confirmations.\n\"immature\" Coinbase transactions received with 100 or fewer confirmations.\n\"orphan\" Orphaned coinbase transactions received."
},
"amount": {
"type": "string",
"description": "The amount in BTC. This is negative for the 'send' category, and is positive\nfor all other categories"
},
"label": {
"type": "string",
"description": "A comment for the address/transaction, if any"
},
"vout": {
"type": "number",
"description": "the vout value"
},
"fee": {
"type": "string",
"description": "The amount of the fee in BTC. This is negative and only available for the\n'send' category of transactions."
},
"confirmations": {
"type": "number",
"description": "The number of confirmations for the transaction. Negative confirmations means the\ntransaction conflicted that many blocks ago."
},
"generated": {
"type": "boolean",
"description": "Only present if the transaction's only input is a coinbase one."
},
"trusted": {
"type": "boolean",
"description": "Whether we consider the transaction to be trusted and safe to spend from.\nOnly present when the transaction has 0 confirmations (or negative confirmations, if conflicted)."
},
"blockhash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The block hash containing the transaction."
},
"blockheight": {
"type": "number",
"description": "The block height containing the transaction."
},
"blockindex": {
"type": "number",
"description": "The index of the transaction in the block that includes it."
},
"blocktime": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The block time expressed in UNIX epoch time."
},
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id."
},
"wtxid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hash of serialized transaction, including witness data."
},
"walletconflicts": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "Confirmed transactions that have been detected by the wallet to conflict with this transaction."
},
"replaced_by_txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "Only if 'category' is 'send'. The txid if this tx was replaced."
},
"replaces_txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "Only if 'category' is 'send'. The txid if this tx replaces another."
},
"mempoolconflicts": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "Transactions in the mempool that directly conflict with either this transaction or an ancestor transaction"
},
"to": {
"type": "string",
"description": "If a comment to is associated with the transaction."
},
"time": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The transaction time expressed in UNIX epoch time."
},
"timereceived": {
"type": "number",
"x-bitcoin-unit": "unix-time",
"description": "The time received expressed in UNIX epoch time."
},
"comment": {
"type": "string",
"description": "If a comment is associated with the transaction, only present if not empty."
},
"bip125-replaceable": {
"type": "string",
"description": "(\"yes|no|unknown\") Whether this transaction signals BIP125 replaceability or has an unconfirmed ancestor signaling BIP125 replaceability.\nMay be unknown for unconfirmed transactions not in the mempool because their unconfirmed ancestors are unknown."
},
"parent_descs": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only if 'category' is 'received'. List of parent descriptors for the output script of this coin."
},
"abandoned": {
"type": "boolean",
"description": "'true' if the transaction has been abandoned (inputs are respendable)."
}
},
"additionalProperties": false,
"required": [
"category",
"amount",
"vout",
"confirmations",
"txid",
"wtxid",
"walletconflicts",
"mempoolconflicts",
"time",
"timereceived",
"bip125-replaceable",
"abandoned"
]
}
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "listunspent",
"description": "Returns array of unspent transaction outputs\nwith between minconf and maxconf (inclusive) confirmations.\nOptionally filter to only include txouts paid to specified addresses.",
"params": [
{
"name": "minconf",
"required": false,
"schema": {
"type": "number"
},
"description": "The minimum confirmations to filter"
},
{
"name": "maxconf",
"required": false,
"schema": {
"type": "number"
},
"description": "The maximum confirmations to filter"
},
{
"name": "addresses",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"description": "The bitcoin addresses to filter"
},
{
"name": "include_unsafe",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Include outputs that are not safe to spend\nSee description of \"safe\" attribute below."
},
{
"name": "query_options",
"required": false,
"schema": {
"type": "object",
"properties": {
"minimumAmount": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Minimum value of each UTXO in BTC"
},
"maximumAmount": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Maximum value of each UTXO in BTC"
},
"maximumCount": {
"type": "number",
"description": "Maximum number of UTXOs"
},
"minimumSumAmount": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Minimum sum value of all UTXOs in BTC"
},
"include_immature_coinbase": {
"type": "boolean",
"description": "Include immature coinbase UTXOs"
}
},
"additionalProperties": false
}
}
],
"result": {
"name": "result",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "the transaction id"
},
"vout": {
"type": "number",
"description": "the vout value"
},
"address": {
"type": "string",
"description": "the bitcoin address"
},
"label": {
"type": "string",
"description": "The associated label, or \"\" for the default label"
},
"scriptPubKey": {
"type": "string",
"description": "the output script"
},
"amount": {
"type": "string",
"description": "the transaction output amount in BTC"
},
"confirmations": {
"type": "number",
"description": "The number of confirmations"
},
"ancestorcount": {
"type": "number",
"description": "The number of in-mempool ancestor transactions, including this one (if transaction is in the mempool)"
},
"ancestorsize": {
"type": "number",
"description": "The virtual transaction size of in-mempool ancestors, including this one (if transaction is in the mempool)"
},
"ancestorfees": {
"type": "string",
"description": "The total fees of in-mempool ancestors (including this one) with fee deltas used for mining priority in sat (if transaction is in the mempool)"
},
"redeemScript": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The redeem script if the output script is P2SH"
},
"witnessScript": {
"type": "string",
"description": "witness script if the output script is P2WSH or P2SH-P2WSH"
},
"spendable": {
"type": "boolean",
"description": "(DEPRECATED) Always true"
},
"solvable": {
"type": "boolean",
"description": "Whether we know how to spend this output, ignoring the lack of keys"
},
"reused": {
"type": "boolean",
"description": "(only present if avoid_reuse is set) Whether this output is reused/dirty (sent to an address that was previously spent from)"
},
"desc": {
"type": "string",
"description": "(only when solvable) A descriptor for spending this output"
},
"parent_descs": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of parent descriptors for the output script of this coin."
},
"safe": {
"type": "boolean",
"description": "Whether this output is considered safe to spend. Unconfirmed transactions\nfrom outside keys and unconfirmed replacement transactions are considered unsafe\nand are not eligible for spending by fundrawtransaction and sendtoaddress."
}
},
"additionalProperties": false,
"required": [
"txid",
"vout",
"scriptPubKey",
"amount",
"confirmations",
"spendable",
"solvable",
"parent_descs",
"safe"
]
}
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "listwalletdir",
"description": "Returns a list of wallets in the wallet directory.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"wallets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The wallet name"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"description": "Warning messages, if any, related to loading the wallet."
}
},
"additionalProperties": false,
"required": [
"name"
]
}
}
},
"additionalProperties": false,
"required": [
"wallets"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "listwallets",
"description": "Returns a list of currently loaded wallets.\nFor full information on the wallet, use \"getwalletinfo\"",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "loadtxoutset",
"description": "Load the serialized UTXO set from a file.\nOnce this snapshot is loaded, its contents will be deserialized into a second chainstate data structure, which is then used to sync to the network's tip. Meanwhile, the original chainstate will complete the initial block download process in the background, eventually validating up to the block that the snapshot is based upon.\n\nThe result is a usable bitcoind instance that is current with the network tip in a matter of minutes rather than hours. UTXO snapshot are typically obtained from third-party sources (HTTP, torrent, etc.) which is reasonable since their contents are always checked by hash.\n\nYou can find more information on this process in the `assumeutxo` design document (<https://github.com/bitcoin/bitcoin/blob/master/doc/design/assumeutxo.md>).",
"params": [
{
"name": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "path to the snapshot file. If relative, will be prefixed by datadir."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"coins_loaded": {
"type": "number",
"description": "the number of coins loaded from the snapshot"
},
"tip_hash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "the hash of the base of the snapshot"
},
"base_height": {
"type": "number",
"description": "the height of the base of the snapshot"
},
"path": {
"type": "string",
"description": "the absolute path that the snapshot was loaded from"
}
},
"additionalProperties": false,
"required": [
"coins_loaded",
"tip_hash",
"base_height",
"path"
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "loadwallet",
"description": "Loads a wallet from a wallet file or directory.\nNote that all wallet command-line options used when starting bitcoind will be\napplied to the new wallet.",
"params": [
{
"name": "filename",
"required": true,
"schema": {
"type": "string"
},
"description": "The path to the directory of the wallet to be loaded, either absolute or relative to the \"wallets\" directory. The \"wallets\" directory is set by the -walletdir option and defaults to the \"wallets\" folder within the data directory."
},
{
"name": "load_on_startup",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Save wallet name to persistent settings and load on startup. True to add wallet to startup list, false to remove, null to leave unchanged."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The wallet name if loaded successfully."
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"description": "Warning messages, if any, related to loading the wallet."
}
},
"additionalProperties": false,
"required": [
"name"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "lockunspent",
"description": "Updates list of temporarily unspendable outputs.\nTemporarily lock (unlock=false) or unlock (unlock=true) specified transaction outputs.\nIf no transaction outputs are specified when unlocking then all current locked transaction outputs are unlocked.\nA locked transaction output will not be chosen by automatic coin selection, when spending bitcoins.\nManually selected coins are automatically unlocked.\nLocks are stored in memory only, unless persistent=true, in which case they will be written to the\nwallet database and loaded on node start. Unwritten (persistent=false) locks are always cleared\n(by virtue of process exit) when a node stops or fails. Unlocking will clear both persistent and not.\nAlso see the listunspent call",
"params": [
{
"name": "unlock",
"required": true,
"schema": {
"type": "boolean"
},
"description": "Whether to unlock (true) or lock (false) the specified transactions"
},
{
"name": "transactions",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id"
},
"vout": {
"type": "number",
"description": "The output number"
}
},
"additionalProperties": false,
"required": [
"txid",
"vout"
]
}
},
"description": "The transaction outputs and within each, the txid (string) vout (numeric)."
},
{
"name": "persistent",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Whether to write/erase this lock in the wallet database, or keep the change in memory only. Ignored for unlocking."
}
],
"result": {
"name": "result",
"schema": {
"type": "boolean"
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "logging",
"description": "Gets and sets the logging configuration.\nWhen called without an argument, returns the list of categories with status that are currently being debug logged or not.\nWhen called with arguments, adds or removes categories from debug logging and return the lists above.\nThe arguments are evaluated in order \"include\", \"exclude\".\nIf an item is both included and excluded, it will thus end up being excluded.\nThe valid logging categories are: addrman, bench, blockstorage, cmpctblock, coindb, estimatefee, http, i2p, ipc, kernel, leveldb, libevent, mempool, mempoolrej, net, privatebroadcast, proxy, prune, qt, rand, reindex, rpc, scan, selectcoins, tor, txpackages, txreconciliation, validation, walletdb, zmq\nIn addition, the following are available as category names with special meanings:\n - \"all\", \"1\" : represent all logging categories.",
"params": [
{
"name": "include",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"description": "The categories to add to debug logging"
},
{
"name": "exclude",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"description": "The categories to remove from debug logging"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"additionalProperties": {
"type": "boolean"
}
}
},
"x-bitcoin-category": "control"
},
{
"name": "migratewallet",
"description": "Migrate the wallet to a descriptor wallet.\nA new wallet backup will need to be made.\n\nThe migration process will create a backup of the wallet before migrating. This backup\nfile will be named <wallet name>-<timestamp>.legacy.bak and can be found in the directory\nfor this wallet. In the event of an incorrect migration, the backup can be restored using restorewallet.\nEncrypted wallets must have the passphrase provided as an argument to this call.\n\nThis RPC may take a long time to complete. Increasing the RPC client timeout is recommended.",
"params": [
{
"name": "wallet_name",
"required": false,
"schema": {
"type": "string"
},
"description": "The name of the wallet to migrate. If provided both here and in the RPC endpoint, the two must be identical."
},
{
"name": "passphrase",
"required": false,
"schema": {
"type": "string"
},
"description": "The wallet passphrase"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"wallet_name": {
"type": "string",
"description": "The name of the primary migrated wallet"
},
"watchonly_name": {
"type": "string",
"description": "The name of the migrated wallet containing the watchonly scripts"
},
"solvables_name": {
"type": "string",
"description": "The name of the migrated wallet containing solvable but not watched scripts"
},
"backup_path": {
"type": "string",
"description": "The location of the backup of the original wallet"
}
},
"additionalProperties": false,
"required": [
"wallet_name",
"backup_path"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "ping",
"description": "Requests that a ping be sent to all other nodes, to measure ping time.\nResults are provided in getpeerinfo.\nPing command is handled in queue with all other commands, so it measures processing backlog, not just network ping.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "null"
}
},
"x-bitcoin-category": "network"
},
{
"name": "preciousblock",
"description": "Treats a block as if it were received before others with the same work.\n\nA later preciousblock call can override the effect of an earlier one.\n\nThe effects of preciousblock are not retained across restarts.",
"params": [
{
"name": "blockhash",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "the hash of the block to mark as precious"
}
],
"result": {
"name": "result",
"schema": {
"type": "null"
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "prioritisetransaction",
"description": "Accepts the transaction into mined blocks at a higher (or lower) priority",
"params": [
{
"name": "txid",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The transaction id."
},
{
"name": "dummy",
"required": false,
"schema": {
"type": "number"
},
"description": "API-Compatibility for previous API. Must be zero or null.\n DEPRECATED. For forward compatibility use named arguments and omit this parameter."
},
{
"name": "fee_delta",
"required": true,
"schema": {
"type": "number"
},
"description": "The fee value (in satoshis) to add (or subtract, if negative).\n Note, that this value is not a fee rate. It is a value to modify absolute fee of the TX.\n The fee is not actually paid, only the algorithm for selecting transactions into a block\n considers the transaction as it would have paid a higher (or lower) fee."
}
],
"result": {
"name": "result",
"schema": {
"type": "boolean"
}
},
"x-bitcoin-category": "mining"
},
{
"name": "pruneblockchain",
"description": "Attempts to delete block and undo data up to a specified height or timestamp, if eligible for pruning.\nRequires `-prune` to be enabled at startup. While pruned data may be re-fetched in some cases (e.g., via `getblockfrompeer`), local deletion is irreversible.",
"params": [
{
"name": "height",
"required": true,
"schema": {
"type": "number"
},
"description": "The block height to prune up to. May be set to a discrete height, or to a UNIX epoch time\n to prune blocks whose block time is at least 2 hours older than the provided timestamp."
}
],
"result": {
"name": "result",
"schema": {
"type": "number"
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "psbtbumpfee",
"description": "Bumps the fee of a transaction T, replacing it with a new transaction B.\nReturns a PSBT instead of creating and signing a new transaction.\nA transaction with the given txid must be in the wallet.\nThe command will pay the additional fee by reducing change outputs or adding inputs when necessary.\nIt may add a new change output if one does not already exist.\nAll inputs in the original transaction will be included in the replacement transaction.\nThe command will fail if the wallet or mempool contains a transaction that spends one of T's outputs.\nBy default, the new fee will be calculated automatically using the estimatesmartfee RPC.\nThe user can specify a confirmation target for estimatesmartfee.\nAlternatively, the user can specify a fee rate in sat/vB for the new transaction.\nAt a minimum, the new fee rate must be high enough to pay an additional new relay fee (incrementalfee\nreturned by getnetworkinfo) to enter the node's mempool.\n* WARNING: before version 0.21, fee_rate was in BTC/kvB. As of 0.21, fee_rate is in sat/vB. *",
"params": [
{
"name": "txid",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The txid to be bumped"
},
{
"name": "options",
"required": false,
"schema": {
"type": "object",
"properties": {
"conf_target": {
"type": "number",
"description": "Confirmation target in blocks\n"
},
"fee_rate": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "\nSpecify a fee rate in sat/vB instead of relying on the built-in fee estimator.\nMust be at least 0.100 sat/vB higher than the current transaction fee rate.\nWARNING: before version 0.21, fee_rate was in BTC/kvB. As of 0.21, fee_rate is in sat/vB.\n"
},
"replaceable": {
"type": "boolean",
"description": "Whether the new transaction should be\nmarked bip-125 replaceable. If true, the sequence numbers in the transaction will\nbe set to 0xfffffffd. If false, any input sequence numbers in the\ntransaction will be set to 0xfffffffe\nso the new transaction will not be explicitly bip-125 replaceable (though it may\nstill be replaceable in practice, for example if it has unconfirmed ancestors which\nare replaceable).\n"
},
"estimate_mode": {
"type": "string",
"description": "The fee estimate mode, must be one of (case insensitive):\nunset, economical, conservative \nunset means no mode set (economical mode is used if the transaction is replaceable;\notherwise, conservative mode is used). \neconomical estimates use a shorter time horizon, making them more\nresponsive to short-term drops in the prevailing fee market. This mode\npotentially returns a lower fee rate estimate.\nconservative estimates use a longer time horizon, making them\nless responsive to short-term drops in the prevailing fee market. This mode\npotentially returns a higher fee rate estimate.\n"
},
"outputs": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
},
{
"type": "object",
"properties": {
"data": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "A key-value pair. The key must be \"data\", the value is hex-encoded data that becomes a part of an OP_RETURN output"
}
},
"additionalProperties": false,
"required": [
"data"
]
}
]
},
"description": "The outputs specified as key-value pairs.\nEach key may only appear once, i.e. there can only be one 'data' output, and no address may be duplicated.\nAt least one output of either type must be specified.\nCannot be provided if 'original_change_index' is specified."
},
"original_change_index": {
"type": "number",
"description": "The 0-based index of the change output on the original transaction. The indicated output will be recycled into the new change output on the bumped transaction. The remainder after paying the recipients and fees will be sent to the output script of the original change output. The change output’s amount can increase if bumping the transaction adds new inputs, otherwise it will decrease. Cannot be used in combination with the 'outputs' option."
}
},
"additionalProperties": false
}
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"psbt": {
"type": "string",
"description": "The base64-encoded unsigned PSBT of the new transaction."
},
"origfee": {
"type": "string",
"description": "The fee of the replaced transaction."
},
"fee": {
"type": "string",
"description": "The fee of the new transaction."
},
"errors": {
"type": "array",
"items": {
"type": "string"
},
"description": "Errors encountered during processing (may be empty)."
}
},
"additionalProperties": false,
"required": [
"psbt",
"origfee",
"fee",
"errors"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "removeprunedfunds",
"description": "Deletes the specified transaction from the wallet. Meant for use with pruned wallets and as a companion to importprunedfunds. This will affect wallet balances.",
"params": [
{
"name": "txid",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The hex-encoded id of the transaction you are deleting"
}
],
"result": {
"name": "result",
"schema": {
"type": "null"
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "rescanblockchain",
"description": "Rescan the local blockchain for wallet related transactions.\nNote: Use \"getwalletinfo\" to query the scanning progress.\nThe rescan is significantly faster if block filters are available\n(using startup option \"-blockfilterindex=1\").",
"params": [
{
"name": "start_height",
"required": false,
"schema": {
"type": "number"
},
"description": "block height where the rescan should start"
},
{
"name": "stop_height",
"required": false,
"schema": {
"type": "number"
},
"description": "the last block height that should be scanned. If none is provided it will rescan up to the tip at return time of this call."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"start_height": {
"type": "number",
"description": "The block height where the rescan started (the requested height or 0)"
},
"stop_height": {
"type": "number",
"description": "The height of the last rescanned block. May be null in rare cases if there was a reorg and the call didn't scan any blocks because they were already scanned in the background."
}
},
"additionalProperties": false,
"required": [
"start_height",
"stop_height"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "restorewallet",
"description": "Restores and loads a wallet from backup.\n\nThe rescan is significantly faster if block filters are available\n(using startup option \"-blockfilterindex=1\").",
"params": [
{
"name": "wallet_name",
"required": true,
"schema": {
"type": "string"
},
"description": "The name that will be applied to the restored wallet"
},
{
"name": "backup_file",
"required": true,
"schema": {
"type": "string"
},
"description": "The backup file that will be used to restore the wallet."
},
{
"name": "load_on_startup",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Save wallet name to persistent settings and load on startup. True to add wallet to startup list, false to remove, null to leave unchanged."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The wallet name if restored successfully."
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"description": "Warning messages, if any, related to restoring and loading the wallet."
}
},
"additionalProperties": false,
"required": [
"name"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "savemempool",
"description": "Dumps the mempool to disk. It will fail until the previous dump is fully loaded.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"filename": {
"type": "string",
"description": "the directory and file where the mempool was saved"
}
},
"additionalProperties": false,
"required": [
"filename"
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "scanblocks",
"description": "Return relevant blockhashes for given descriptors (requires blockfilterindex).\nThis call may take several minutes. Make sure to use no RPC timeout (bitcoin-cli -rpcclienttimeout=0)",
"params": [
{
"name": "action",
"required": true,
"schema": {
"type": "string"
},
"description": "The action to execute\n\"start\" for starting a scan\n\"abort\" for aborting the current scan (returns true when abort was successful)\n\"status\" for progress report (in %) of the current scan"
},
{
"name": "scanobjects",
"required": false,
"schema": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"desc": {
"type": "string",
"description": "An output descriptor"
},
"range": {
"oneOf": [
{
"type": "number"
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"minItems": 2,
"maxItems": 2
}
],
"description": "The range of HD chain indexes to explore (either end or [begin,end])"
}
},
"additionalProperties": false,
"required": [
"desc"
]
}
]
}
},
"description": "Array of scan objects. Required for \"start\" action\nEvery scan object is either a string descriptor or an object:"
},
{
"name": "start_height",
"required": false,
"schema": {
"type": "number"
},
"description": "Height to start to scan from"
},
{
"name": "stop_height",
"required": false,
"schema": {
"type": "number"
},
"description": "Height to stop to scan"
},
{
"name": "filtertype",
"required": false,
"schema": {
"type": "string"
},
"description": "The type name of the filter"
},
{
"name": "options",
"required": false,
"schema": {
"type": "object",
"properties": {
"filter_false_positives": {
"type": "boolean",
"description": "Filter false positives (slower and may fail on pruned nodes). Otherwise they may occur at a rate of 1/M"
}
},
"additionalProperties": false
}
}
],
"result": {
"name": "result",
"schema": {
"oneOf": [
{
"type": "null",
"description": "when action=='status' and no scan is in progress - possibly already completed"
},
{
"type": "object",
"properties": {
"from_height": {
"type": "number",
"description": "The height we started the scan from"
},
"to_height": {
"type": "number",
"description": "The height we ended the scan at"
},
"relevant_blocks": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "Blocks that may have matched a scanobject."
},
"completed": {
"type": "boolean",
"description": "true if the scan process was not aborted"
}
},
"additionalProperties": false,
"required": [
"from_height",
"to_height",
"relevant_blocks",
"completed"
],
"description": "When action=='start'; only returns after scan completes"
},
{
"type": "object",
"properties": {
"progress": {
"type": "number",
"description": "Approximate percent complete"
},
"current_height": {
"type": "number",
"description": "Height of the block currently being scanned"
}
},
"additionalProperties": false,
"required": [
"progress",
"current_height"
],
"description": "when action=='status' and a scan is currently in progress"
},
{
"type": "boolean",
"description": "when action=='abort'"
}
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "scantxoutset",
"description": "Scans the unspent transaction output set for entries that match certain output descriptors.\nExamples of output descriptors are:\n addr(<address>) Outputs whose output script corresponds to the specified address (does not include P2PK)\n raw(<hex script>) Outputs whose output script equals the specified hex-encoded bytes\n combo(<pubkey>) P2PK, P2PKH, P2WPKH, and P2SH-P2WPKH outputs for the given pubkey\n pkh(<pubkey>) P2PKH outputs for the given pubkey\n sh(multi(<n>,<pubkey>,<pubkey>,...)) P2SH-multisig outputs for the given threshold and pubkeys\n tr(<pubkey>) P2TR\n tr(<pubkey>,{pk(<pubkey>)}) P2TR with single fallback pubkey in tapscript\n rawtr(<pubkey>) P2TR with the specified key as output key rather than inner\n wsh(and_v(v:pk(<pubkey>),after(2))) P2WSH miniscript with mandatory pubkey and a timelock\n\nIn the above, <pubkey> either refers to a fixed public key in hexadecimal notation, or to an xpub/xprv optionally followed by one\nor more path elements separated by \"/\", and optionally ending in \"/*\" (unhardened), or \"/*'\" or \"/*h\" (hardened) to specify all\nunhardened or hardened child keys.\nIn the latter case, a range needs to be specified by below if different from 1000.\nFor more information on output descriptors, see the documentation in the doc/descriptors.md file.",
"params": [
{
"name": "action",
"required": true,
"schema": {
"type": "string"
},
"description": "The action to execute\n\"start\" for starting a scan\n\"abort\" for aborting the current scan (returns true when abort was successful)\n\"status\" for progress report (in %) of the current scan"
},
{
"name": "scanobjects",
"required": false,
"schema": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"desc": {
"type": "string",
"description": "An output descriptor"
},
"range": {
"oneOf": [
{
"type": "number"
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"minItems": 2,
"maxItems": 2
}
],
"description": "The range of HD chain indexes to explore (either end or [begin,end])"
}
},
"additionalProperties": false,
"required": [
"desc"
]
}
]
}
},
"description": "Array of scan objects. Required for \"start\" action\nEvery scan object is either a string descriptor or an object:"
}
],
"result": {
"name": "result",
"schema": {
"oneOf": [
{
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Whether the scan was completed"
},
"txouts": {
"type": "number",
"description": "The number of unspent transaction outputs scanned"
},
"height": {
"type": "number",
"description": "The block height at which the scan was done"
},
"bestblock": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hash of the block at the tip of the chain"
},
"unspents": {
"type": "array",
"items": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id"
},
"vout": {
"type": "number",
"description": "The vout value"
},
"scriptPubKey": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The output script"
},
"desc": {
"type": "string",
"description": "A specialized descriptor for the matched output script"
},
"amount": {
"type": "string",
"description": "The total amount in BTC of the unspent output"
},
"coinbase": {
"type": "boolean",
"description": "Whether this is a coinbase output"
},
"height": {
"type": "number",
"description": "Height of the unspent transaction output"
},
"blockhash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "Blockhash of the unspent transaction output"
},
"confirmations": {
"type": "number",
"description": "Number of confirmations of the unspent transaction output when the scan was done"
}
},
"additionalProperties": false,
"required": [
"txid",
"vout",
"scriptPubKey",
"desc",
"amount",
"coinbase",
"height",
"blockhash",
"confirmations"
]
}
},
"total_amount": {
"type": "string",
"description": "The total amount of all found unspent outputs in BTC"
}
},
"additionalProperties": false,
"required": [
"success",
"txouts",
"height",
"bestblock",
"unspents",
"total_amount"
],
"description": "when action=='start'; only returns after scan completes"
},
{
"type": "boolean",
"description": "when action=='abort'"
},
{
"type": "object",
"properties": {
"progress": {
"type": "number",
"description": "Approximate percent complete"
}
},
"additionalProperties": false,
"required": [
"progress"
],
"description": "when action=='status' and a scan is currently in progress"
},
{
"type": "null",
"description": "when action=='status' and no scan is in progress - possibly already completed"
}
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "send",
"description": "EXPERIMENTAL warning: this call may be changed in future releases.\n\nSend a transaction.",
"params": [
{
"name": "outputs",
"required": true,
"schema": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
},
{
"type": "object",
"properties": {
"data": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "A key-value pair. The key must be \"data\", the value is hex-encoded data that becomes a part of an OP_RETURN output"
}
},
"additionalProperties": false,
"required": [
"data"
]
}
]
}
},
"description": "The outputs specified as key-value pairs.\nEach key may only appear once, i.e. there can only be one 'data' output, and no address may be duplicated.\nAt least one output of either type must be specified.\nFor convenience, a dictionary, which holds the key-value pairs directly, is also accepted."
},
{
"name": "conf_target",
"required": false,
"schema": {
"type": "number"
},
"description": "Confirmation target in blocks"
},
{
"name": "estimate_mode",
"required": false,
"schema": {
"type": "string"
},
"description": "The fee estimate mode, must be one of (case insensitive):\nunset, economical, conservative \nunset means no mode set (economical mode is used if the transaction is replaceable;\notherwise, conservative mode is used). \neconomical estimates use a shorter time horizon, making them more\nresponsive to short-term drops in the prevailing fee market. This mode\npotentially returns a lower fee rate estimate.\nconservative estimates use a longer time horizon, making them\nless responsive to short-term drops in the prevailing fee market. This mode\npotentially returns a higher fee rate estimate.\n"
},
{
"name": "fee_rate",
"required": false,
"schema": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
"description": "Specify a fee rate in sat/vB."
},
{
"name": "options",
"required": false,
"schema": {
"type": "object",
"properties": {
"add_inputs": {
"type": "boolean",
"description": "Automatically include coins from the wallet to cover the target amount.\n"
},
"include_unsafe": {
"type": "boolean",
"description": "Include inputs that are not safe to spend (unconfirmed transactions from outside keys and unconfirmed replacement transactions).\nWarning: the resulting transaction may become invalid if one of the unsafe inputs disappears.\nIf that happens, you will need to fund the transaction with different inputs and republish it."
},
"minconf": {
"type": "number",
"description": "If add_inputs is specified, require inputs with at least this many confirmations."
},
"maxconf": {
"type": "number",
"description": "If add_inputs is specified, require inputs with at most this many confirmations."
},
"add_to_wallet": {
"type": "boolean",
"description": "When false, returns a serialized transaction which will not be added to the wallet or broadcast"
},
"change_address": {
"type": "string",
"description": "The bitcoin address to receive the change"
},
"change_position": {
"type": "number",
"description": "The index of the change output"
},
"change_type": {
"type": "string",
"description": "The output type to use. Only valid if change_address is not specified. Options are \"legacy\", \"p2sh-segwit\", \"bech32\", \"bech32m\"."
},
"fee_rate": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Specify a fee rate in sat/vB.",
"x-bitcoin-also-positional": true
},
"include_watching": {
"type": "boolean",
"description": "(DEPRECATED) No longer used"
},
"inputs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id"
},
"vout": {
"type": "number",
"description": "The output number"
},
"sequence": {
"type": "number",
"description": "The sequence number"
},
"weight": {
"type": "number",
"description": "The maximum weight for this input, including the weight of the outpoint and sequence number. Note that signature sizes are not guaranteed to be consistent, so the maximum DER signatures size of 73 bytes should be used when considering ECDSA signatures.Remember to convert serialized sizes to weight units when necessary."
}
},
"additionalProperties": false,
"required": [
"txid",
"vout"
]
},
"description": "Specify inputs instead of adding them automatically."
},
"locktime": {
"type": "number",
"description": "Raw locktime. Non-0 value also locktime-activates inputs"
},
"lock_unspents": {
"type": "boolean",
"description": "Lock selected unspent outputs"
},
"psbt": {
"type": "boolean",
"description": "Always return a PSBT, implies add_to_wallet=false."
},
"subtract_fee_from_outputs": {
"type": "array",
"items": {
"type": "number"
},
"description": "Outputs to subtract the fee from, specified as integer indices.\nThe fee will be equally deducted from the amount of each specified output.\nThose recipients will receive less bitcoins than you enter in their corresponding amount field.\nIf no outputs are specified here, the sender pays the fee."
},
"max_tx_weight": {
"type": "number",
"description": "The maximum acceptable transaction weight.\nTransaction building will fail if this can not be satisfied."
},
"conf_target": {
"type": "number",
"description": "Confirmation target in blocks",
"x-bitcoin-also-positional": true
},
"estimate_mode": {
"type": "string",
"description": "The fee estimate mode, must be one of (case insensitive):\nunset, economical, conservative \nunset means no mode set (economical mode is used if the transaction is replaceable;\notherwise, conservative mode is used). \neconomical estimates use a shorter time horizon, making them more\nresponsive to short-term drops in the prevailing fee market. This mode\npotentially returns a lower fee rate estimate.\nconservative estimates use a longer time horizon, making them\nless responsive to short-term drops in the prevailing fee market. This mode\npotentially returns a higher fee rate estimate.\n",
"x-bitcoin-also-positional": true
},
"replaceable": {
"type": "boolean",
"description": "Marks this transaction as BIP125-replaceable.\nAllows this transaction to be replaced by a transaction with higher fees"
},
"solving_data": {
"type": "object",
"properties": {
"pubkeys": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "Public keys involved in this transaction."
},
"scripts": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "Scripts involved in this transaction."
},
"descriptors": {
"type": "array",
"items": {
"type": "string"
},
"description": "Descriptors that provide solving data for this transaction."
}
},
"additionalProperties": false,
"description": "Keys and scripts needed for producing a final transaction with a dummy signature.\nUsed for fee estimation during coin selection."
}
},
"additionalProperties": false
}
},
{
"name": "version",
"required": false,
"schema": {
"type": "number"
},
"description": "Transaction version"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"complete": {
"type": "boolean",
"description": "If the transaction has a complete set of signatures"
},
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id for the send. Only 1 transaction is created regardless of the number of addresses."
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "If add_to_wallet is false, the hex-encoded raw transaction with signature(s)"
},
"psbt": {
"type": "string",
"description": "If more signatures are needed, or if add_to_wallet is false, the base64-encoded (partially) signed transaction"
}
},
"additionalProperties": false,
"required": [
"complete"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "sendall",
"description": "EXPERIMENTAL warning: this call may be changed in future releases.\n\nSpend the value of all (or specific) confirmed UTXOs and unconfirmed change in the wallet to one or more recipients.\nUnconfirmed inbound UTXOs and locked UTXOs will not be spent. Sendall will respect the avoid_reuse wallet flag.\nIf your wallet contains many small inputs, either because it received tiny payments or as a result of accumulating change, consider using `send_max` to exclude inputs that are worth less than the fees needed to spend them.",
"params": [
{
"name": "recipients",
"required": true,
"schema": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
}
]
}
},
"description": "The sendall destinations. Each address may only appear once.\nOptionally some recipients can be specified with an amount to perform payments, but at least one address must appear without a specified amount.\n"
},
{
"name": "conf_target",
"required": false,
"schema": {
"type": "number"
},
"description": "Confirmation target in blocks"
},
{
"name": "estimate_mode",
"required": false,
"schema": {
"type": "string"
},
"description": "The fee estimate mode, must be one of (case insensitive):\nunset, economical, conservative \nunset means no mode set (economical mode is used if the transaction is replaceable;\notherwise, conservative mode is used). \neconomical estimates use a shorter time horizon, making them more\nresponsive to short-term drops in the prevailing fee market. This mode\npotentially returns a lower fee rate estimate.\nconservative estimates use a longer time horizon, making them\nless responsive to short-term drops in the prevailing fee market. This mode\npotentially returns a higher fee rate estimate.\n"
},
{
"name": "fee_rate",
"required": false,
"schema": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
"description": "Specify a fee rate in sat/vB."
},
{
"name": "options",
"required": false,
"schema": {
"type": "object",
"properties": {
"add_to_wallet": {
"type": "boolean",
"description": "When false, returns the serialized transaction without broadcasting or adding it to the wallet"
},
"fee_rate": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Specify a fee rate in sat/vB.",
"x-bitcoin-also-positional": true
},
"include_watching": {
"type": "boolean",
"description": "(DEPRECATED) No longer used"
},
"inputs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id"
},
"vout": {
"type": "number",
"description": "The output number"
},
"sequence": {
"type": "number",
"description": "The sequence number"
}
},
"additionalProperties": false,
"required": [
"txid",
"vout"
]
},
"description": "Use exactly the specified inputs to build the transaction. Specifying inputs is incompatible with the send_max, minconf, and maxconf options."
},
"locktime": {
"type": "number",
"description": "Raw locktime. Non-0 value also locktime-activates inputs"
},
"lock_unspents": {
"type": "boolean",
"description": "Lock selected unspent outputs"
},
"psbt": {
"type": "boolean",
"description": "Always return a PSBT, implies add_to_wallet=false."
},
"send_max": {
"type": "boolean",
"description": "When true, only use UTXOs that can pay for their own fees to maximize the output amount. When 'false' (default), no UTXO is left behind. send_max is incompatible with providing specific inputs."
},
"minconf": {
"type": "number",
"description": "Require inputs with at least this many confirmations."
},
"maxconf": {
"type": "number",
"description": "Require inputs with at most this many confirmations."
},
"version": {
"type": "number",
"description": "Transaction version"
},
"conf_target": {
"type": "number",
"description": "Confirmation target in blocks",
"x-bitcoin-also-positional": true
},
"estimate_mode": {
"type": "string",
"description": "The fee estimate mode, must be one of (case insensitive):\nunset, economical, conservative \nunset means no mode set (economical mode is used if the transaction is replaceable;\notherwise, conservative mode is used). \neconomical estimates use a shorter time horizon, making them more\nresponsive to short-term drops in the prevailing fee market. This mode\npotentially returns a lower fee rate estimate.\nconservative estimates use a longer time horizon, making them\nless responsive to short-term drops in the prevailing fee market. This mode\npotentially returns a higher fee rate estimate.\n",
"x-bitcoin-also-positional": true
},
"replaceable": {
"type": "boolean",
"description": "Marks this transaction as BIP125-replaceable.\nAllows this transaction to be replaced by a transaction with higher fees"
},
"solving_data": {
"type": "object",
"properties": {
"pubkeys": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "Public keys involved in this transaction."
},
"scripts": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "Scripts involved in this transaction."
},
"descriptors": {
"type": "array",
"items": {
"type": "string"
},
"description": "Descriptors that provide solving data for this transaction."
}
},
"additionalProperties": false,
"description": "Keys and scripts needed for producing a final transaction with a dummy signature.\nUsed for fee estimation during coin selection."
}
},
"additionalProperties": false
}
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"complete": {
"type": "boolean",
"description": "If the transaction has a complete set of signatures"
},
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id for the send. Only 1 transaction is created regardless of the number of addresses."
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "If add_to_wallet is false, the hex-encoded raw transaction with signature(s)"
},
"psbt": {
"type": "string",
"description": "If more signatures are needed, or if add_to_wallet is false, the base64-encoded (partially) signed transaction"
}
},
"additionalProperties": false,
"required": [
"complete"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "sendmany",
"description": "Send multiple times. Amounts are double-precision floating point numbers.\nRequires wallet passphrase to be set with walletpassphrase call if wallet is encrypted.",
"params": [
{
"name": "dummy",
"required": false,
"schema": {
"type": "string"
},
"description": "Must be set to \"\" for backwards compatibility."
},
{
"name": "amounts",
"required": true,
"schema": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
},
"description": "The addresses and amounts"
},
{
"name": "minconf",
"required": false,
"schema": {
"type": "number"
},
"description": "Ignored dummy value"
},
{
"name": "comment",
"required": false,
"schema": {
"type": "string"
},
"description": "A comment"
},
{
"name": "subtractfeefrom",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"description": "The addresses.\nThe fee will be equally deducted from the amount of each selected address.\nThose recipients will receive less bitcoins than you enter in their corresponding amount field.\nIf no addresses are specified here, the sender pays the fee."
},
{
"name": "replaceable",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Signal that this transaction can be replaced by a transaction (BIP 125)"
},
{
"name": "conf_target",
"required": false,
"schema": {
"type": "number"
},
"description": "Confirmation target in blocks"
},
{
"name": "estimate_mode",
"required": false,
"schema": {
"type": "string"
},
"description": "The fee estimate mode, must be one of (case insensitive):\nunset, economical, conservative \nunset means no mode set (economical mode is used if the transaction is replaceable;\notherwise, conservative mode is used). \neconomical estimates use a shorter time horizon, making them more\nresponsive to short-term drops in the prevailing fee market. This mode\npotentially returns a lower fee rate estimate.\nconservative estimates use a longer time horizon, making them\nless responsive to short-term drops in the prevailing fee market. This mode\npotentially returns a higher fee rate estimate.\n"
},
{
"name": "fee_rate",
"required": false,
"schema": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
"description": "Specify a fee rate in sat/vB."
},
{
"name": "verbose",
"required": false,
"schema": {
"type": "boolean"
},
"description": "If true, return extra information about the transaction."
}
],
"result": {
"name": "result",
"schema": {
"oneOf": [
{
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "if verbose is not set or set to false"
},
{
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id for the send. Only 1 transaction is created regardless of\nthe number of addresses."
},
"fee_reason": {
"type": "string",
"description": "The transaction fee reason."
}
},
"additionalProperties": false,
"required": [
"txid",
"fee_reason"
],
"description": "if verbose is set to true"
}
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "sendrawtransaction",
"description": "Submit a raw transaction (serialized, hex-encoded) to the network.\n\nIf -privatebroadcast is disabled, then the transaction will be put into the\nlocal mempool of the node and will be sent unconditionally to all currently\nconnected peers, so using sendrawtransaction for manual rebroadcast will degrade\nprivacy by leaking the transaction's origin, as nodes will normally not\nrebroadcast non-wallet transactions already in their mempool.\n\nIf -privatebroadcast is enabled, then the transaction will be sent only via\ndedicated, short-lived connections to Tor or I2P peers or IPv4/IPv6 peers\nvia the Tor network. This conceals the transaction's origin. The transaction\nwill only enter the local mempool when it is received back from the network.\n\nA specific exception, RPC_TRANSACTION_ALREADY_IN_UTXO_SET, may throw if the transaction cannot be added to the mempool.\n\nRelated RPCs: createrawtransaction, signrawtransactionwithkey",
"params": [
{
"name": "hexstring",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The hex string of the raw transaction"
},
{
"name": "maxfeerate",
"required": false,
"schema": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
"description": "Reject transactions whose fee rate is higher than the specified value, expressed in BTC/kvB.\nFee rates larger than 1BTC/kvB are rejected.\nSet to 0 to accept any fee rate."
},
{
"name": "maxburnamount",
"required": false,
"schema": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
"description": "Reject transactions with provably unspendable outputs (e.g. 'datacarrier' outputs that use the OP_RETURN opcode) greater than the specified value, expressed in BTC.\nIf burning funds through unspendable outputs is desired, increase this value.\nThis check is based on heuristics and does not guarantee spendability of outputs.\n"
}
],
"result": {
"name": "result",
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "sendtoaddress",
"description": "Send an amount to a given address.\nRequires wallet passphrase to be set with walletpassphrase call if wallet is encrypted.",
"params": [
{
"name": "address",
"required": true,
"schema": {
"type": "string"
},
"description": "The bitcoin address to send to."
},
{
"name": "amount",
"required": true,
"schema": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
"description": "The amount in BTC to send. eg 0.1"
},
{
"name": "comment",
"required": false,
"schema": {
"type": "string"
},
"description": "A comment used to store what the transaction is for.\nThis is not part of the transaction, just kept in your wallet."
},
{
"name": "comment_to",
"required": false,
"schema": {
"type": "string"
},
"description": "A comment to store the name of the person or organization\nto which you're sending the transaction. This is not part of the \ntransaction, just kept in your wallet."
},
{
"name": "subtractfeefromamount",
"required": false,
"schema": {
"type": "boolean"
},
"description": "The fee will be deducted from the amount being sent.\nThe recipient will receive less bitcoins than you enter in the amount field."
},
{
"name": "replaceable",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Signal that this transaction can be replaced by a transaction (BIP 125)"
},
{
"name": "conf_target",
"required": false,
"schema": {
"type": "number"
},
"description": "Confirmation target in blocks"
},
{
"name": "estimate_mode",
"required": false,
"schema": {
"type": "string"
},
"description": "The fee estimate mode, must be one of (case insensitive):\nunset, economical, conservative \nunset means no mode set (economical mode is used if the transaction is replaceable;\notherwise, conservative mode is used). \neconomical estimates use a shorter time horizon, making them more\nresponsive to short-term drops in the prevailing fee market. This mode\npotentially returns a lower fee rate estimate.\nconservative estimates use a longer time horizon, making them\nless responsive to short-term drops in the prevailing fee market. This mode\npotentially returns a higher fee rate estimate.\n"
},
{
"name": "avoid_reuse",
"required": false,
"schema": {
"type": "boolean"
},
"description": "(only available if avoid_reuse wallet flag is set) Avoid spending from dirty addresses; addresses are considered\ndirty if they have previously been used in a transaction. If true, this also activates avoidpartialspends, grouping outputs by their addresses."
},
{
"name": "fee_rate",
"required": false,
"schema": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
"description": "Specify a fee rate in sat/vB."
},
{
"name": "verbose",
"required": false,
"schema": {
"type": "boolean"
},
"description": "If true, return extra information about the transaction."
}
],
"result": {
"name": "result",
"schema": {
"oneOf": [
{
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "if verbose is not set or set to false"
},
{
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id."
},
"fee_reason": {
"type": "string",
"description": "The transaction fee reason."
}
},
"additionalProperties": false,
"required": [
"txid",
"fee_reason"
],
"description": "if verbose is set to true"
}
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "setban",
"description": "Attempts to add or remove an IP/Subnet from the banned list.",
"params": [
{
"name": "subnet",
"required": true,
"schema": {
"type": "string"
},
"description": "The IP/Subnet (see getpeerinfo for nodes IP) with an optional netmask (default is /32 = single IP)"
},
{
"name": "command",
"required": true,
"schema": {
"type": "string"
},
"description": "'add' to add an IP/Subnet to the list, 'remove' to remove an IP/Subnet from the list"
},
{
"name": "bantime",
"required": false,
"schema": {
"type": "number"
},
"description": "time in seconds how long (or until when if [absolute] is set) the IP is banned (0 or empty means using the default time of 24h which can also be overwritten by the -bantime startup argument)"
},
{
"name": "absolute",
"required": false,
"schema": {
"type": "boolean"
},
"description": "If set, the bantime must be an absolute timestamp expressed in UNIX epoch time"
}
],
"result": {
"name": "result",
"schema": {
"type": "null"
}
},
"x-bitcoin-category": "network"
},
{
"name": "setlabel",
"description": "Sets the label associated with the given address.",
"params": [
{
"name": "address",
"required": true,
"schema": {
"type": "string"
},
"description": "The bitcoin address to be associated with a label."
},
{
"name": "label",
"required": true,
"schema": {
"type": "string"
},
"description": "The label to assign to the address."
}
],
"result": {
"name": "result",
"schema": {
"type": "null"
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "setnetworkactive",
"description": "Disable/enable all p2p network activity.",
"params": [
{
"name": "state",
"required": true,
"schema": {
"type": "boolean"
},
"description": "true to enable networking, false to disable"
}
],
"result": {
"name": "result",
"schema": {
"type": "boolean"
}
},
"x-bitcoin-category": "network"
},
{
"name": "setwalletflag",
"description": "Change the state of the given wallet flag for a wallet.",
"params": [
{
"name": "flag",
"required": true,
"schema": {
"type": "string"
},
"description": "The name of the flag to change. Current available flags: avoid_reuse"
},
{
"name": "value",
"required": false,
"schema": {
"type": "boolean"
},
"description": "The new state."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"flag_name": {
"type": "string",
"description": "The name of the flag that was modified"
},
"flag_state": {
"type": "boolean",
"description": "The new state of the flag"
},
"warnings": {
"type": "string",
"description": "Any warnings associated with the change"
}
},
"additionalProperties": false,
"required": [
"flag_name",
"flag_state"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "signmessage",
"description": "Sign a message with the private key of an address\nRequires wallet passphrase to be set with walletpassphrase call if wallet is encrypted.",
"params": [
{
"name": "address",
"required": true,
"schema": {
"type": "string"
},
"description": "The bitcoin address to use for the private key."
},
{
"name": "message",
"required": true,
"schema": {
"type": "string"
},
"description": "The message to create a signature of."
}
],
"result": {
"name": "result",
"schema": {
"type": "string"
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "signmessagewithprivkey",
"description": "Sign a message with the private key of an address",
"params": [
{
"name": "privkey",
"required": true,
"schema": {
"type": "string"
},
"description": "The private key to sign the message with."
},
{
"name": "message",
"required": true,
"schema": {
"type": "string"
},
"description": "The message to create a signature of."
}
],
"result": {
"name": "result",
"schema": {
"type": "string"
}
},
"x-bitcoin-category": "util"
},
{
"name": "signrawtransactionwithkey",
"description": "Sign inputs for raw transaction (serialized, hex-encoded).\nThe second argument is an array of base58-encoded private\nkeys that will be the only keys used to sign the transaction.\nThe third optional argument (may be null) is an array of previous transaction outputs that\nthis transaction depends on but may not yet be in the block chain.",
"params": [
{
"name": "hexstring",
"required": true,
"schema": {
"type": "string"
},
"description": "The transaction hex string"
},
{
"name": "privkeys",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"description": "The base58-encoded private keys for signing"
},
{
"name": "prevtxs",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id"
},
"vout": {
"type": "number",
"description": "The output number"
},
"scriptPubKey": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "output script"
},
"redeemScript": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "(required for P2SH) redeem script"
},
"witnessScript": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "(required for P2WSH or P2SH-P2WSH) witness script"
},
"amount": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "(required for Segwit inputs) the amount spent"
}
},
"additionalProperties": false,
"required": [
"txid",
"vout",
"scriptPubKey"
]
}
},
"description": "The previous dependent transaction outputs"
},
{
"name": "sighashtype",
"required": false,
"schema": {
"type": "string"
},
"description": "The signature hash type. Must be one of:\n \"DEFAULT\"\n \"ALL\"\n \"NONE\"\n \"SINGLE\"\n \"ALL|ANYONECANPAY\"\n \"NONE|ANYONECANPAY\"\n \"SINGLE|ANYONECANPAY\"\n"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex-encoded raw transaction with signature(s)"
},
"complete": {
"type": "boolean",
"description": "If the transaction has a complete set of signatures"
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hash of the referenced, previous transaction"
},
"vout": {
"type": "number",
"description": "The index of the output to spent and used as input"
},
"witness": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"scriptSig": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex-encoded signature script"
},
"sequence": {
"type": "number",
"description": "Script sequence number"
},
"error": {
"type": "string",
"description": "Verification or signing error related to the input"
}
},
"additionalProperties": false,
"required": [
"txid",
"vout",
"witness",
"scriptSig",
"sequence",
"error"
]
},
"description": "Script verification errors (if there are any)"
}
},
"additionalProperties": false,
"required": [
"hex",
"complete"
]
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "signrawtransactionwithwallet",
"description": "Sign inputs for raw transaction (serialized, hex-encoded).\nThe second optional argument (may be null) is an array of previous transaction outputs that\nthis transaction depends on but may not yet be in the block chain.\nRequires wallet passphrase to be set with walletpassphrase call if wallet is encrypted.",
"params": [
{
"name": "hexstring",
"required": true,
"schema": {
"type": "string"
},
"description": "The transaction hex string"
},
{
"name": "prevtxs",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id"
},
"vout": {
"type": "number",
"description": "The output number"
},
"scriptPubKey": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The output script"
},
"redeemScript": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "(required for P2SH) redeem script"
},
"witnessScript": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "(required for P2WSH or P2SH-P2WSH) witness script"
},
"amount": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "(required for Segwit inputs) the amount spent"
}
},
"additionalProperties": false,
"required": [
"txid",
"vout",
"scriptPubKey"
]
}
},
"description": "The previous dependent transaction outputs"
},
{
"name": "sighashtype",
"required": false,
"schema": {
"type": "string"
},
"description": "The signature hash type. Must be one of\n \"DEFAULT\"\n \"ALL\"\n \"NONE\"\n \"SINGLE\"\n \"ALL|ANYONECANPAY\"\n \"NONE|ANYONECANPAY\"\n \"SINGLE|ANYONECANPAY\""
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex-encoded raw transaction with signature(s)"
},
"complete": {
"type": "boolean",
"description": "If the transaction has a complete set of signatures"
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hash of the referenced, previous transaction"
},
"vout": {
"type": "number",
"description": "The index of the output to spent and used as input"
},
"witness": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"scriptSig": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex-encoded signature script"
},
"sequence": {
"type": "number",
"description": "Script sequence number"
},
"error": {
"type": "string",
"description": "Verification or signing error related to the input"
}
},
"additionalProperties": false,
"required": [
"txid",
"vout",
"witness",
"scriptSig",
"sequence",
"error"
]
},
"description": "Script verification errors (if there are any)"
}
},
"additionalProperties": false,
"required": [
"hex",
"complete"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "simulaterawtransaction",
"description": "Calculate the balance change resulting in the signing and broadcasting of the given transaction(s).",
"params": [
{
"name": "rawtxs",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"description": "An array of hex strings of raw transactions.\n"
},
{
"name": "options",
"required": false,
"schema": {
"type": "object",
"properties": {
"include_watchonly": {
"type": "boolean",
"description": "(DEPRECATED) No longer used"
}
},
"additionalProperties": false
}
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"balance_change": {
"type": "string",
"description": "The wallet balance change (negative means decrease)."
}
},
"additionalProperties": false,
"required": [
"balance_change"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "stop",
"description": "Request a graceful shutdown of Bitcoin Core.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "string"
}
},
"x-bitcoin-category": "control"
},
{
"name": "submitblock",
"description": "Attempts to submit new block to network.\nSee https://en.bitcoin.it/wiki/BIP_0022 for full specification.",
"params": [
{
"name": "hexdata",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "the hex-encoded block data to submit"
},
{
"name": "dummy",
"required": false,
"schema": {
"type": "string"
},
"description": "dummy value, for compatibility with BIP22. This value is ignored."
}
],
"result": {
"name": "result",
"schema": {
"oneOf": [
{
"type": "null",
"description": "If the block was accepted"
},
{
"type": "string",
"description": "Otherwise"
}
]
}
},
"x-bitcoin-category": "mining"
},
{
"name": "submitheader",
"description": "Decode the given hexdata as a header and submit it as a candidate chain tip if valid.\nThrows when the header is invalid.",
"params": [
{
"name": "hexdata",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "the hex-encoded block header data"
}
],
"result": {
"name": "result",
"schema": {
"type": "null"
}
},
"x-bitcoin-category": "mining"
},
{
"name": "submitpackage",
"description": "Submit a package of raw transactions (serialized, hex-encoded) to local node.\nThe package will be validated according to consensus and mempool policy rules. If any transaction passes, it will be accepted to mempool.\nThis RPC is experimental and the interface may be unstable. Refer to doc/policy/packages.md for documentation on package policies.\nWarning: successful submission does not mean the transactions will propagate throughout the network.",
"params": [
{
"name": "package",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"description": "An array of raw transactions.\nThe package must consist of a transaction with (some, all, or none of) its unconfirmed parents. A single transaction is permitted.\nNone of the parents may depend on each other. Parents that are already in mempool do not need to be present in the package.\nThe package must be topologically sorted, with the child being the last element in the array if there are multiple elements."
},
{
"name": "maxfeerate",
"required": false,
"schema": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
"description": "Reject transactions whose fee rate is higher than the specified value, expressed in BTC/kvB.\nFee rates larger than 1BTC/kvB are rejected.\nSet to 0 to accept any fee rate."
},
{
"name": "maxburnamount",
"required": false,
"schema": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
"description": "Reject transactions with provably unspendable outputs (e.g. 'datacarrier' outputs that use the OP_RETURN opcode) greater than the specified value, expressed in BTC.\nIf burning funds through unspendable outputs is desired, increase this value.\nThis check is based on heuristics and does not guarantee spendability of outputs.\n"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"package_msg": {
"type": "string",
"description": "The transaction package result message. \"success\" indicates all transactions were accepted into or are already in the mempool."
},
"tx-results": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction hash in hex"
},
"other-wtxid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The wtxid of a different transaction with the same txid but different witness found in the mempool. This means the submitted transaction was ignored."
},
"vsize": {
"type": "number",
"description": "Sigops-adjusted virtual transaction size."
},
"fees": {
"type": "object",
"properties": {
"base": {
"type": "string",
"description": "transaction fee in BTC"
},
"effective-feerate": {
"type": "string",
"description": "if the transaction was not already in the mempool, the effective feerate in BTC per KvB. For example, the package feerate and/or feerate with modified fees from prioritisetransaction."
},
"effective-includes": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "if effective-feerate is provided, the wtxids of the transactions whose fees and vsizes are included in effective-feerate."
}
},
"additionalProperties": false,
"required": [
"base"
],
"description": "Transaction fees"
},
"error": {
"type": "string",
"description": "Error string if rejected from mempool, or \"package-not-validated\" when the package aborts before any per-tx processing."
}
},
"additionalProperties": false,
"required": [
"txid"
]
},
"description": "The transaction results keyed by wtxid. An entry is returned for every submitted wtxid."
},
"replaced-transactions": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "List of txids of replaced transactions"
}
},
"additionalProperties": false,
"required": [
"package_msg",
"tx-results"
]
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "testmempoolaccept",
"description": "Returns result of mempool acceptance tests indicating if raw transaction(s) (serialized, hex-encoded) would be accepted by mempool.\n\nIf multiple transactions are passed in, parents must come before children and package policies apply: the transactions cannot conflict with any mempool transactions or each other.\n\nIf one transaction fails, other transactions may not be fully validated (the 'allowed' key will be blank).\n\nThe maximum number of transactions allowed is 25.\n\nThis checks if transactions violate the consensus or policy rules.\n\nSee sendrawtransaction call.",
"params": [
{
"name": "rawtxs",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
},
"description": "An array of hex strings of raw transactions."
},
{
"name": "maxfeerate",
"required": false,
"schema": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
"description": "Reject transactions whose fee rate is higher than the specified value, expressed in BTC/kvB.\nFee rates larger than 1BTC/kvB are rejected.\nSet to 0 to accept any fee rate."
}
],
"result": {
"name": "result",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction hash in hex"
},
"wtxid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction witness hash in hex"
},
"package-error": {
"type": "string",
"description": "Package validation error, if any (only possible if rawtxs had more than 1 transaction)."
},
"allowed": {
"type": "boolean",
"description": "Whether this tx would be accepted to the mempool and pass client-specified maxfeerate. If not present, the tx was not fully validated due to a failure in another tx in the list."
},
"vsize": {
"type": "number",
"description": "Virtual transaction size as defined in BIP 141. This is different from actual serialized size for witness transactions as witness data is discounted (only present when 'allowed' is true)"
},
"fees": {
"type": "object",
"properties": {
"base": {
"type": "string",
"description": "transaction fee in BTC"
},
"effective-feerate": {
"type": "string",
"description": "the effective feerate in BTC per KvB. May differ from the base feerate if, for example, there are modified fees from prioritisetransaction or a package feerate was used."
},
"effective-includes": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "transactions whose fees and vsizes are included in effective-feerate."
}
},
"additionalProperties": false,
"required": [
"base",
"effective-feerate",
"effective-includes"
],
"description": "Transaction fees (only present if 'allowed' is true)"
},
"reject-reason": {
"type": "string",
"description": "Rejection reason (only present when 'allowed' is false)"
},
"reject-details": {
"type": "string",
"description": "Rejection details (only present when 'allowed' is false and rejection details exist)"
}
},
"additionalProperties": false,
"required": [
"txid",
"wtxid"
]
}
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "unloadwallet",
"description": "Unloads the wallet referenced by the request endpoint or the wallet_name argument.\nIf both are specified, they must be identical.",
"params": [
{
"name": "wallet_name",
"required": false,
"schema": {
"type": "string"
},
"description": "The name of the wallet to unload. If provided both here and in the RPC endpoint, the two must be identical."
},
{
"name": "load_on_startup",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Save wallet name to persistent settings and load on startup. True to add wallet to startup list, false to remove, null to leave unchanged."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"description": "Warning messages, if any, related to unloading the wallet."
}
},
"additionalProperties": false
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "uptime",
"description": "Returns the total uptime of the server.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "number"
}
},
"x-bitcoin-category": "control"
},
{
"name": "utxoupdatepsbt",
"description": "Updates all segwit inputs and outputs in a PSBT with data from output descriptors, the UTXO set, txindex, or the mempool.",
"params": [
{
"name": "psbt",
"required": true,
"schema": {
"type": "string"
},
"description": "A base64 string of a PSBT"
},
{
"name": "descriptors",
"required": false,
"schema": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"desc": {
"type": "string",
"description": "An output descriptor"
},
"range": {
"oneOf": [
{
"type": "number"
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"minItems": 2,
"maxItems": 2
}
],
"description": "Up to what index HD chains should be explored (either end or [begin,end])"
}
},
"additionalProperties": false,
"required": [
"desc"
]
}
]
}
},
"description": "An array of either strings or objects"
}
],
"result": {
"name": "result",
"schema": {
"type": "string"
}
},
"x-bitcoin-category": "rawtransactions"
},
{
"name": "validateaddress",
"description": "Return information about the given bitcoin address.",
"params": [
{
"name": "address",
"required": true,
"schema": {
"type": "string"
},
"description": "The bitcoin address to validate"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"isvalid": {
"type": "boolean",
"description": "If the address is valid or not"
},
"address": {
"type": "string",
"description": "The bitcoin address validated"
},
"scriptPubKey": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex-encoded output script generated by the address"
},
"isscript": {
"type": "boolean",
"description": "If the key is a script"
},
"iswitness": {
"type": "boolean",
"description": "If the address is a witness address"
},
"witness_version": {
"type": "number",
"description": "The version number of the witness program"
},
"witness_program": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex value of the witness program"
},
"error": {
"type": "string",
"description": "Error message, if any"
},
"error_locations": {
"type": "array",
"items": {
"type": "number"
},
"description": "Indices of likely error locations in address, if known (e.g. Bech32 errors)"
}
},
"additionalProperties": false,
"required": [
"isvalid"
]
}
},
"x-bitcoin-category": "util"
},
{
"name": "verifychain",
"description": "Verifies blockchain database.",
"params": [
{
"name": "checklevel",
"required": false,
"schema": {
"type": "number"
},
"description": "How thorough the block verification is:\n- level 0 reads the blocks from disk\n- level 1 verifies block validity\n- level 2 verifies undo data\n- level 3 checks disconnection of tip blocks\n- level 4 tries to reconnect the blocks\n- each level includes the checks of the previous levels"
},
{
"name": "nblocks",
"required": false,
"schema": {
"type": "number"
},
"description": "The number of blocks to check."
}
],
"result": {
"name": "result",
"schema": {
"type": "boolean"
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "verifymessage",
"description": "Verify a signed message.",
"params": [
{
"name": "address",
"required": true,
"schema": {
"type": "string"
},
"description": "The bitcoin address to use for the signature."
},
{
"name": "signature",
"required": true,
"schema": {
"type": "string"
},
"description": "The signature provided by the signer in base 64 encoding (see signmessage)."
},
{
"name": "message",
"required": true,
"schema": {
"type": "string"
},
"description": "The message that was signed."
}
],
"result": {
"name": "result",
"schema": {
"type": "boolean"
}
},
"x-bitcoin-category": "util"
},
{
"name": "verifytxoutproof",
"description": "Verifies that a proof points to a transaction in a block, returning the transaction it commits to\nand throwing an RPC error if the block is not in our best chain",
"params": [
{
"name": "proof",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "The hex-encoded proof generated by gettxoutproof"
}
],
"result": {
"name": "result",
"schema": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
}
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "waitforblock",
"description": "Waits for a specific new block and returns useful info about it.\n\nReturns the current block on timeout or exit.\n\nMake sure to use no RPC timeout (bitcoin-cli -rpcclienttimeout=0)",
"params": [
{
"name": "blockhash",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "Block hash to wait for."
},
{
"name": "timeout",
"required": false,
"schema": {
"type": "number"
},
"description": "Time in milliseconds to wait for a response. 0 indicates no timeout."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"hash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The blockhash"
},
"height": {
"type": "number",
"description": "Block height"
}
},
"additionalProperties": false,
"required": [
"hash",
"height"
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "waitforblockheight",
"description": "Waits for (at least) block height and returns the height and hash\nof the current tip.\n\nReturns the current block on timeout or exit.\n\nMake sure to use no RPC timeout (bitcoin-cli -rpcclienttimeout=0)",
"params": [
{
"name": "height",
"required": true,
"schema": {
"type": "number"
},
"description": "Block height to wait for."
},
{
"name": "timeout",
"required": false,
"schema": {
"type": "number"
},
"description": "Time in milliseconds to wait for a response. 0 indicates no timeout."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"hash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The blockhash"
},
"height": {
"type": "number",
"description": "Block height"
}
},
"additionalProperties": false,
"required": [
"hash",
"height"
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "waitfornewblock",
"description": "Waits for any new block and returns useful info about it.\n\nReturns the current block on timeout or exit.\n\nMake sure to use no RPC timeout (bitcoin-cli -rpcclienttimeout=0)",
"params": [
{
"name": "timeout",
"required": false,
"schema": {
"type": "number"
},
"description": "Time in milliseconds to wait for a response. 0 indicates no timeout."
},
{
"name": "current_tip",
"required": false,
"schema": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "Method waits for the chain tip to differ from this."
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"hash": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The blockhash"
},
"height": {
"type": "number",
"description": "Block height"
}
},
"additionalProperties": false,
"required": [
"hash",
"height"
]
}
},
"x-bitcoin-category": "blockchain"
},
{
"name": "walletcreatefundedpsbt",
"description": "Creates and funds a transaction in the Partially Signed Transaction format.\nImplements the Creator and Updater roles.\nAll existing inputs must either have their previous output transaction be in the wallet\nor be in the UTXO set. Solving data must be provided for non-wallet inputs.",
"params": [
{
"name": "inputs",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The transaction id"
},
"vout": {
"type": "number",
"description": "The output number"
},
"sequence": {
"type": "number",
"description": "The sequence number"
},
"weight": {
"type": "number",
"description": "The maximum weight for this input, including the weight of the outpoint and sequence number. Note that signature sizes are not guaranteed to be consistent, so the maximum DER signatures size of 73 bytes should be used when considering ECDSA signatures.Remember to convert serialized sizes to weight units when necessary."
}
},
"additionalProperties": false,
"required": [
"txid",
"vout"
]
}
},
"description": "Leave empty to add inputs automatically. See add_inputs option."
},
{
"name": "outputs",
"required": true,
"schema": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
},
{
"type": "object",
"properties": {
"data": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "A key-value pair. The key must be \"data\", the value is hex-encoded data that becomes a part of an OP_RETURN output"
}
},
"additionalProperties": false,
"required": [
"data"
]
}
]
}
},
"description": "The outputs specified as key-value pairs.\nEach key may only appear once, i.e. there can only be one 'data' output, and no address may be duplicated.\nAt least one output of either type must be specified.\nFor compatibility reasons, a dictionary, which holds the key-value pairs directly, is also\naccepted as second parameter."
},
{
"name": "locktime",
"required": false,
"schema": {
"type": "number"
},
"description": "Raw locktime. Non-0 value also locktime-activates inputs"
},
{
"name": "options",
"required": false,
"schema": {
"type": "object",
"properties": {
"add_inputs": {
"type": "boolean",
"description": "Automatically include coins from the wallet to cover the target amount.\n"
},
"include_unsafe": {
"type": "boolean",
"description": "Include inputs that are not safe to spend (unconfirmed transactions from outside keys and unconfirmed replacement transactions).\nWarning: the resulting transaction may become invalid if one of the unsafe inputs disappears.\nIf that happens, you will need to fund the transaction with different inputs and republish it."
},
"minconf": {
"type": "number",
"description": "If add_inputs is specified, require inputs with at least this many confirmations."
},
"maxconf": {
"type": "number",
"description": "If add_inputs is specified, require inputs with at most this many confirmations."
},
"changeAddress": {
"type": "string",
"description": "The bitcoin address to receive the change"
},
"changePosition": {
"type": "number",
"description": "The index of the change output"
},
"change_type": {
"type": "string",
"description": "The output type to use. Only valid if changeAddress is not specified. Options are \"legacy\", \"p2sh-segwit\", \"bech32\", \"bech32m\"."
},
"includeWatching": {
"type": "boolean",
"description": "(DEPRECATED) No longer used"
},
"lockUnspents": {
"type": "boolean",
"description": "Lock selected unspent outputs"
},
"fee_rate": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Specify a fee rate in sat/vB."
},
"feeRate": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Specify a fee rate in BTC/kvB."
},
"subtractFeeFromOutputs": {
"type": "array",
"items": {
"type": "number"
},
"description": "The outputs to subtract the fee from.\nThe fee will be equally deducted from the amount of each specified output.\nThose recipients will receive less bitcoins than you enter in their corresponding amount field.\nIf no outputs are specified here, the sender pays the fee."
},
"max_tx_weight": {
"type": "number",
"description": "The maximum acceptable transaction weight.\nTransaction building will fail if this can not be satisfied."
},
"conf_target": {
"type": "number",
"description": "Confirmation target in blocks",
"x-bitcoin-also-positional": true
},
"estimate_mode": {
"type": "string",
"description": "The fee estimate mode, must be one of (case insensitive):\nunset, economical, conservative \nunset means no mode set (economical mode is used if the transaction is replaceable;\notherwise, conservative mode is used). \neconomical estimates use a shorter time horizon, making them more\nresponsive to short-term drops in the prevailing fee market. This mode\npotentially returns a lower fee rate estimate.\nconservative estimates use a longer time horizon, making them\nless responsive to short-term drops in the prevailing fee market. This mode\npotentially returns a higher fee rate estimate.\n",
"x-bitcoin-also-positional": true
},
"replaceable": {
"type": "boolean",
"description": "Marks this transaction as BIP125-replaceable.\nAllows this transaction to be replaced by a transaction with higher fees"
},
"solving_data": {
"type": "object",
"properties": {
"pubkeys": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "Public keys involved in this transaction."
},
"scripts": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$"
},
"description": "Scripts involved in this transaction."
},
"descriptors": {
"type": "array",
"items": {
"type": "string"
},
"description": "Descriptors that provide solving data for this transaction."
}
},
"additionalProperties": false,
"description": "Keys and scripts needed for producing a final transaction with a dummy signature.\nUsed for fee estimation during coin selection."
}
},
"additionalProperties": false
}
},
{
"name": "bip32derivs",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Include BIP 32 derivation paths for public keys if we know them"
},
{
"name": "version",
"required": false,
"schema": {
"type": "number"
},
"description": "Transaction version"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"psbt": {
"type": "string",
"description": "The resulting raw transaction (base64-encoded string)"
},
"fee": {
"type": "string",
"description": "Fee in BTC the resulting transaction pays"
},
"changepos": {
"type": "number",
"description": "The position of the added change output, or -1"
}
},
"additionalProperties": false,
"required": [
"psbt",
"fee",
"changepos"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "walletdisplayaddress",
"description": "Display address on an external signer for verification.",
"params": [
{
"name": "address",
"required": true,
"schema": {
"type": "string"
},
"description": "bitcoin address to display"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "The address as confirmed by the signer"
}
},
"additionalProperties": false,
"required": [
"address"
]
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "walletlock",
"description": "Removes the wallet encryption key from memory, locking the wallet.\nAfter calling this method, you will need to call walletpassphrase again\nbefore being able to call any methods which require the wallet to be unlocked.",
"params": [
],
"result": {
"name": "result",
"schema": {
"type": "null"
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "walletpassphrase",
"description": "Stores the wallet decryption key in memory for 'timeout' seconds.\nThis is needed prior to performing transactions related to private keys such as sending bitcoins\n\nNote:\nIssuing the walletpassphrase command while the wallet is already unlocked will set a new unlock\ntime that overrides the old one.",
"params": [
{
"name": "passphrase",
"required": true,
"schema": {
"type": "string"
},
"description": "The wallet passphrase"
},
{
"name": "timeout",
"required": true,
"schema": {
"type": "number"
},
"description": "The time to keep the decryption key in seconds; capped at 100000000 (~3 years)."
}
],
"result": {
"name": "result",
"schema": {
"type": "null"
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "walletpassphrasechange",
"description": "Changes the wallet passphrase from 'oldpassphrase' to 'newpassphrase'.",
"params": [
{
"name": "oldpassphrase",
"required": true,
"schema": {
"type": "string"
},
"description": "The current passphrase"
},
{
"name": "newpassphrase",
"required": true,
"schema": {
"type": "string"
},
"description": "The new passphrase"
}
],
"result": {
"name": "result",
"schema": {
"type": "null"
}
},
"x-bitcoin-category": "wallet"
},
{
"name": "walletprocesspsbt",
"description": "Update a PSBT with input information from our wallet and then sign inputs\nthat we can sign for.\nRequires wallet passphrase to be set with walletpassphrase call if wallet is encrypted.",
"params": [
{
"name": "psbt",
"required": true,
"schema": {
"type": "string"
},
"description": "The transaction base64 string"
},
{
"name": "sign",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Also sign the transaction when updating (requires wallet to be unlocked)"
},
{
"name": "sighashtype",
"required": false,
"schema": {
"type": "string"
},
"description": "The signature hash type to sign with if not specified by the PSBT. Must be one of\n \"DEFAULT\"\n \"ALL\"\n \"NONE\"\n \"SINGLE\"\n \"ALL|ANYONECANPAY\"\n \"NONE|ANYONECANPAY\"\n \"SINGLE|ANYONECANPAY\""
},
{
"name": "bip32derivs",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Include BIP 32 derivation paths for public keys if we know them"
},
{
"name": "finalize",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Also finalize inputs if possible"
}
],
"result": {
"name": "result",
"schema": {
"type": "object",
"properties": {
"psbt": {
"type": "string",
"description": "The base64-encoded partially signed transaction"
},
"complete": {
"type": "boolean",
"description": "If the transaction has a complete set of signatures"
},
"hex": {
"type": "string",
"pattern": "^[0-9a-fA-F]*$",
"description": "The hex-encoded network transaction if complete"
}
},
"additionalProperties": false,
"required": [
"psbt",
"complete"
]
}
},
"x-bitcoin-category": "wallet"
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment