From 9d90e50d191330237688eea1a4bd93018b417da2 Mon Sep 17 00:00:00 2001 From: Casey Rodarmor Date: Wed, 13 Nov 2024 13:38:50 -0800 Subject: [PATCH 1/6] Add `schema` RPC --- schema.json | 22776 +++++++++++++++++++++++++++++++++++++++++++ src/CMakeLists.txt | 1 + src/rpc/schema.cpp | 220 + src/rpc/schema.h | 15 + src/rpc/server.cpp | 24 + src/rpc/server.h | 2 + src/rpc/util.h | 2 + 7 files changed, 23040 insertions(+) create mode 100644 schema.json create mode 100644 src/rpc/schema.cpp create mode 100644 src/rpc/schema.h diff --git a/schema.json b/schema.json new file mode 100644 index 00000000000..5bba5df6552 --- /dev/null +++ b/schema.json @@ -0,0 +1,22776 @@ +{ + "rpcs": { + "abandontransaction": { + "category": "wallet", + "description": "\nMark in-wallet transaction 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.\n", + "examples": "> bitcoin-cli abandontransaction \"1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"abandontransaction\", \"params\": [\"1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "abandontransaction", + "argument_names": [ + "txid" + ], + "arguments": [ + { + "names": [ + "txid" + ], + "description": "The transaction id", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + } + ], + "results": [ + { + "type": "none", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "abortrescan": { + "category": "wallet", + "description": "\nStops current wallet rescan triggered by an RPC call, e.g. by an importprivkey call.\nNote: Use \"getwalletinfo\" to query the scanning progress.\n", + "examples": "\nImport a private key\n> bitcoin-cli importprivkey \"mykey\"\n\nAbort the running wallet rescan\n> bitcoin-cli abortrescan \n\nAs a JSON-RPC call\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"abortrescan\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "abortrescan", + "argument_names": [], + "arguments": [], + "results": [ + { + "type": "boolean", + "optional": false, + "description": "Whether the abort was successful", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "addconnection": { + "category": "hidden", + "description": "\nOpen an outbound connection to a specified node. This RPC is for testing only.\n", + "examples": "> bitcoin-cli addconnection \"192.168.0.6:8333\" \"outbound-full-relay\" true\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"addconnection\", \"params\": [\"192.168.0.6:8333\" \"outbound-full-relay\" true]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "addconnection", + "argument_names": [ + "address", + "connection_type", + "v2transport" + ], + "arguments": [ + { + "names": [ + "address" + ], + "description": "The IP address and port to attempt connecting to.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + }, + { + "names": [ + "connection_type" + ], + "description": "Type of connection to open (\"outbound-full-relay\", \"block-relay-only\", \"addr-fetch\" or \"feeler\").", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + }, + { + "names": [ + "v2transport" + ], + "description": "Attempt to connect using BIP324 v2 transport protocol", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "boolean" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Address of newly added connection.", + "skip_type_check": false, + "key_name": "address", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "Type of connection opened.", + "skip_type_check": false, + "key_name": "connection_type", + "condition": "" + } + ] + } + ] + }, + "addmultisigaddress": { + "category": "wallet", + "description": "\nAdd an nrequired-to-sign multisignature address to the wallet. Requires a new wallet backup.\nEach key is a Bitcoin address or hex-encoded public key.\nThis functionality is only intended for use with non-watchonly addresses.\nSee `importaddress` for watchonly p2sh address support.\nIf 'label' is specified, assign address to that label.\nNote: This command is only compatible with legacy wallets.\n", + "examples": "\nAdd a multisig address from 2 addresses\n> bitcoin-cli addmultisigaddress 2 \"[\\\"bc1q09vm5lfy0j5reeulh4x5752q25uqqvz34hufdl\\\",\\\"bc1q02ad21edsxd23d32dfgqqsz4vv4nmtfzuklhy3\\\"]\"\n\nAs a JSON-RPC call\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"addmultisigaddress\", \"params\": [2, \"[\\\"bc1q09vm5lfy0j5reeulh4x5752q25uqqvz34hufdl\\\",\\\"bc1q02ad21edsxd23d32dfgqqsz4vv4nmtfzuklhy3\\\"]\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "addmultisigaddress", + "argument_names": [ + "nrequired", + "keys", + "label", + "address_type" + ], + "arguments": [ + { + "names": [ + "nrequired" + ], + "description": "The number of required signatures out of the n keys or addresses.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "number" + }, + { + "names": [ + "keys" + ], + "description": "The bitcoin addresses or hex-encoded public keys", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "key" + ], + "description": "bitcoin address or hex-encoded public key", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + } + ] + }, + { + "names": [ + "label" + ], + "description": "A label to assign the addresses to.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "address_type" + ], + "description": "The address type to use. Options are \"legacy\", \"p2sh-segwit\", and \"bech32\".", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "set by -addresstype", + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The value of the new multisig address", + "skip_type_check": false, + "key_name": "address", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The string value of the hex-encoded redemption script", + "skip_type_check": false, + "key_name": "redeemScript", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The descriptor for this multisig", + "skip_type_check": false, + "key_name": "descriptor", + "condition": "" + }, + { + "type": "array", + "optional": true, + "description": "Any warnings resulting from the creation of this multisig", + "skip_type_check": false, + "key_name": "warnings", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + } + ] + } + ] + }, + "addnode": { + "category": "network", + "description": "\nAttempts 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.\n", + "examples": "> bitcoin-cli addnode \"192.168.0.6:8333\" \"onetry\" true\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"addnode\", \"params\": [\"192.168.0.6:8333\", \"onetry\" true]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "addnode", + "argument_names": [ + "node", + "command", + "v2transport" + ], + "arguments": [ + { + "names": [ + "node" + ], + "description": "The address of the peer to connect to", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + }, + { + "names": [ + "command" + ], + "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", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + }, + { + "names": [ + "v2transport" + ], + "description": "Attempt to connect using BIP324 v2 transport protocol (ignored for 'remove' command)", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "set by -v2transport", + "hidden": false, + "type": "boolean" + } + ], + "results": [ + { + "type": "none", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "addpeeraddress": { + "category": "hidden", + "description": "Add the address of a potential peer to an address manager table. This RPC is for testing only.", + "examples": "> bitcoin-cli addpeeraddress \"1.2.3.4\" 8333 true\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"addpeeraddress\", \"params\": [\"1.2.3.4\", 8333, true]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "addpeeraddress", + "argument_names": [ + "address", + "port", + "tried" + ], + "arguments": [ + { + "names": [ + "address" + ], + "description": "The IP address of the peer", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + }, + { + "names": [ + "port" + ], + "description": "The port of the peer", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "number" + }, + { + "names": [ + "tried" + ], + "description": "If true, attempt to add the peer to the tried addresses table", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": false, + "hidden": false, + "type": "boolean" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "boolean", + "optional": false, + "description": "whether the peer address was successfully added to the address manager table", + "skip_type_check": false, + "key_name": "success", + "condition": "" + }, + { + "type": "string", + "optional": true, + "description": "error description, if the address could not be added", + "skip_type_check": false, + "key_name": "error", + "condition": "" + } + ] + } + ] + }, + "analyzepsbt": { + "category": "rawtransactions", + "description": "\nAnalyzes and provides information about the current status of a PSBT and its inputs\n", + "examples": "> bitcoin-cli analyzepsbt \"psbt\"\n", + "name": "analyzepsbt", + "argument_names": [ + "psbt" + ], + "arguments": [ + { + "names": [ + "psbt" + ], + "description": "A base64 string of a PSBT", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "array", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "inputs", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "boolean", + "optional": false, + "description": "Whether a UTXO is provided", + "skip_type_check": false, + "key_name": "has_utxo", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "Whether the input is finalized", + "skip_type_check": false, + "key_name": "is_final", + "condition": "" + }, + { + "type": "object", + "optional": true, + "description": "Things that are missing that are required to complete this input", + "skip_type_check": false, + "key_name": "missing", + "condition": "", + "inner": [ + { + "type": "array", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "pubkeys", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "Public key ID, hash160 of the public key, of a public key whose BIP 32 derivation path is missing", + "skip_type_check": false, + "key_name": "keyid", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "signatures", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "Public key ID, hash160 of the public key, of a public key whose signature is missing", + "skip_type_check": false, + "key_name": "keyid", + "condition": "" + } + ] + }, + { + "type": "hex", + "optional": true, + "description": "Hash160 of the redeem script that is missing", + "skip_type_check": false, + "key_name": "redeemscript", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "SHA256 of the witness script that is missing", + "skip_type_check": false, + "key_name": "witnessscript", + "condition": "" + } + ] + }, + { + "type": "string", + "optional": true, + "description": "Role of the next person that this input needs to go to", + "skip_type_check": false, + "key_name": "next", + "condition": "" + } + ] + } + ] + }, + { + "type": "number", + "optional": true, + "description": "Estimated vsize of the final signed transaction", + "skip_type_check": false, + "key_name": "estimated_vsize", + "condition": "" + }, + { + "type": "amount", + "optional": true, + "description": "Estimated feerate of the final signed transaction in BTC/kvB. Shown only if all UTXO slots in the PSBT have been filled", + "skip_type_check": false, + "key_name": "estimated_feerate", + "condition": "" + }, + { + "type": "amount", + "optional": true, + "description": "The transaction fee paid. Shown only if all UTXO slots in the PSBT have been filled", + "skip_type_check": false, + "key_name": "fee", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "Role of the next person that this psbt needs to go to", + "skip_type_check": false, + "key_name": "next", + "condition": "" + }, + { + "type": "string", + "optional": true, + "description": "Error message (if there is one)", + "skip_type_check": false, + "key_name": "error", + "condition": "" + } + ] + } + ] + }, + "backupwallet": { + "category": "wallet", + "description": "\nSafely copies the current wallet file to the specified destination, which can either be a directory or a path with a filename.\n", + "examples": "> bitcoin-cli backupwallet \"backup.dat\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"backupwallet\", \"params\": [\"backup.dat\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "backupwallet", + "argument_names": [ + "destination" + ], + "arguments": [ + { + "names": [ + "destination" + ], + "description": "The destination directory or file", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "none", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "bumpfee": { + "category": "wallet", + "description": "\nBumps the fee of an opt-in-RBF transaction T, replacing it with a new transaction B.\nAn opt-in RBF 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. *\n", + "examples": "\nBump the fee, get the new transaction's txid\n> bitcoin-cli bumpfee \n", + "name": "bumpfee", + "argument_names": [ + "txid", + "conf_target", + "fee_rate", + "replaceable", + "estimate_mode", + "outputs", + "original_change_index", + "options" + ], + "arguments": [ + { + "names": [ + "txid" + ], + "description": "The txid to be bumped", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + }, + { + "names": [ + "options" + ], + "description": "", + "oneline_description": "options", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "object", + "inner": [ + { + "names": [ + "conf_target" + ], + "description": "Confirmation target in blocks\n", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "wallet -txconfirmtarget", + "hidden": false, + "type": "number" + }, + { + "names": [ + "fee_rate" + ], + "description": "\nSpecify a fee rate in sat/vB instead of relying on the built-in fee estimator.\nMust be at least 1.000 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", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "not set, fall back to wallet fee estimation", + "hidden": false, + "type": "amount" + }, + { + "names": [ + "replaceable" + ], + "description": "Whether the new transaction should still be\nmarked bip-125 replaceable. If true, the sequence numbers in the transaction will\nbe left unchanged from the original. If false, any input sequence numbers in the\noriginal transaction that were less than 0xfffffffe will be increased 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", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": true, + "hidden": false, + "type": "boolean" + }, + { + "names": [ + "estimate_mode" + ], + "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", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": "unset", + "hidden": false, + "type": "string" + }, + { + "names": [ + "outputs" + ], + "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.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": [], + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "object", + "inner": [ + { + "names": [ + "address" + ], + "description": "A key-value pair. The key (string) is the bitcoin address,\nthe value (float or string) is the amount in BTC", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "amount" + } + ] + }, + { + "names": [ + "" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "object", + "inner": [ + { + "names": [ + "data" + ], + "description": "A key-value pair. The key must be \"data\", the value is hex-encoded data", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + } + ] + } + ] + }, + { + "names": [ + "original_change_index" + ], + "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.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "not set, detect change automatically", + "hidden": false, + "type": "number" + } + ] + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "The id of the new transaction.", + "skip_type_check": false, + "key_name": "txid", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "The fee of the replaced transaction.", + "skip_type_check": false, + "key_name": "origfee", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "The fee of the new transaction.", + "skip_type_check": false, + "key_name": "fee", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "Errors encountered during processing (may be empty).", + "skip_type_check": false, + "key_name": "errors", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + } + ] + } + ] + }, + "clearbanned": { + "category": "network", + "description": "\nClear all banned IPs.\n", + "examples": "> bitcoin-cli clearbanned \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"clearbanned\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "clearbanned", + "argument_names": [], + "arguments": [], + "results": [ + { + "type": "none", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "combinepsbt": { + "category": "rawtransactions", + "description": "\nCombine multiple partially signed Bitcoin transactions into one transaction.\nImplements the Combiner role.\n", + "examples": "> bitcoin-cli combinepsbt '[\"mybase64_1\", \"mybase64_2\", \"mybase64_3\"]'\n", + "name": "combinepsbt", + "argument_names": [ + "txs" + ], + "arguments": [ + { + "names": [ + "txs" + ], + "description": "The base64 strings of partially signed transactions", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "psbt" + ], + "description": "A base64 string of a PSBT", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + } + ] + } + ], + "results": [ + { + "type": "string", + "optional": false, + "description": "The base64-encoded partially signed transaction", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "combinerawtransaction": { + "category": "rawtransactions", + "description": "\nCombine multiple partially signed transactions into one transaction.\nThe combined transaction may be another partially signed transaction or a \nfully signed transaction.", + "examples": "> bitcoin-cli combinerawtransaction '[\"myhex1\", \"myhex2\", \"myhex3\"]'\n", + "name": "combinerawtransaction", + "argument_names": [ + "txs" + ], + "arguments": [ + { + "names": [ + "txs" + ], + "description": "The hex strings of partially signed transactions", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "hexstring" + ], + "description": "A hex-encoded raw transaction", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "hex" + } + ] + } + ], + "results": [ + { + "type": "string", + "optional": false, + "description": "The hex-encoded raw transaction with signature(s)", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "converttopsbt": { + "category": "rawtransactions", + "description": "\nConverts 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.\n", + "examples": "\nCreate a transaction\n> bitcoin-cli createrawtransaction \"[{\\\"txid\\\":\\\"myid\\\",\\\"vout\\\":0}]\" \"[{\\\"data\\\":\\\"00010203\\\"}]\"\n\nConvert the transaction to a PSBT\n> bitcoin-cli converttopsbt \"rawtransaction\"\n", + "name": "converttopsbt", + "argument_names": [ + "hexstring", + "permitsigdata", + "iswitness" + ], + "arguments": [ + { + "names": [ + "hexstring" + ], + "description": "The hex string of a raw transaction", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + }, + { + "names": [ + "permitsigdata" + ], + "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.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": false, + "hidden": false, + "type": "boolean" + }, + { + "names": [ + "iswitness" + ], + "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.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "depends on heuristic tests", + "hidden": false, + "type": "boolean" + } + ], + "results": [ + { + "type": "string", + "optional": false, + "description": "The resulting raw transaction (base64-encoded string)", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "createmultisig": { + "category": "util", + "description": "\nCreates a multi-signature address with n signature of m keys required.\nIt returns a json object with the address and redeemScript.\n", + "examples": "\nCreate a multisig address from 2 public keys\n> bitcoin-cli createmultisig 2 \"[\\\"03789ed0bb717d88f7d321a368d905e7430207ebbd82bd342cf11ae157a7ace5fd\\\",\\\"03dbc6764b8884a92e871274b87583e6d5c2a58819473e17e107ef3f6aa5a61626\\\"]\"\n\nAs a JSON-RPC call\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"createmultisig\", \"params\": [2, [\"03789ed0bb717d88f7d321a368d905e7430207ebbd82bd342cf11ae157a7ace5fd\",\"03dbc6764b8884a92e871274b87583e6d5c2a58819473e17e107ef3f6aa5a61626\"]]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "createmultisig", + "argument_names": [ + "nrequired", + "keys", + "address_type" + ], + "arguments": [ + { + "names": [ + "nrequired" + ], + "description": "The number of required signatures out of the n keys.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "number" + }, + { + "names": [ + "keys" + ], + "description": "The hex-encoded public keys.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "key" + ], + "description": "The hex-encoded public key", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "hex" + } + ] + }, + { + "names": [ + "address_type" + ], + "description": "The address type to use. Options are \"legacy\", \"p2sh-segwit\", and \"bech32\".", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": "legacy", + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The value of the new multisig address.", + "skip_type_check": false, + "key_name": "address", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The string value of the hex-encoded redemption script.", + "skip_type_check": false, + "key_name": "redeemScript", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The descriptor for this multisig", + "skip_type_check": false, + "key_name": "descriptor", + "condition": "" + }, + { + "type": "array", + "optional": true, + "description": "Any warnings resulting from the creation of this multisig", + "skip_type_check": false, + "key_name": "warnings", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + } + ] + } + ] + }, + "createpsbt": { + "category": "rawtransactions", + "description": "\nCreates a transaction in the Partially Signed Transaction format.\nImplements the Creator role.\n", + "examples": "> bitcoin-cli createpsbt \"[{\\\"txid\\\":\\\"myid\\\",\\\"vout\\\":0}]\" \"[{\\\"data\\\":\\\"00010203\\\"}]\"\n", + "name": "createpsbt", + "argument_names": [ + "inputs", + "outputs", + "locktime", + "replaceable" + ], + "arguments": [ + { + "names": [ + "inputs" + ], + "description": "The inputs", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "object", + "inner": [ + { + "names": [ + "txid" + ], + "description": "The transaction id", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + }, + { + "names": [ + "vout" + ], + "description": "The output number", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "number" + }, + { + "names": [ + "sequence" + ], + "description": "The sequence number", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "depends on the value of the 'replaceable' and 'locktime' arguments", + "hidden": false, + "type": "number" + } + ] + } + ] + }, + { + "names": [ + "outputs" + ], + "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.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "object", + "inner": [ + { + "names": [ + "address" + ], + "description": "A key-value pair. The key (string) is the bitcoin address, the value (float or string) is the amount in BTC", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "amount" + } + ] + }, + { + "names": [ + "" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "object", + "inner": [ + { + "names": [ + "data" + ], + "description": "A key-value pair. The key must be \"data\", the value is hex-encoded data", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + } + ] + } + ] + }, + { + "names": [ + "locktime" + ], + "description": "Raw locktime. Non-0 value also locktime-activates inputs", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": 0, + "hidden": false, + "type": "number" + }, + { + "names": [ + "replaceable" + ], + "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.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": true, + "hidden": false, + "type": "boolean" + } + ], + "results": [ + { + "type": "string", + "optional": false, + "description": "The resulting raw transaction (base64-encoded string)", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "createrawtransaction": { + "category": "rawtransactions", + "description": "\nCreate 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.\n", + "examples": "> bitcoin-cli createrawtransaction \"[{\\\"txid\\\":\\\"myid\\\",\\\"vout\\\":0}]\" \"[{\\\"address\\\":0.01}]\"\n> bitcoin-cli createrawtransaction \"[{\\\"txid\\\":\\\"myid\\\",\\\"vout\\\":0}]\" \"[{\\\"data\\\":\\\"00010203\\\"}]\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"createrawtransaction\", \"params\": [\"[{\\\"txid\\\":\\\"myid\\\",\\\"vout\\\":0}]\", \"[{\\\"address\\\":0.01}]\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"createrawtransaction\", \"params\": [\"[{\\\"txid\\\":\\\"myid\\\",\\\"vout\\\":0}]\", \"[{\\\"data\\\":\\\"00010203\\\"}]\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "createrawtransaction", + "argument_names": [ + "inputs", + "outputs", + "locktime", + "replaceable" + ], + "arguments": [ + { + "names": [ + "inputs" + ], + "description": "The inputs", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "object", + "inner": [ + { + "names": [ + "txid" + ], + "description": "The transaction id", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + }, + { + "names": [ + "vout" + ], + "description": "The output number", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "number" + }, + { + "names": [ + "sequence" + ], + "description": "The sequence number", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "depends on the value of the 'replaceable' and 'locktime' arguments", + "hidden": false, + "type": "number" + } + ] + } + ] + }, + { + "names": [ + "outputs" + ], + "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.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "object", + "inner": [ + { + "names": [ + "address" + ], + "description": "A key-value pair. The key (string) is the bitcoin address, the value (float or string) is the amount in BTC", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "amount" + } + ] + }, + { + "names": [ + "" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "object", + "inner": [ + { + "names": [ + "data" + ], + "description": "A key-value pair. The key must be \"data\", the value is hex-encoded data", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + } + ] + } + ] + }, + { + "names": [ + "locktime" + ], + "description": "Raw locktime. Non-0 value also locktime-activates inputs", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": 0, + "hidden": false, + "type": "number" + }, + { + "names": [ + "replaceable" + ], + "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.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": true, + "hidden": false, + "type": "boolean" + } + ], + "results": [ + { + "type": "hex", + "optional": false, + "description": "hex string of the transaction", + "skip_type_check": false, + "key_name": "transaction", + "condition": "" + } + ] + }, + "createwallet": { + "category": "wallet", + "description": "\nCreates and loads a new wallet.\n", + "examples": "> bitcoin-cli createwallet \"testwallet\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"createwallet\", \"params\": [\"testwallet\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n> bitcoin-cli -named createwallet wallet_name=descriptors avoid_reuse=true descriptors=true load_on_startup=true\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"createwallet\", \"params\": {\"wallet_name\":\"descriptors\",\"avoid_reuse\":true,\"descriptors\":true,\"load_on_startup\":true}}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "createwallet", + "argument_names": [ + "wallet_name", + "disable_private_keys", + "blank", + "passphrase", + "avoid_reuse", + "descriptors", + "load_on_startup", + "external_signer" + ], + "arguments": [ + { + "names": [ + "wallet_name" + ], + "description": "The name for the new wallet. If this is a path, the wallet will be created at the path location.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + }, + { + "names": [ + "disable_private_keys" + ], + "description": "Disable the possibility of private keys (only watchonlys are possible in this mode).", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": false, + "hidden": false, + "type": "boolean" + }, + { + "names": [ + "blank" + ], + "description": "Create a blank wallet. A blank wallet has no keys or HD seed. One can be set using sethdseed.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": false, + "hidden": false, + "type": "boolean" + }, + { + "names": [ + "passphrase" + ], + "description": "Encrypt the wallet with this passphrase.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "avoid_reuse" + ], + "description": "Keep track of coin reuse, and treat dirty and clean coins differently with privacy considerations in mind.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": false, + "hidden": false, + "type": "boolean" + }, + { + "names": [ + "descriptors" + ], + "description": "Create a native descriptor wallet. The wallet will use descriptors internally to handle address creation. Setting to \"false\" will create a legacy wallet; This is only possible with the -deprecatedrpc=create_bdb setting because, the legacy wallet type is being deprecated and support for creating and opening legacy wallets will be removed in the future.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": true, + "hidden": false, + "type": "boolean" + }, + { + "names": [ + "load_on_startup" + ], + "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.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "boolean" + }, + { + "names": [ + "external_signer" + ], + "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.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": false, + "hidden": false, + "type": "boolean" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The wallet name if created successfully. If the wallet was created using a full path, the wallet_name will be the full path.", + "skip_type_check": false, + "key_name": "name", + "condition": "" + }, + { + "type": "array", + "optional": true, + "description": "Warning messages, if any, related to creating and loading the wallet.", + "skip_type_check": false, + "key_name": "warnings", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + } + ] + } + ] + }, + "createwalletdescriptor": { + "category": "wallet", + "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.\n", + "examples": "> bitcoin-cli createwalletdescriptor bech32m\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"createwalletdescriptor\", \"params\": [bech32m]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "createwalletdescriptor", + "argument_names": [ + "type", + "internal", + "hdkey", + "options" + ], + "arguments": [ + { + "names": [ + "type" + ], + "description": "The address type the descriptor will produce. Options are \"legacy\", \"p2sh-segwit\", \"bech32\", and \"bech32m\".", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + }, + { + "names": [ + "options" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "object", + "inner": [ + { + "names": [ + "internal" + ], + "description": "Whether to only make one descriptor that is internal (if parameter is true) or external (if parameter is false)", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "Both external and internal will be generated unless this parameter is specified", + "hidden": false, + "type": "boolean" + }, + { + "names": [ + "hdkey" + ], + "description": "The HD key that the wallet knows the private key of, listed using 'gethdkeys', to use for this descriptor's key", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "The HD key used by all other active descriptors", + "hidden": false, + "type": "string" + } + ] + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "array", + "optional": false, + "description": "The public descriptors that were added to the wallet", + "skip_type_check": false, + "key_name": "descs", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + } + ] + } + ] + }, + "decodepsbt": { + "category": "rawtransactions", + "description": "Return a JSON object representing the serialized, base64-encoded partially signed Bitcoin transaction.", + "examples": "> bitcoin-cli decodepsbt \"psbt\"\n", + "name": "decodepsbt", + "argument_names": [ + "psbt" + ], + "arguments": [ + { + "names": [ + "psbt" + ], + "description": "The PSBT base64 string", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "The decoded network-serialized unsigned transaction.", + "skip_type_check": false, + "key_name": "tx", + "condition": "", + "inner": [ + { + "type": "elision", + "optional": false, + "description": "The layout is the same as the output of decoderawtransaction.", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "global_xpubs", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The extended public key this path corresponds to", + "skip_type_check": false, + "key_name": "xpub", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The fingerprint of the master key", + "skip_type_check": false, + "key_name": "master_fingerprint", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The path", + "skip_type_check": false, + "key_name": "path", + "condition": "" + } + ] + } + ] + }, + { + "type": "number", + "optional": false, + "description": "The PSBT version number. Not to be confused with the unsigned transaction version", + "skip_type_check": false, + "key_name": "psbt_version", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "The global proprietary map", + "skip_type_check": false, + "key_name": "proprietary", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "The hex string for the proprietary identifier", + "skip_type_check": false, + "key_name": "identifier", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The number for the subtype", + "skip_type_check": false, + "key_name": "subtype", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The hex for the key", + "skip_type_check": false, + "key_name": "key", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The hex for the value", + "skip_type_check": false, + "key_name": "value", + "condition": "" + } + ] + } + ] + }, + { + "type": "object", + "optional": false, + "description": "The unknown global fields", + "skip_type_check": false, + "key_name": "unknown", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "(key-value pair) An unknown key-value pair", + "skip_type_check": false, + "key_name": "key", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "inputs", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "object", + "optional": true, + "description": "Decoded network transaction for non-witness UTXOs", + "skip_type_check": false, + "key_name": "non_witness_utxo", + "condition": "", + "inner": [ + { + "type": "elision", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + { + "type": "object", + "optional": true, + "description": "Transaction output for witness UTXOs", + "skip_type_check": false, + "key_name": "witness_utxo", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "The value in BTC", + "skip_type_check": false, + "key_name": "amount", + "condition": "" + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "scriptPubKey", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Disassembly of the output script", + "skip_type_check": false, + "key_name": "asm", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "Inferred descriptor for the output", + "skip_type_check": false, + "key_name": "desc", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The raw output script bytes, hex-encoded", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The type, eg 'pubkeyhash'", + "skip_type_check": false, + "key_name": "type", + "condition": "" + }, + { + "type": "string", + "optional": true, + "description": "The Bitcoin address (only if a well-defined address exists)", + "skip_type_check": false, + "key_name": "address", + "condition": "" + } + ] + } + ] + }, + { + "type": "object", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "partial_signatures", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The public key and signature that corresponds to it.", + "skip_type_check": false, + "key_name": "pubkey", + "condition": "" + } + ] + }, + { + "type": "string", + "optional": true, + "description": "The sighash type to be used", + "skip_type_check": false, + "key_name": "sighash", + "condition": "" + }, + { + "type": "object", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "redeem_script", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Disassembly of the redeem script", + "skip_type_check": false, + "key_name": "asm", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The raw redeem script bytes, hex-encoded", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The type, eg 'pubkeyhash'", + "skip_type_check": false, + "key_name": "type", + "condition": "" + } + ] + }, + { + "type": "object", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "witness_script", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Disassembly of the witness script", + "skip_type_check": false, + "key_name": "asm", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The raw witness script bytes, hex-encoded", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The type, eg 'pubkeyhash'", + "skip_type_check": false, + "key_name": "type", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "bip32_derivs", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The public key with the derivation path as the value.", + "skip_type_check": false, + "key_name": "pubkey", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The fingerprint of the master key", + "skip_type_check": false, + "key_name": "master_fingerprint", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The path", + "skip_type_check": false, + "key_name": "path", + "condition": "" + } + ] + } + ] + }, + { + "type": "object", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "final_scriptSig", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Disassembly of the final signature script", + "skip_type_check": false, + "key_name": "asm", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The raw final signature script bytes, hex-encoded", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "final_scriptwitness", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "hex-encoded witness data (if any)", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + { + "type": "object", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "ripemd160_preimages", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The hash and preimage that corresponds to it.", + "skip_type_check": false, + "key_name": "hash", + "condition": "" + } + ] + }, + { + "type": "object", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "sha256_preimages", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The hash and preimage that corresponds to it.", + "skip_type_check": false, + "key_name": "hash", + "condition": "" + } + ] + }, + { + "type": "object", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "hash160_preimages", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The hash and preimage that corresponds to it.", + "skip_type_check": false, + "key_name": "hash", + "condition": "" + } + ] + }, + { + "type": "object", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "hash256_preimages", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The hash and preimage that corresponds to it.", + "skip_type_check": false, + "key_name": "hash", + "condition": "" + } + ] + }, + { + "type": "hex", + "optional": true, + "description": "hex-encoded signature for the Taproot key path spend", + "skip_type_check": false, + "key_name": "taproot_key_path_sig", + "condition": "" + }, + { + "type": "array", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "taproot_script_path_sigs", + "condition": "", + "inner": [ + { + "type": "object", + "optional": true, + "description": "The signature for the pubkey and leaf hash combination", + "skip_type_check": false, + "key_name": "signature", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The x-only pubkey for this signature", + "skip_type_check": false, + "key_name": "pubkey", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The leaf hash for this signature", + "skip_type_check": false, + "key_name": "leaf_hash", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The signature itself", + "skip_type_check": false, + "key_name": "sig", + "condition": "" + } + ] + } + ] + }, + { + "type": "array", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "taproot_scripts", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "A leaf script", + "skip_type_check": false, + "key_name": "script", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The version number for the leaf script", + "skip_type_check": false, + "key_name": "leaf_ver", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "The control blocks for this script", + "skip_type_check": false, + "key_name": "control_blocks", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "A hex-encoded control block for this script", + "skip_type_check": false, + "key_name": "control_block", + "condition": "" + } + ] + } + ] + } + ] + }, + { + "type": "array", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "taproot_bip32_derivs", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The x-only public key this path corresponds to", + "skip_type_check": false, + "key_name": "pubkey", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The fingerprint of the master key", + "skip_type_check": false, + "key_name": "master_fingerprint", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The path", + "skip_type_check": false, + "key_name": "path", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "The hashes of the leaves this pubkey appears in", + "skip_type_check": false, + "key_name": "leaf_hashes", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "The hash of a leaf this pubkey appears in", + "skip_type_check": false, + "key_name": "hash", + "condition": "" + } + ] + } + ] + } + ] + }, + { + "type": "hex", + "optional": true, + "description": "The hex-encoded Taproot x-only internal key", + "skip_type_check": false, + "key_name": "taproot_internal_key", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "The hex-encoded Taproot merkle root", + "skip_type_check": false, + "key_name": "taproot_merkle_root", + "condition": "" + }, + { + "type": "object", + "optional": true, + "description": "The unknown input fields", + "skip_type_check": false, + "key_name": "unknown", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "(key-value pair) An unknown key-value pair", + "skip_type_check": false, + "key_name": "key", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": true, + "description": "The input proprietary map", + "skip_type_check": false, + "key_name": "proprietary", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "The hex string for the proprietary identifier", + "skip_type_check": false, + "key_name": "identifier", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The number for the subtype", + "skip_type_check": false, + "key_name": "subtype", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The hex for the key", + "skip_type_check": false, + "key_name": "key", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The hex for the value", + "skip_type_check": false, + "key_name": "value", + "condition": "" + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "outputs", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "object", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "redeem_script", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Disassembly of the redeem script", + "skip_type_check": false, + "key_name": "asm", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The raw redeem script bytes, hex-encoded", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The type, eg 'pubkeyhash'", + "skip_type_check": false, + "key_name": "type", + "condition": "" + } + ] + }, + { + "type": "object", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "witness_script", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Disassembly of the witness script", + "skip_type_check": false, + "key_name": "asm", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The raw witness script bytes, hex-encoded", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The type, eg 'pubkeyhash'", + "skip_type_check": false, + "key_name": "type", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "bip32_derivs", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The public key this path corresponds to", + "skip_type_check": false, + "key_name": "pubkey", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The fingerprint of the master key", + "skip_type_check": false, + "key_name": "master_fingerprint", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The path", + "skip_type_check": false, + "key_name": "path", + "condition": "" + } + ] + } + ] + }, + { + "type": "hex", + "optional": true, + "description": "The hex-encoded Taproot x-only internal key", + "skip_type_check": false, + "key_name": "taproot_internal_key", + "condition": "" + }, + { + "type": "array", + "optional": true, + "description": "The tuples that make up the Taproot tree, in depth first search order", + "skip_type_check": false, + "key_name": "taproot_tree", + "condition": "", + "inner": [ + { + "type": "object", + "optional": true, + "description": "A single leaf script in the taproot tree", + "skip_type_check": false, + "key_name": "tuple", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "The depth of this element in the tree", + "skip_type_check": false, + "key_name": "depth", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The version of this leaf", + "skip_type_check": false, + "key_name": "leaf_ver", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The hex-encoded script itself", + "skip_type_check": false, + "key_name": "script", + "condition": "" + } + ] + } + ] + }, + { + "type": "array", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "taproot_bip32_derivs", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The x-only public key this path corresponds to", + "skip_type_check": false, + "key_name": "pubkey", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The fingerprint of the master key", + "skip_type_check": false, + "key_name": "master_fingerprint", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The path", + "skip_type_check": false, + "key_name": "path", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "The hashes of the leaves this pubkey appears in", + "skip_type_check": false, + "key_name": "leaf_hashes", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "The hash of a leaf this pubkey appears in", + "skip_type_check": false, + "key_name": "hash", + "condition": "" + } + ] + } + ] + } + ] + }, + { + "type": "object", + "optional": true, + "description": "The unknown output fields", + "skip_type_check": false, + "key_name": "unknown", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "(key-value pair) An unknown key-value pair", + "skip_type_check": false, + "key_name": "key", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": true, + "description": "The output proprietary map", + "skip_type_check": false, + "key_name": "proprietary", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "The hex string for the proprietary identifier", + "skip_type_check": false, + "key_name": "identifier", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The number for the subtype", + "skip_type_check": false, + "key_name": "subtype", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The hex for the key", + "skip_type_check": false, + "key_name": "key", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The hex for the value", + "skip_type_check": false, + "key_name": "value", + "condition": "" + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "amount", + "optional": true, + "description": "The transaction fee paid if all UTXOs slots in the PSBT have been filled.", + "skip_type_check": false, + "key_name": "fee", + "condition": "" + } + ] + } + ] + }, + "decoderawtransaction": { + "category": "rawtransactions", + "description": "Return a JSON object representing the serialized, hex-encoded transaction.", + "examples": "> bitcoin-cli decoderawtransaction \"hexstring\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"decoderawtransaction\", \"params\": [\"hexstring\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "decoderawtransaction", + "argument_names": [ + "hexstring", + "iswitness" + ], + "arguments": [ + { + "names": [ + "hexstring" + ], + "description": "The transaction hex string", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + }, + { + "names": [ + "iswitness" + ], + "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.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "depends on heuristic tests", + "hidden": false, + "type": "boolean" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "The transaction id", + "skip_type_check": false, + "key_name": "txid", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The transaction hash (differs from txid for witness transactions)", + "skip_type_check": false, + "key_name": "hash", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The serialized transaction size", + "skip_type_check": false, + "key_name": "size", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The virtual transaction size (differs from size for witness transactions)", + "skip_type_check": false, + "key_name": "vsize", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The transaction's weight (between vsize*4-3 and vsize*4)", + "skip_type_check": false, + "key_name": "weight", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The version", + "skip_type_check": false, + "key_name": "version", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "The lock time", + "skip_type_check": false, + "key_name": "locktime", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "vin", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": true, + "description": "The coinbase value (only if coinbase transaction)", + "skip_type_check": false, + "key_name": "coinbase", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "The transaction id (if not coinbase transaction)", + "skip_type_check": false, + "key_name": "txid", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The output number (if not coinbase transaction)", + "skip_type_check": false, + "key_name": "vout", + "condition": "" + }, + { + "type": "object", + "optional": true, + "description": "The script (if not coinbase transaction)", + "skip_type_check": false, + "key_name": "scriptSig", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Disassembly of the signature script", + "skip_type_check": false, + "key_name": "asm", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The raw signature script bytes, hex-encoded", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "txinwitness", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "hex-encoded witness data (if any)", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + } + ] + }, + { + "type": "number", + "optional": false, + "description": "The script sequence number", + "skip_type_check": false, + "key_name": "sequence", + "condition": "" + } + ] + } + ] + }, + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "vout", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "amount", + "optional": false, + "description": "The value in BTC", + "skip_type_check": false, + "key_name": "value", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "index", + "skip_type_check": false, + "key_name": "n", + "condition": "" + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "scriptPubKey", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Disassembly of the output script", + "skip_type_check": false, + "key_name": "asm", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "Inferred descriptor for the output", + "skip_type_check": false, + "key_name": "desc", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The raw output script bytes, hex-encoded", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + }, + { + "type": "string", + "optional": true, + "description": "The Bitcoin address (only if a well-defined address exists)", + "skip_type_check": false, + "key_name": "address", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The type (one of: nonstandard, anchor, pubkey, pubkeyhash, scripthash, multisig, nulldata, witness_v0_scripthash, witness_v0_keyhash, witness_v1_taproot, witness_unknown)", + "skip_type_check": false, + "key_name": "type", + "condition": "" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + "decodescript": { + "category": "rawtransactions", + "description": "\nDecode a hex-encoded script.\n", + "examples": "> bitcoin-cli decodescript \"hexstring\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"decodescript\", \"params\": [\"hexstring\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "decodescript", + "argument_names": [ + "hexstring" + ], + "arguments": [ + { + "names": [ + "hexstring" + ], + "description": "the hex-encoded script", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Disassembly of the script", + "skip_type_check": false, + "key_name": "asm", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "Inferred descriptor for the script", + "skip_type_check": false, + "key_name": "desc", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The output type (e.g. nonstandard, anchor, pubkey, pubkeyhash, scripthash, multisig, nulldata, witness_v0_scripthash, witness_v0_keyhash, witness_v1_taproot, witness_unknown)", + "skip_type_check": false, + "key_name": "type", + "condition": "" + }, + { + "type": "string", + "optional": true, + "description": "The Bitcoin address (only if a well-defined address exists)", + "skip_type_check": false, + "key_name": "address", + "condition": "" + }, + { + "type": "string", + "optional": true, + "description": "address of P2SH script wrapping this redeem script (not returned for types that should not be wrapped)", + "skip_type_check": false, + "key_name": "p2sh", + "condition": "" + }, + { + "type": "object", + "optional": true, + "description": "Result of a witness output script wrapping this redeem script (not returned for types that should not be wrapped)", + "skip_type_check": false, + "key_name": "segwit", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Disassembly of the output script", + "skip_type_check": false, + "key_name": "asm", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The raw output script bytes, hex-encoded", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The type of the output script (e.g. witness_v0_keyhash or witness_v0_scripthash)", + "skip_type_check": false, + "key_name": "type", + "condition": "" + }, + { + "type": "string", + "optional": true, + "description": "The Bitcoin address (only if a well-defined address exists)", + "skip_type_check": false, + "key_name": "address", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "Inferred descriptor for the script", + "skip_type_check": false, + "key_name": "desc", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "address of the P2SH script wrapping this witness redeem script", + "skip_type_check": false, + "key_name": "p2sh-segwit", + "condition": "" + } + ] + } + ] + } + ] + }, + "deriveaddresses": { + "category": "util", + "description": "\nDerives one or more addresses corresponding to an output descriptor.\nExamples of output descriptors are:\n pkh() P2PKH outputs for the given pubkey\n wpkh() Native segwit P2PKH outputs for the given pubkey\n sh(multi(,,,...)) P2SH-multisig outputs for the given threshold and pubkeys\n raw() Outputs whose output script equals the specified hex-encoded bytes\n tr(,multi_a(,,,...)) P2TR-multisig outputs for the given threshold and pubkeys\n\nIn the above, 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.\n", + "examples": "First three native segwit receive addresses\n> bitcoin-cli deriveaddresses \"wpkh([d34db33f/84h/0h/0h]xpub6DJ2dNUysrn5Vt36jH2KLBT2i1auw1tTSSomg8PhqNiUtx8QX2SvC9nrHu81fT41fvDUnhMjEzQgXnQjKEu3oaqMSzhSrHMxyyoEAmUHQbY/0/*)#cjjspncu\" \"[0,2]\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"deriveaddresses\", \"params\": [\"wpkh([d34db33f/84h/0h/0h]xpub6DJ2dNUysrn5Vt36jH2KLBT2i1auw1tTSSomg8PhqNiUtx8QX2SvC9nrHu81fT41fvDUnhMjEzQgXnQjKEu3oaqMSzhSrHMxyyoEAmUHQbY/0/*)#cjjspncu\", \"[0,2]\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "deriveaddresses", + "argument_names": [ + "descriptor", + "range" + ], + "arguments": [ + { + "names": [ + "descriptor" + ], + "description": "The descriptor.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + }, + { + "names": [ + "range" + ], + "description": "If a ranged descriptor is used, this specifies the end or the range (in [begin,end] notation) to derive.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "range" + } + ], + "results": [ + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "for single derivation descriptors", + "inner": [ + { + "type": "string", + "optional": false, + "description": "the derived addresses", + "skip_type_check": false, + "key_name": "address", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": false, + "description": "The derived addresses for each of the multipath expansions of the descriptor, in multipath specifier order", + "skip_type_check": false, + "key_name": "", + "condition": "for multipath descriptors", + "inner": [ + { + "type": "array", + "optional": false, + "description": "The derived addresses for a multipath descriptor expansion", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "the derived address", + "skip_type_check": false, + "key_name": "address", + "condition": "" + } + ] + } + ] + } + ] + }, + "descriptorprocesspsbt": { + "category": "rawtransactions", + "description": "\nUpdate 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. ", + "examples": "> bitcoin-cli descriptorprocesspsbt \"psbt\" \"[\\\"descriptor1\\\", \\\"descriptor2\\\"]\"\n> bitcoin-cli descriptorprocesspsbt \"psbt\" \"[{\\\"desc\\\":\\\"mydescriptor\\\", \\\"range\\\":21}]\"\n", + "name": "descriptorprocesspsbt", + "argument_names": [ + "psbt", + "descriptors", + "sighashtype", + "bip32derivs", + "finalize" + ], + "arguments": [ + { + "names": [ + "psbt" + ], + "description": "The transaction base64 string", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + }, + { + "names": [ + "descriptors" + ], + "description": "An array of either strings or objects", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "" + ], + "description": "An output descriptor", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "" + ], + "description": "An object with an output descriptor and extra information", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "object", + "inner": [ + { + "names": [ + "desc" + ], + "description": "An output descriptor", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + }, + { + "names": [ + "range" + ], + "description": "Up to what index HD chains should be explored (either end or [begin,end])", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": 1000, + "hidden": false, + "type": "range" + } + ] + } + ] + }, + { + "names": [ + "sighashtype" + ], + "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\"", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": "DEFAULT for Taproot, ALL otherwise", + "hidden": false, + "type": "string" + }, + { + "names": [ + "bip32derivs" + ], + "description": "Include BIP 32 derivation paths for public keys if we know them", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": true, + "hidden": false, + "type": "boolean" + }, + { + "names": [ + "finalize" + ], + "description": "Also finalize inputs if possible", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": true, + "hidden": false, + "type": "boolean" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The base64-encoded partially signed transaction", + "skip_type_check": false, + "key_name": "psbt", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "If the transaction has a complete set of signatures", + "skip_type_check": false, + "key_name": "complete", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "The hex-encoded network transaction if complete", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + } + ] + } + ] + }, + "disconnectnode": { + "category": "network", + "description": "\nImmediately 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.\n", + "examples": "> bitcoin-cli disconnectnode \"192.168.0.6:8333\"\n> bitcoin-cli disconnectnode \"\" 1\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"disconnectnode\", \"params\": [\"192.168.0.6:8333\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"disconnectnode\", \"params\": [\"\", 1]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "disconnectnode", + "argument_names": [ + "address", + "nodeid" + ], + "arguments": [ + { + "names": [ + "address" + ], + "description": "The IP address/port of the node", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "fallback to nodeid", + "hidden": false, + "type": "string" + }, + { + "names": [ + "nodeid" + ], + "description": "The node ID (see getpeerinfo for node IDs)", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "fallback to address", + "hidden": false, + "type": "number" + } + ], + "results": [ + { + "type": "none", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "dumpprivkey": { + "category": "wallet", + "description": "\nReveals the private key corresponding to 'address'.\nThen the importprivkey can be used with this output\nNote: This command is only compatible with legacy wallets.\n", + "examples": "> bitcoin-cli dumpprivkey \"myaddress\"\n> bitcoin-cli importprivkey \"mykey\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"dumpprivkey\", \"params\": [\"myaddress\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "dumpprivkey", + "argument_names": [ + "address" + ], + "arguments": [ + { + "names": [ + "address" + ], + "description": "The bitcoin address for the private key", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "string", + "optional": false, + "description": "The private key", + "skip_type_check": false, + "key_name": "key", + "condition": "" + } + ] + }, + "dumptxoutset": { + "category": "blockchain", + "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)", + "examples": "> bitcoin-cli -rpcclienttimeout=0 dumptxoutset utxo.dat latest\n> bitcoin-cli -rpcclienttimeout=0 dumptxoutset utxo.dat rollback\n> bitcoin-cli -rpcclienttimeout=0 -named dumptxoutset utxo.dat rollback=853456\n", + "name": "dumptxoutset", + "argument_names": [ + "path", + "type", + "rollback", + "options" + ], + "arguments": [ + { + "names": [ + "path" + ], + "description": "Path to the output file. If relative, will be prefixed by datadir.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + }, + { + "names": [ + "type" + ], + "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.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": "", + "hidden": false, + "type": "string" + }, + { + "names": [ + "options" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "object", + "inner": [ + { + "names": [ + "rollback" + ], + "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.", + "oneline_description": "", + "also_positional": false, + "type_str": [ + "", + "string or numeric" + ], + "required": false, + "hidden": false, + "type": "number" + } + ] + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "the number of coins written in the snapshot", + "skip_type_check": false, + "key_name": "coins_written", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "the hash of the base of the snapshot", + "skip_type_check": false, + "key_name": "base_hash", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "the height of the base of the snapshot", + "skip_type_check": false, + "key_name": "base_height", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "the absolute path that the snapshot was written to", + "skip_type_check": false, + "key_name": "path", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "the hash of the UTXO set contents", + "skip_type_check": false, + "key_name": "txoutset_hash", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "the number of transactions in the chain up to and including the base block", + "skip_type_check": false, + "key_name": "nchaintx", + "condition": "" + } + ] + } + ] + }, + "dumpwallet": { + "category": "wallet", + "description": "\nDumps all wallet keys in a human-readable format to a server-side file. This does not allow overwriting existing files.\nImported scripts are included in the dumpfile, but corresponding BIP173 addresses, etc. may not be added automatically by importwallet.\nNote that if your wallet contains keys which are not derived from your HD seed (e.g. imported keys), these are not covered by\nonly backing up the seed itself, and must be backed up too (e.g. ensure you back up the whole dumpfile).\nNote: This command is only compatible with legacy wallets.\n", + "examples": "> bitcoin-cli dumpwallet \"test\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"dumpwallet\", \"params\": [\"test\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "dumpwallet", + "argument_names": [ + "filename" + ], + "arguments": [ + { + "names": [ + "filename" + ], + "description": "The filename with path (absolute path recommended)", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The filename with full absolute path", + "skip_type_check": false, + "key_name": "filename", + "condition": "" + } + ] + } + ] + }, + "echo": { + "category": "hidden", + "description": "\nSimply echo back the input arguments. This command is for testing.\n\nIt will return an internal bug report when arg9='trigger_internal_bug' is passed.\n\nThe difference between echo and echojson is that echojson has argument conversion enabled in the client-side table in bitcoin-cli and the GUI. There is no server-side difference.", + "examples": "", + "name": "echo", + "argument_names": [ + "arg0", + "arg1", + "arg2", + "arg3", + "arg4", + "arg5", + "arg6", + "arg7", + "arg8", + "arg9" + ], + "arguments": [ + { + "names": [ + "arg0" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "arg1" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "arg2" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "arg3" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "arg4" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "arg5" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "arg6" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "arg7" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "arg8" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "arg9" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "any", + "optional": false, + "description": "Returns whatever was passed in", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "echoipc": { + "category": "hidden", + "description": "\nEcho back the input argument, passing it through a spawned process in a multiprocess build.\nThis command is for testing.\n", + "examples": "> bitcoin-cli echo \"Hello world\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"echo\", \"params\": [\"Hello world\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "echoipc", + "argument_names": [ + "arg" + ], + "arguments": [ + { + "names": [ + "arg" + ], + "description": "The string to echo", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "string", + "optional": false, + "description": "The echoed string.", + "skip_type_check": false, + "key_name": "echo", + "condition": "" + } + ] + }, + "echojson": { + "category": "hidden", + "description": "\nSimply echo back the input arguments. This command is for testing.\n\nIt will return an internal bug report when arg9='trigger_internal_bug' is passed.\n\nThe difference between echo and echojson is that echojson has argument conversion enabled in the client-side table in bitcoin-cli and the GUI. There is no server-side difference.", + "examples": "", + "name": "echojson", + "argument_names": [ + "arg0", + "arg1", + "arg2", + "arg3", + "arg4", + "arg5", + "arg6", + "arg7", + "arg8", + "arg9" + ], + "arguments": [ + { + "names": [ + "arg0" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "arg1" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "arg2" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "arg3" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "arg4" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "arg5" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "arg6" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "arg7" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "arg8" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "arg9" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "any", + "optional": false, + "description": "Returns whatever was passed in", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "encryptwallet": { + "category": "wallet", + "description": "\nEncrypts 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 the 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.\n", + "examples": "\nEncrypt your wallet\n> bitcoin-cli encryptwallet \"my pass phrase\"\n\nNow set the passphrase to use the wallet, such as for signing or sending bitcoin\n> bitcoin-cli walletpassphrase \"my pass phrase\"\n\nNow we can do something like sign\n> bitcoin-cli signmessage \"address\" \"test message\"\n\nNow lock the wallet again by removing the passphrase\n> bitcoin-cli walletlock \n\nAs a JSON-RPC call\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"encryptwallet\", \"params\": [\"my pass phrase\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "encryptwallet", + "argument_names": [ + "passphrase" + ], + "arguments": [ + { + "names": [ + "passphrase" + ], + "description": "The pass phrase to encrypt the wallet with. It must be at least 1 character, but should be long.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "string", + "optional": false, + "description": "A string with further instructions", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "enumeratesigners": { + "category": "signer", + "description": "Returns a list of external signers from -signer.", + "examples": "> bitcoin-cli enumeratesigners \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"enumeratesigners\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "enumeratesigners", + "argument_names": [], + "arguments": [], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "signers", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "Master key fingerprint", + "skip_type_check": false, + "key_name": "fingerprint", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "Device name", + "skip_type_check": false, + "key_name": "name", + "condition": "" + } + ] + } + ] + } + ] + } + ] + }, + "estimaterawfee": { + "category": "hidden", + "description": "\nWARNING: This interface is unstable and may disappear or change!\n\nWARNING: This is an advanced API call that is tightly coupled to the specific\nimplementation of fee estimation. The parameters it can be called with\nand the results it returns will change if the internal implementation changes.\n\nEstimates the approximate fee per kilobyte needed for a transaction to begin\nconfirmation within conf_target blocks if possible. Uses virtual transaction size as\ndefined in BIP 141 (witness data is discounted).\n", + "examples": "> bitcoin-cli estimaterawfee 6 0.9\n", + "name": "estimaterawfee", + "argument_names": [ + "conf_target", + "threshold" + ], + "arguments": [ + { + "names": [ + "conf_target" + ], + "description": "Confirmation target in blocks (1 - 1008)", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "number" + }, + { + "names": [ + "threshold" + ], + "description": "The proportion of transactions in a given feerate range that must have been\nconfirmed within conf_target in order to consider those feerates as high enough and proceed to check\nlower buckets.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": 0.95, + "hidden": false, + "type": "number" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "Results are returned for any horizon which tracks blocks up to the confirmation target", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "object", + "optional": true, + "description": "estimate for short time horizon", + "skip_type_check": false, + "key_name": "short", + "condition": "", + "inner": [ + { + "type": "number", + "optional": true, + "description": "estimate fee rate in BTC/kvB", + "skip_type_check": false, + "key_name": "feerate", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "exponential decay (per block) for historical moving average of confirmation data", + "skip_type_check": false, + "key_name": "decay", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The resolution of confirmation targets at this time horizon", + "skip_type_check": false, + "key_name": "scale", + "condition": "" + }, + { + "type": "object", + "optional": true, + "description": "information about the lowest range of feerates to succeed in meeting the threshold", + "skip_type_check": false, + "key_name": "pass", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "start of feerate range", + "skip_type_check": false, + "key_name": "startrange", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "end of feerate range", + "skip_type_check": false, + "key_name": "endrange", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "number of txs over history horizon in the feerate range that were confirmed within target", + "skip_type_check": false, + "key_name": "withintarget", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "number of txs over history horizon in the feerate range that were confirmed at any point", + "skip_type_check": false, + "key_name": "totalconfirmed", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "current number of txs in mempool in the feerate range unconfirmed for at least target blocks", + "skip_type_check": false, + "key_name": "inmempool", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "number of txs over history horizon in the feerate range that left mempool unconfirmed after target", + "skip_type_check": false, + "key_name": "leftmempool", + "condition": "" + } + ] + }, + { + "type": "object", + "optional": true, + "description": "information about the highest range of feerates to fail to meet the threshold", + "skip_type_check": false, + "key_name": "fail", + "condition": "", + "inner": [ + { + "type": "elision", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": true, + "description": "Errors encountered during processing (if there are any)", + "skip_type_check": false, + "key_name": "errors", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "error", + "condition": "" + } + ] + } + ] + }, + { + "type": "object", + "optional": true, + "description": "estimate for medium time horizon", + "skip_type_check": false, + "key_name": "medium", + "condition": "", + "inner": [ + { + "type": "elision", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + { + "type": "object", + "optional": true, + "description": "estimate for long time horizon", + "skip_type_check": false, + "key_name": "long", + "condition": "", + "inner": [ + { + "type": "elision", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + } + ] + } + ] + }, + "estimatesmartfee": { + "category": "util", + "description": "\nEstimates 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).\n", + "examples": "> bitcoin-cli estimatesmartfee 6\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"estimatesmartfee\", \"params\": [6]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "estimatesmartfee", + "argument_names": [ + "conf_target", + "estimate_mode" + ], + "arguments": [ + { + "names": [ + "conf_target" + ], + "description": "Confirmation target in blocks (1 - 1008)", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "number" + }, + { + "names": [ + "estimate_mode" + ], + "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", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": "economical", + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "number", + "optional": true, + "description": "estimate fee rate in BTC/kvB (only present if no errors were encountered)", + "skip_type_check": false, + "key_name": "feerate", + "condition": "" + }, + { + "type": "array", + "optional": true, + "description": "Errors encountered during processing (if there are any)", + "skip_type_check": false, + "key_name": "errors", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "error", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + { + "type": "number", + "optional": false, + "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.", + "skip_type_check": false, + "key_name": "blocks", + "condition": "" + } + ] + } + ] + }, + "finalizepsbt": { + "category": "rawtransactions", + "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.\n", + "examples": "> bitcoin-cli finalizepsbt \"psbt\"\n", + "name": "finalizepsbt", + "argument_names": [ + "psbt", + "extract" + ], + "arguments": [ + { + "names": [ + "psbt" + ], + "description": "A base64 string of a PSBT", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + }, + { + "names": [ + "extract" + ], + "description": "If true and the transaction is complete,\n extract and return the complete transaction in normal network serialization instead of the PSBT.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": true, + "hidden": false, + "type": "boolean" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": true, + "description": "The base64-encoded partially signed transaction if not extracted", + "skip_type_check": false, + "key_name": "psbt", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "The hex-encoded network transaction if extracted", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "If the transaction has a complete set of signatures", + "skip_type_check": false, + "key_name": "complete", + "condition": "" + } + ] + } + ] + }, + "fundrawtransaction": { + "category": "rawtransactions", + "description": "\nIf 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 importaddress or addmultisigaddress (to calculate fees).\nYou can see whether this is the case by checking the \"solvable\" field in the listunspent output.\nOnly pay-to-pubkey, multisig, and P2SH versions thereof are currently supported for watch-only\n", + "examples": "\nCreate a transaction with no inputs\n> bitcoin-cli createrawtransaction \"[]\" \"{\\\"myaddress\\\":0.01}\"\n\nAdd sufficient unsigned inputs to meet the output value\n> bitcoin-cli fundrawtransaction \"rawtransactionhex\"\n\nSign the transaction\n> bitcoin-cli signrawtransactionwithwallet \"fundedtransactionhex\"\n\nSend the transaction\n> bitcoin-cli sendrawtransaction \"signedtransactionhex\"\n", + "name": "fundrawtransaction", + "argument_names": [ + "hexstring", + "add_inputs", + "include_unsafe", + "minconf", + "maxconf", + "changeAddress", + "changePosition", + "change_type", + "includeWatching", + "lockUnspents", + "fee_rate", + "feeRate", + "subtractFeeFromOutputs", + "input_weights", + "max_tx_weight", + "conf_target", + "estimate_mode", + "replaceable", + "solving_data", + "options", + "iswitness" + ], + "arguments": [ + { + "names": [ + "hexstring" + ], + "description": "The hex string of the raw transaction", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + }, + { + "names": [ + "options" + ], + "description": "For backward compatibility: passing in a true instead of an object will result in {\"includeWatching\":true}", + "oneline_description": "options", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "object", + "inner": [ + { + "names": [ + "add_inputs" + ], + "description": "For a transaction with existing inputs, automatically include more if they are not enough.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": true, + "hidden": false, + "type": "boolean" + }, + { + "names": [ + "include_unsafe" + ], + "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.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": false, + "hidden": false, + "type": "boolean" + }, + { + "names": [ + "minconf" + ], + "description": "If add_inputs is specified, require inputs with at least this many confirmations.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": 0, + "hidden": false, + "type": "number" + }, + { + "names": [ + "maxconf" + ], + "description": "If add_inputs is specified, require inputs with at most this many confirmations.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "number" + }, + { + "names": [ + "changeAddress" + ], + "description": "The bitcoin address to receive the change", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "automatic", + "hidden": false, + "type": "string" + }, + { + "names": [ + "changePosition" + ], + "description": "The index of the change output", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "random", + "hidden": false, + "type": "number" + }, + { + "names": [ + "change_type" + ], + "description": "The output type to use. Only valid if changeAddress is not specified. Options are \"legacy\", \"p2sh-segwit\", \"bech32\", and \"bech32m\".", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "set by -changetype", + "hidden": false, + "type": "string" + }, + { + "names": [ + "includeWatching" + ], + "description": "Also select inputs which are watch only.\nOnly solvable inputs can be used. Watch-only destinations are solvable if the public key and/or output script was imported,\ne.g. with 'importpubkey' or 'importmulti' with the 'pubkeys' or 'desc' field.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "true for watch-only wallets, otherwise false", + "hidden": false, + "type": "boolean" + }, + { + "names": [ + "lockUnspents" + ], + "description": "Lock selected unspent outputs", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": false, + "hidden": false, + "type": "boolean" + }, + { + "names": [ + "fee_rate" + ], + "description": "Specify a fee rate in sat/vB.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "not set, fall back to wallet fee estimation", + "hidden": false, + "type": "amount" + }, + { + "names": [ + "feeRate" + ], + "description": "Specify a fee rate in BTC/kvB.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "not set, fall back to wallet fee estimation", + "hidden": false, + "type": "amount" + }, + { + "names": [ + "subtractFeeFromOutputs" + ], + "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.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": [], + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "vout_index" + ], + "description": "The zero-based output index, before a change output is added.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "number" + } + ] + }, + { + "names": [ + "input_weights" + ], + "description": "Inputs and their corresponding weights", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "object", + "inner": [ + { + "names": [ + "txid" + ], + "description": "The transaction id", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + }, + { + "names": [ + "vout" + ], + "description": "The output index", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "number" + }, + { + "names": [ + "weight" + ], + "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.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "number" + } + ] + } + ] + }, + { + "names": [ + "max_tx_weight" + ], + "description": "The maximum acceptable transaction weight.\nTransaction building will fail if this can not be satisfied.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": 400000, + "hidden": false, + "type": "number" + }, + { + "names": [ + "conf_target" + ], + "description": "Confirmation target in blocks", + "oneline_description": "", + "also_positional": true, + "type_str": [], + "required": false, + "default_hint": "wallet -txconfirmtarget", + "hidden": false, + "type": "number" + }, + { + "names": [ + "estimate_mode" + ], + "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", + "oneline_description": "", + "also_positional": true, + "type_str": [], + "required": false, + "default": "unset", + "hidden": false, + "type": "string" + }, + { + "names": [ + "replaceable" + ], + "description": "Marks this transaction as BIP125-replaceable.\nAllows this transaction to be replaced by a transaction with higher fees", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "wallet default", + "hidden": false, + "type": "boolean" + }, + { + "names": [ + "solving_data" + ], + "description": "Keys and scripts needed for producing a final transaction with a dummy signature.\nUsed for fee estimation during coin selection.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "object", + "inner": [ + { + "names": [ + "pubkeys" + ], + "description": "Public keys involved in this transaction.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": [], + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "pubkey" + ], + "description": "A public key", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "hex" + } + ] + }, + { + "names": [ + "scripts" + ], + "description": "Scripts involved in this transaction.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": [], + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "script" + ], + "description": "A script", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "hex" + } + ] + }, + { + "names": [ + "descriptors" + ], + "description": "Descriptors that provide solving data for this transaction.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": [], + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "descriptor" + ], + "description": "A descriptor", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + } + ] + } + ] + } + ] + }, + { + "names": [ + "iswitness" + ], + "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.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "depends on heuristic tests", + "hidden": false, + "type": "boolean" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "The resulting raw transaction (hex-encoded string)", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "Fee in BTC the resulting transaction pays", + "skip_type_check": false, + "key_name": "fee", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The position of the added change output, or -1", + "skip_type_check": false, + "key_name": "changepos", + "condition": "" + } + ] + } + ] + }, + "generate": { + "category": "hidden", + "description": "has been replaced by the -generate cli option. Refer to -help for more information.", + "examples": "", + "name": "generate", + "argument_names": [], + "arguments": [], + "results": [] + }, + "generateblock": { + "category": "hidden", + "description": "Mine a set of ordered transactions to a specified address or descriptor and return the block hash.", + "examples": "\nGenerate a block to myaddress, with txs rawtx and mempool_txid\n> bitcoin-cli generateblock \"myaddress\" '[\"rawtx\", \"mempool_txid\"]'\n", + "name": "generateblock", + "argument_names": [ + "output", + "transactions", + "submit" + ], + "arguments": [ + { + "names": [ + "output" + ], + "description": "The address or descriptor to send the newly generated bitcoin to.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + }, + { + "names": [ + "transactions" + ], + "description": "An array of hex strings which are either txids or raw transactions.\nTxids must reference transactions currently in the mempool.\nAll transactions must be valid and in valid order, otherwise the block will be rejected.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "rawtx/txid" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "hex" + } + ] + }, + { + "names": [ + "submit" + ], + "description": "Whether to submit the block before the RPC call returns or to return it as hex.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": true, + "hidden": false, + "type": "boolean" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "hash of generated block", + "skip_type_check": false, + "key_name": "hash", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "hex of generated block, only present when submit=false", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + } + ] + } + ] + }, + "generatetoaddress": { + "category": "hidden", + "description": "Mine to a specified address and return the block hashes.", + "examples": "\nGenerate 11 blocks to myaddress\n> bitcoin-cli generatetoaddress 11 \"myaddress\"\nIf you are using the Bitcoin Core wallet, you can get a new address to send the newly generated bitcoin to with:\n> bitcoin-cli getnewaddress \n", + "name": "generatetoaddress", + "argument_names": [ + "nblocks", + "address", + "maxtries" + ], + "arguments": [ + { + "names": [ + "nblocks" + ], + "description": "How many blocks are generated.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "number" + }, + { + "names": [ + "address" + ], + "description": "The address to send the newly generated bitcoin to.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + }, + { + "names": [ + "maxtries" + ], + "description": "How many iterations to try.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": 1000000, + "hidden": false, + "type": "number" + } + ], + "results": [ + { + "type": "array", + "optional": false, + "description": "hashes of blocks generated", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "blockhash", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + } + ] + }, + "generatetodescriptor": { + "category": "hidden", + "description": "Mine to a specified descriptor and return the block hashes.", + "examples": "\nGenerate 11 blocks to mydesc\n> bitcoin-cli generatetodescriptor 11 \"mydesc\"\n", + "name": "generatetodescriptor", + "argument_names": [ + "num_blocks", + "descriptor", + "maxtries" + ], + "arguments": [ + { + "names": [ + "num_blocks" + ], + "description": "How many blocks are generated.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "number" + }, + { + "names": [ + "descriptor" + ], + "description": "The descriptor to send the newly generated bitcoin to.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + }, + { + "names": [ + "maxtries" + ], + "description": "How many iterations to try.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": 1000000, + "hidden": false, + "type": "number" + } + ], + "results": [ + { + "type": "array", + "optional": false, + "description": "hashes of blocks generated", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "blockhash", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + } + ] + }, + "getaddednodeinfo": { + "category": "network", + "description": "\nReturns information about the given added node, or all added nodes\n(note that onetry addnodes are not listed here)\n", + "examples": "> bitcoin-cli getaddednodeinfo \"192.168.0.201\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getaddednodeinfo\", \"params\": [\"192.168.0.201\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getaddednodeinfo", + "argument_names": [ + "node" + ], + "arguments": [ + { + "names": [ + "node" + ], + "description": "If provided, return information about this specific node, otherwise all nodes are returned.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "all nodes", + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The node IP address or name (as provided to addnode)", + "skip_type_check": false, + "key_name": "addednode", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "If connected", + "skip_type_check": false, + "key_name": "connected", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "Only when connected = true", + "skip_type_check": false, + "key_name": "addresses", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The bitcoin server IP and port we're connected to", + "skip_type_check": false, + "key_name": "address", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "connection, inbound or outbound", + "skip_type_check": false, + "key_name": "connected", + "condition": "" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + "getaddressesbylabel": { + "category": "wallet", + "description": "\nReturns the list of addresses assigned the specified label.\n", + "examples": "> bitcoin-cli getaddressesbylabel \"tabby\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getaddressesbylabel\", \"params\": [\"tabby\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getaddressesbylabel", + "argument_names": [ + "label" + ], + "arguments": [ + { + "names": [ + "label" + ], + "description": "The label.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "json object with addresses as keys", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "json object with information about address", + "skip_type_check": false, + "key_name": "address", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Purpose of address (\"send\" for sending address, \"receive\" for receiving address)", + "skip_type_check": false, + "key_name": "purpose", + "condition": "" + } + ] + } + ] + } + ] + }, + "getaddressinfo": { + "category": "wallet", + "description": "\nReturn information about the given bitcoin address.\nSome of the information will only be present if the address is in the active wallet.\n", + "examples": "> bitcoin-cli getaddressinfo \"bc1q09vm5lfy0j5reeulh4x5752q25uqqvz34hufdl\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getaddressinfo\", \"params\": [\"bc1q09vm5lfy0j5reeulh4x5752q25uqqvz34hufdl\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getaddressinfo", + "argument_names": [ + "address" + ], + "arguments": [ + { + "names": [ + "address" + ], + "description": "The bitcoin address for which to get information.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The bitcoin address validated.", + "skip_type_check": false, + "key_name": "address", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The hex-encoded output script generated by the address.", + "skip_type_check": false, + "key_name": "scriptPubKey", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "If the address is yours.", + "skip_type_check": false, + "key_name": "ismine", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "If the address is watchonly.", + "skip_type_check": false, + "key_name": "iswatchonly", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "If we know how to spend coins sent to this address, ignoring the possible lack of private keys.", + "skip_type_check": false, + "key_name": "solvable", + "condition": "" + }, + { + "type": "string", + "optional": true, + "description": "A descriptor for spending coins sent to this address (only when solvable).", + "skip_type_check": false, + "key_name": "desc", + "condition": "" + }, + { + "type": "string", + "optional": true, + "description": "The descriptor used to derive this address if this is a descriptor wallet", + "skip_type_check": false, + "key_name": "parent_desc", + "condition": "" + }, + { + "type": "boolean", + "optional": true, + "description": "If the key is a script.", + "skip_type_check": false, + "key_name": "isscript", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "If the address was used for change output.", + "skip_type_check": false, + "key_name": "ischange", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "If the address is a witness address.", + "skip_type_check": false, + "key_name": "iswitness", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The version number of the witness program.", + "skip_type_check": false, + "key_name": "witness_version", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "The hex value of the witness program.", + "skip_type_check": false, + "key_name": "witness_program", + "condition": "" + }, + { + "type": "string", + "optional": true, + "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.", + "skip_type_check": false, + "key_name": "script", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "The redeemscript for the p2sh address.", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + }, + { + "type": "array", + "optional": true, + "description": "Array of pubkeys associated with the known redeemscript (only if script is multisig).", + "skip_type_check": false, + "key_name": "pubkeys", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "pubkey", + "condition": "" + } + ] + }, + { + "type": "number", + "optional": true, + "description": "The number of signatures required to spend multisig output (only if script is multisig).", + "skip_type_check": false, + "key_name": "sigsrequired", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "The hex value of the raw public key for single-key addresses (possibly embedded in P2SH or P2WSH).", + "skip_type_check": false, + "key_name": "pubkey", + "condition": "" + }, + { + "type": "object", + "optional": true, + "description": "Information about the address embedded in P2SH or P2WSH, if relevant and known.", + "skip_type_check": false, + "key_name": "embedded", + "condition": "", + "inner": [ + { + "type": "elision", + "optional": false, + "description": "Includes all getaddressinfo output fields for the embedded address, excluding metadata (timestamp, hdkeypath, hdseedid)\nand relation to the wallet (ismine, iswatchonly).", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + { + "type": "boolean", + "optional": true, + "description": "If the pubkey is compressed.", + "skip_type_check": false, + "key_name": "iscompressed", + "condition": "" + }, + { + "type": "timestamp", + "optional": true, + "description": "The creation time of the key, if available, expressed in UNIX epoch time.", + "skip_type_check": false, + "key_name": "timestamp", + "condition": "" + }, + { + "type": "string", + "optional": true, + "description": "The HD keypath, if the key is HD and available.", + "skip_type_check": false, + "key_name": "hdkeypath", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "The Hash160 of the HD seed.", + "skip_type_check": false, + "key_name": "hdseedid", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "The fingerprint of the master key.", + "skip_type_check": false, + "key_name": "hdmasterfingerprint", + "condition": "" + }, + { + "type": "array", + "optional": false, + "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.", + "skip_type_check": false, + "key_name": "labels", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Label name (defaults to \"\").", + "skip_type_check": false, + "key_name": "label name", + "condition": "" + } + ] + } + ] + } + ] + }, + "getaddrmaninfo": { + "category": "network", + "description": "\nProvides 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.\n", + "examples": "> bitcoin-cli getaddrmaninfo \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getaddrmaninfo\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getaddrmaninfo", + "argument_names": [], + "arguments": [], + "results": [ + { + "type": "object", + "optional": false, + "description": "json object with network type as keys", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "the network (ipv4, ipv6, onion, i2p, cjdns, all_networks)", + "skip_type_check": false, + "key_name": "network", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "number of addresses in the new table, which represent potential peers the node has discovered but hasn't yet successfully connected to.", + "skip_type_check": false, + "key_name": "new", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "number of addresses in the tried table, which represent peers the node has successfully connected to in the past.", + "skip_type_check": false, + "key_name": "tried", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "total number of addresses in both new/tried tables", + "skip_type_check": false, + "key_name": "total", + "condition": "" + } + ] + } + ] + } + ] + }, + "getbalance": { + "category": "wallet", + "description": "\nReturns 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.\n", + "examples": "\nThe total amount in the wallet with 0 or more confirmations\n> bitcoin-cli getbalance \n\nThe total amount in the wallet with at least 6 confirmations\n> bitcoin-cli getbalance \"*\" 6\n\nAs a JSON-RPC call\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getbalance\", \"params\": [\"*\", 6]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getbalance", + "argument_names": [ + "dummy", + "minconf", + "include_watchonly", + "avoid_reuse" + ], + "arguments": [ + { + "names": [ + "dummy" + ], + "description": "Remains for backward compatibility. Must be excluded or set to \"*\".", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "minconf" + ], + "description": "Only include transactions confirmed at least this many times.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": 0, + "hidden": false, + "type": "number" + }, + { + "names": [ + "include_watchonly" + ], + "description": "Also include balance in watch-only addresses (see 'importaddress')", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "true for watch-only wallets, otherwise false", + "hidden": false, + "type": "boolean" + }, + { + "names": [ + "avoid_reuse" + ], + "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.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": true, + "hidden": false, + "type": "boolean" + } + ], + "results": [ + { + "type": "amount", + "optional": false, + "description": "The total amount in BTC received for this wallet.", + "skip_type_check": false, + "key_name": "amount", + "condition": "" + } + ] + }, + "getbalances": { + "category": "wallet", + "description": "Returns an object with all balances in BTC.\n", + "examples": "> bitcoin-cli getbalances \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getbalances\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getbalances", + "argument_names": [], + "arguments": [], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "balances from outputs that the wallet can sign", + "skip_type_check": false, + "key_name": "mine", + "condition": "", + "inner": [ + { + "type": "amount", + "optional": false, + "description": "trusted balance (outputs created by the wallet or confirmed outputs)", + "skip_type_check": false, + "key_name": "trusted", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "untrusted pending balance (outputs created by others that are in the mempool)", + "skip_type_check": false, + "key_name": "untrusted_pending", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "balance from immature coinbase outputs", + "skip_type_check": false, + "key_name": "immature", + "condition": "" + }, + { + "type": "amount", + "optional": true, + "description": "(only present if avoid_reuse is set) balance from coins sent to addresses that were previously spent from (potentially privacy violating)", + "skip_type_check": false, + "key_name": "used", + "condition": "" + } + ] + }, + { + "type": "object", + "optional": true, + "description": "watchonly balances (not present if wallet does not watch anything)", + "skip_type_check": false, + "key_name": "watchonly", + "condition": "", + "inner": [ + { + "type": "amount", + "optional": false, + "description": "trusted balance (outputs created by the wallet or confirmed outputs)", + "skip_type_check": false, + "key_name": "trusted", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "untrusted pending balance (outputs created by others that are in the mempool)", + "skip_type_check": false, + "key_name": "untrusted_pending", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "balance from immature coinbase outputs", + "skip_type_check": false, + "key_name": "immature", + "condition": "" + } + ] + }, + { + "type": "object", + "optional": false, + "description": "hash and height of the block this information was generated on", + "skip_type_check": false, + "key_name": "lastprocessedblock", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "hash of the block this information was generated on", + "skip_type_check": false, + "key_name": "hash", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "height of the block this information was generated on", + "skip_type_check": false, + "key_name": "height", + "condition": "" + } + ] + } + ] + } + ] + }, + "getbestblockhash": { + "category": "blockchain", + "description": "\nReturns the hash of the best (tip) block in the most-work fully-validated chain.\n", + "examples": "> bitcoin-cli getbestblockhash \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getbestblockhash\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getbestblockhash", + "argument_names": [], + "arguments": [], + "results": [ + { + "type": "hex", + "optional": false, + "description": "the block hash, hex-encoded", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "getblock": { + "category": "blockchain", + "description": "\nIf 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 .\nIf verbosity is 2, returns an Object with information about block and information about each transaction.\nIf verbosity is 3, returns an Object with information about block and information about each transaction, including prevout information for inputs (only for unpruned blocks in the current best chain).\n", + "examples": "> bitcoin-cli getblock \"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getblock\", \"params\": [\"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getblock", + "argument_names": [ + "blockhash", + "verbosity|verbose" + ], + "arguments": [ + { + "names": [ + "blockhash" + ], + "description": "The block hash", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + }, + { + "names": [ + "verbosity", + "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", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": 1, + "hidden": false, + "type": "number" + } + ], + "results": [ + { + "type": "hex", + "optional": false, + "description": "A string that is serialized, hex-encoded data for block 'hash'", + "skip_type_check": false, + "key_name": "", + "condition": "for verbosity = 0" + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "for verbosity = 1", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "the block hash (same as provided)", + "skip_type_check": false, + "key_name": "hash", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The number of confirmations, or -1 if the block is not on the main chain", + "skip_type_check": false, + "key_name": "confirmations", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The block size", + "skip_type_check": false, + "key_name": "size", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The block size excluding witness data", + "skip_type_check": false, + "key_name": "strippedsize", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The block weight as defined in BIP 141", + "skip_type_check": false, + "key_name": "weight", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The block height or index", + "skip_type_check": false, + "key_name": "height", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The block version", + "skip_type_check": false, + "key_name": "version", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The block version formatted in hexadecimal", + "skip_type_check": false, + "key_name": "versionHex", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The merkle root", + "skip_type_check": false, + "key_name": "merkleroot", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "The transaction ids", + "skip_type_check": false, + "key_name": "tx", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "The transaction id", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + { + "type": "timestamp", + "optional": false, + "description": "The block time expressed in UNIX epoch time", + "skip_type_check": false, + "key_name": "time", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "The median block time expressed in UNIX epoch time", + "skip_type_check": false, + "key_name": "mediantime", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The nonce", + "skip_type_check": false, + "key_name": "nonce", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "nBits: compact representation of the block difficulty target", + "skip_type_check": false, + "key_name": "bits", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The difficulty target", + "skip_type_check": false, + "key_name": "target", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The difficulty", + "skip_type_check": false, + "key_name": "difficulty", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "Expected number of hashes required to produce the chain up to this block (in hex)", + "skip_type_check": false, + "key_name": "chainwork", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The number of transactions in the block", + "skip_type_check": false, + "key_name": "nTx", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "The hash of the previous block (if available)", + "skip_type_check": false, + "key_name": "previousblockhash", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "The hash of the next block (if available)", + "skip_type_check": false, + "key_name": "nextblockhash", + "condition": "" + } + ] + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "for verbosity = 2", + "inner": [ + { + "type": "elision", + "optional": false, + "description": "Same output as verbosity = 1", + "skip_type_check": false, + "key_name": "", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "tx", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "elision", + "optional": false, + "description": "The transactions in the format of the getrawtransaction RPC. Different from verbosity = 1 \"tx\" result", + "skip_type_check": false, + "key_name": "", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The transaction fee in BTC, omitted if block undo data is not available", + "skip_type_check": false, + "key_name": "fee", + "condition": "" + } + ] + } + ] + } + ] + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "for verbosity = 3", + "inner": [ + { + "type": "elision", + "optional": false, + "description": "Same output as verbosity = 2", + "skip_type_check": false, + "key_name": "", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "tx", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "vin", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "elision", + "optional": false, + "description": "The same output as verbosity = 2", + "skip_type_check": false, + "key_name": "", + "condition": "" + }, + { + "type": "object", + "optional": false, + "description": "(Only if undo information is available)", + "skip_type_check": false, + "key_name": "prevout", + "condition": "", + "inner": [ + { + "type": "boolean", + "optional": false, + "description": "Coinbase or not", + "skip_type_check": false, + "key_name": "generated", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The height of the prevout", + "skip_type_check": false, + "key_name": "height", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "The value in BTC", + "skip_type_check": false, + "key_name": "value", + "condition": "" + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "scriptPubKey", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Disassembly of the output script", + "skip_type_check": false, + "key_name": "asm", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "Inferred descriptor for the output", + "skip_type_check": false, + "key_name": "desc", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The raw output script bytes, hex-encoded", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + }, + { + "type": "string", + "optional": true, + "description": "The Bitcoin address (only if a well-defined address exists)", + "skip_type_check": false, + "key_name": "address", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The type (one of: nonstandard, anchor, pubkey, pubkeyhash, scripthash, multisig, nulldata, witness_v0_scripthash, witness_v0_keyhash, witness_v1_taproot, witness_unknown)", + "skip_type_check": false, + "key_name": "type", + "condition": "" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + "getblockchaininfo": { + "category": "blockchain", + "description": "Returns an object containing various state info regarding blockchain processing.\n", + "examples": "> bitcoin-cli getblockchaininfo \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getblockchaininfo\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getblockchaininfo", + "argument_names": [], + "arguments": [], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "current network name (main, test, testnet4, signet, regtest)", + "skip_type_check": false, + "key_name": "chain", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "the height of the most-work fully-validated chain. The genesis block has height 0", + "skip_type_check": false, + "key_name": "blocks", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "the current number of headers we have validated", + "skip_type_check": false, + "key_name": "headers", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "the hash of the currently best block", + "skip_type_check": false, + "key_name": "bestblockhash", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "nBits: compact representation of the block difficulty target", + "skip_type_check": false, + "key_name": "bits", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The difficulty target", + "skip_type_check": false, + "key_name": "target", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "the current difficulty", + "skip_type_check": false, + "key_name": "difficulty", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "The block time expressed in UNIX epoch time", + "skip_type_check": false, + "key_name": "time", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "The median block time expressed in UNIX epoch time", + "skip_type_check": false, + "key_name": "mediantime", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "estimate of verification progress [0..1]", + "skip_type_check": false, + "key_name": "verificationprogress", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "(debug information) estimate of whether this node is in Initial Block Download mode", + "skip_type_check": false, + "key_name": "initialblockdownload", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "total amount of work in active chain, in hexadecimal", + "skip_type_check": false, + "key_name": "chainwork", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "the estimated size of the block and undo files on disk", + "skip_type_check": false, + "key_name": "size_on_disk", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "if the blocks are subject to pruning", + "skip_type_check": false, + "key_name": "pruned", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "height of the last block pruned, plus one (only present if pruning is enabled)", + "skip_type_check": false, + "key_name": "pruneheight", + "condition": "" + }, + { + "type": "boolean", + "optional": true, + "description": "whether automatic pruning is enabled (only present if pruning is enabled)", + "skip_type_check": false, + "key_name": "automatic_pruning", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "the target size used by pruning (only present if automatic pruning is enabled)", + "skip_type_check": false, + "key_name": "prune_target_size", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "the block challenge (aka. block script), in hexadecimal (only present if the current network is a signet)", + "skip_type_check": false, + "key_name": "signet_challenge", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "any network and blockchain warnings (run with `-deprecatedrpc=warnings` to return the latest warning as a single string)", + "skip_type_check": false, + "key_name": "warnings", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "warning", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + } + ] + } + ] + }, + "getblockcount": { + "category": "blockchain", + "description": "\nReturns the height of the most-work fully-validated chain.\nThe genesis block has height 0.\n", + "examples": "> bitcoin-cli getblockcount \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getblockcount\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getblockcount", + "argument_names": [], + "arguments": [], + "results": [ + { + "type": "number", + "optional": false, + "description": "The current block count", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "getblockfilter": { + "category": "blockchain", + "description": "\nRetrieve a BIP 157 content filter for a particular block.\n", + "examples": "> bitcoin-cli getblockfilter \"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\" \"basic\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getblockfilter\", \"params\": [\"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\", \"basic\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getblockfilter", + "argument_names": [ + "blockhash", + "filtertype" + ], + "arguments": [ + { + "names": [ + "blockhash" + ], + "description": "The hash of the block", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + }, + { + "names": [ + "filtertype" + ], + "description": "The type name of the filter", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": "basic", + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "the hex-encoded filter data", + "skip_type_check": false, + "key_name": "filter", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "the hex-encoded filter header", + "skip_type_check": false, + "key_name": "header", + "condition": "" + } + ] + } + ] + }, + "getblockfrompeer": { + "category": "blockchain", + "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.", + "examples": "> bitcoin-cli getblockfrompeer \"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\" 0\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getblockfrompeer\", \"params\": [\"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\" 0]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getblockfrompeer", + "argument_names": [ + "blockhash", + "peer_id" + ], + "arguments": [ + { + "names": [ + "blockhash" + ], + "description": "The block hash to try to fetch", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + }, + { + "names": [ + "peer_id" + ], + "description": "The peer to fetch it from (see getpeerinfo for peer IDs)", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "number" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "getblockhash": { + "category": "blockchain", + "description": "\nReturns hash of block in best-block-chain at height provided.\n", + "examples": "> bitcoin-cli getblockhash 1000\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getblockhash\", \"params\": [1000]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getblockhash", + "argument_names": [ + "height" + ], + "arguments": [ + { + "names": [ + "height" + ], + "description": "The height index", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "number" + } + ], + "results": [ + { + "type": "hex", + "optional": false, + "description": "The block hash", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "getblockheader": { + "category": "blockchain", + "description": "\nIf 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 .\n", + "examples": "> bitcoin-cli getblockheader \"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getblockheader\", \"params\": [\"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getblockheader", + "argument_names": [ + "blockhash", + "verbose" + ], + "arguments": [ + { + "names": [ + "blockhash" + ], + "description": "The block hash", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + }, + { + "names": [ + "verbose" + ], + "description": "true for a json object, false for the hex-encoded data", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": true, + "hidden": false, + "type": "boolean" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "for verbose = true", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "the block hash (same as provided)", + "skip_type_check": false, + "key_name": "hash", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The number of confirmations, or -1 if the block is not on the main chain", + "skip_type_check": false, + "key_name": "confirmations", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The block height or index", + "skip_type_check": false, + "key_name": "height", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The block version", + "skip_type_check": false, + "key_name": "version", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The block version formatted in hexadecimal", + "skip_type_check": false, + "key_name": "versionHex", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The merkle root", + "skip_type_check": false, + "key_name": "merkleroot", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "The block time expressed in UNIX epoch time", + "skip_type_check": false, + "key_name": "time", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "The median block time expressed in UNIX epoch time", + "skip_type_check": false, + "key_name": "mediantime", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The nonce", + "skip_type_check": false, + "key_name": "nonce", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "nBits: compact representation of the block difficulty target", + "skip_type_check": false, + "key_name": "bits", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The difficulty target", + "skip_type_check": false, + "key_name": "target", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The difficulty", + "skip_type_check": false, + "key_name": "difficulty", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "Expected number of hashes required to produce the current chain", + "skip_type_check": false, + "key_name": "chainwork", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The number of transactions in the block", + "skip_type_check": false, + "key_name": "nTx", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "The hash of the previous block (if available)", + "skip_type_check": false, + "key_name": "previousblockhash", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "The hash of the next block (if available)", + "skip_type_check": false, + "key_name": "nextblockhash", + "condition": "" + } + ] + }, + { + "type": "hex", + "optional": false, + "description": "A string that is serialized, hex-encoded data for block 'hash'", + "skip_type_check": false, + "key_name": "", + "condition": "for verbose=false" + } + ] + }, + "getblockstats": { + "category": "blockchain", + "description": "\nCompute per block statistics for a given window. All amounts are in satoshis.\nIt won't work for some heights with pruning.\n", + "examples": "> bitcoin-cli getblockstats '\"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\"' '[\"minfeerate\",\"avgfeerate\"]'\n> bitcoin-cli getblockstats 1000 '[\"minfeerate\",\"avgfeerate\"]'\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getblockstats\", \"params\": [\"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\", [\"minfeerate\",\"avgfeerate\"]]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getblockstats\", \"params\": [1000, [\"minfeerate\",\"avgfeerate\"]]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getblockstats", + "argument_names": [ + "hash_or_height", + "stats" + ], + "arguments": [ + { + "names": [ + "hash_or_height" + ], + "description": "The block hash or height of the target block", + "oneline_description": "", + "also_positional": false, + "type_str": [ + "", + "string or numeric" + ], + "required": true, + "hidden": false, + "type": "number" + }, + { + "names": [ + "stats" + ], + "description": "Values to plot (see result below)", + "oneline_description": "stats", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "all values", + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "height" + ], + "description": "Selected statistic", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "time" + ], + "description": "Selected statistic", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + } + ] + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "number", + "optional": true, + "description": "Average fee in the block", + "skip_type_check": false, + "key_name": "avgfee", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "Average feerate (in satoshis per virtual byte)", + "skip_type_check": false, + "key_name": "avgfeerate", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "Average transaction size", + "skip_type_check": false, + "key_name": "avgtxsize", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "The block hash (to check for potential reorgs)", + "skip_type_check": false, + "key_name": "blockhash", + "condition": "" + }, + { + "type": "object", + "optional": true, + "description": "Feerates at the 10th, 25th, 50th, 75th, and 90th percentile weight unit (in satoshis per virtual byte)", + "skip_type_check": false, + "key_name": "feerate_percentiles", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "The 10th percentile feerate", + "skip_type_check": false, + "key_name": "10th_percentile_feerate", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The 25th percentile feerate", + "skip_type_check": false, + "key_name": "25th_percentile_feerate", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The 50th percentile feerate", + "skip_type_check": false, + "key_name": "50th_percentile_feerate", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The 75th percentile feerate", + "skip_type_check": false, + "key_name": "75th_percentile_feerate", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The 90th percentile feerate", + "skip_type_check": false, + "key_name": "90th_percentile_feerate", + "condition": "" + } + ] + }, + { + "type": "number", + "optional": true, + "description": "The height of the block", + "skip_type_check": false, + "key_name": "height", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The number of inputs (excluding coinbase)", + "skip_type_check": false, + "key_name": "ins", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "Maximum fee in the block", + "skip_type_check": false, + "key_name": "maxfee", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "Maximum feerate (in satoshis per virtual byte)", + "skip_type_check": false, + "key_name": "maxfeerate", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "Maximum transaction size", + "skip_type_check": false, + "key_name": "maxtxsize", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "Truncated median fee in the block", + "skip_type_check": false, + "key_name": "medianfee", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The block median time past", + "skip_type_check": false, + "key_name": "mediantime", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "Truncated median transaction size", + "skip_type_check": false, + "key_name": "mediantxsize", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "Minimum fee in the block", + "skip_type_check": false, + "key_name": "minfee", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "Minimum feerate (in satoshis per virtual byte)", + "skip_type_check": false, + "key_name": "minfeerate", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "Minimum transaction size", + "skip_type_check": false, + "key_name": "mintxsize", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The number of outputs", + "skip_type_check": false, + "key_name": "outs", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The block subsidy", + "skip_type_check": false, + "key_name": "subsidy", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "Total size of all segwit transactions", + "skip_type_check": false, + "key_name": "swtotal_size", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "Total weight of all segwit transactions", + "skip_type_check": false, + "key_name": "swtotal_weight", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The number of segwit transactions", + "skip_type_check": false, + "key_name": "swtxs", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The block time", + "skip_type_check": false, + "key_name": "time", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "Total amount in all outputs (excluding coinbase and thus reward [ie subsidy + totalfee])", + "skip_type_check": false, + "key_name": "total_out", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "Total size of all non-coinbase transactions", + "skip_type_check": false, + "key_name": "total_size", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "Total weight of all non-coinbase transactions", + "skip_type_check": false, + "key_name": "total_weight", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The fee total", + "skip_type_check": false, + "key_name": "totalfee", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The number of transactions (including coinbase)", + "skip_type_check": false, + "key_name": "txs", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The increase/decrease in the number of unspent outputs (not discounting op_return and similar)", + "skip_type_check": false, + "key_name": "utxo_increase", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The increase/decrease in size for the utxo index (not discounting op_return and similar)", + "skip_type_check": false, + "key_name": "utxo_size_inc", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The increase/decrease in the number of unspent outputs, not counting unspendables", + "skip_type_check": false, + "key_name": "utxo_increase_actual", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The increase/decrease in size for the utxo index, not counting unspendables", + "skip_type_check": false, + "key_name": "utxo_size_inc_actual", + "condition": "" + } + ] + } + ] + }, + "getblocktemplate": { + "category": "mining", + "description": "\nIf 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\n", + "examples": "> bitcoin-cli getblocktemplate '{\"rules\": [\"segwit\"]}'\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getblocktemplate\", \"params\": [{\"rules\": [\"segwit\"]}]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getblocktemplate", + "argument_names": [ + "template_request" + ], + "arguments": [ + { + "names": [ + "template_request" + ], + "description": "Format of the template", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "object", + "inner": [ + { + "names": [ + "mode" + ], + "description": "This must be set to \"template\", \"proposal\" (see BIP 23), or omitted", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "capabilities" + ], + "description": "A list of strings", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "str" + ], + "description": "client side supported feature, 'longpoll', 'coinbasevalue', 'proposal', 'serverlist', 'workid'", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + } + ] + }, + { + "names": [ + "rules" + ], + "description": "A list of strings", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "segwit" + ], + "description": "(literal) indicates client side segwit support", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + }, + { + "names": [ + "str" + ], + "description": "other client side supported softfork deployment", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + } + ] + }, + { + "names": [ + "longpollid" + ], + "description": "delay processing request until the result would vary significantly from the \"longpollid\" of a prior template", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "data" + ], + "description": "proposed block data to check, encoded in hexadecimal; valid only for mode=\"proposal\"", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "hex" + } + ] + } + ], + "results": [ + { + "type": "none", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "If the proposal was accepted with mode=='proposal'" + }, + { + "type": "string", + "optional": false, + "description": "According to BIP22", + "skip_type_check": false, + "key_name": "", + "condition": "If the proposal was not accepted with mode=='proposal'" + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "Otherwise", + "inner": [ + { + "type": "number", + "optional": false, + "description": "The preferred block version", + "skip_type_check": false, + "key_name": "version", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "specific block rules that are to be enforced", + "skip_type_check": false, + "key_name": "rules", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "name of a rule the client must understand to some extent; see BIP 9 for format", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + { + "type": "object", + "optional": false, + "description": "set of pending, supported versionbit (BIP 9) softfork deployments", + "skip_type_check": false, + "key_name": "vbavailable", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "identifies the bit number as indicating acceptance and readiness for the named softfork rule", + "skip_type_check": false, + "key_name": "rulename", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "capabilities", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "A supported feature, for example 'proposal'", + "skip_type_check": false, + "key_name": "value", + "condition": "" + } + ] + }, + { + "type": "number", + "optional": false, + "description": "bit mask of versionbits the server requires set in submissions", + "skip_type_check": false, + "key_name": "vbrequired", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The hash of current highest block", + "skip_type_check": false, + "key_name": "previousblockhash", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "contents of non-coinbase transactions that should be included in the next block", + "skip_type_check": false, + "key_name": "transactions", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "transaction data encoded in hexadecimal (byte-for-byte)", + "skip_type_check": false, + "key_name": "data", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "transaction hash excluding witness data, shown in byte-reversed hex", + "skip_type_check": false, + "key_name": "txid", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "transaction hash including witness data, shown in byte-reversed hex", + "skip_type_check": false, + "key_name": "hash", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "array of numbers", + "skip_type_check": false, + "key_name": "depends", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "transactions before this one (by 1-based index in 'transactions' list) that must be present in the final block if this one is", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + { + "type": "number", + "optional": false, + "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", + "skip_type_check": false, + "key_name": "fee", + "condition": "" + }, + { + "type": "number", + "optional": false, + "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", + "skip_type_check": false, + "key_name": "sigops", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "total transaction weight, as counted for purposes of block limits", + "skip_type_check": false, + "key_name": "weight", + "condition": "" + } + ] + } + ] + }, + { + "type": "object", + "optional": false, + "description": "data that should be included in the coinbase's scriptSig content", + "skip_type_check": false, + "key_name": "coinbaseaux", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "values must be in the coinbase (keys may be ignored)", + "skip_type_check": false, + "key_name": "key", + "condition": "" + } + ] + }, + { + "type": "number", + "optional": false, + "description": "maximum allowable input to coinbase transaction, including the generation award and transaction fees (in satoshis)", + "skip_type_check": false, + "key_name": "coinbasevalue", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "an id to include with a request to longpoll on an update to this template", + "skip_type_check": false, + "key_name": "longpollid", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The hash target", + "skip_type_check": false, + "key_name": "target", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "The minimum timestamp appropriate for the next block time, expressed in UNIX epoch time. Adjusted for the proposed BIP94 timewarp rule.", + "skip_type_check": false, + "key_name": "mintime", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "list of ways the block template may be changed", + "skip_type_check": false, + "key_name": "mutable", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "A way the block template may be changed, e.g. 'time', 'transactions', 'prevblock'", + "skip_type_check": false, + "key_name": "value", + "condition": "" + } + ] + }, + { + "type": "hex", + "optional": false, + "description": "A range of valid nonces", + "skip_type_check": false, + "key_name": "noncerange", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "limit of sigops in blocks", + "skip_type_check": false, + "key_name": "sigoplimit", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "limit of block size", + "skip_type_check": false, + "key_name": "sizelimit", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "limit of block weight", + "skip_type_check": false, + "key_name": "weightlimit", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "current timestamp in UNIX epoch time. Adjusted for the proposed BIP94 timewarp rule.", + "skip_type_check": false, + "key_name": "curtime", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "compressed target of next block", + "skip_type_check": false, + "key_name": "bits", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The height of the next block", + "skip_type_check": false, + "key_name": "height", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "Only on signet", + "skip_type_check": false, + "key_name": "signet_challenge", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "a valid witness commitment for the unmodified block template", + "skip_type_check": false, + "key_name": "default_witness_commitment", + "condition": "" + } + ] + } + ] + }, + "getchainstates": { + "category": "blockchain", + "description": "\nReturn information about chainstates.\n", + "examples": "> bitcoin-cli getchainstates \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getchainstates\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getchainstates", + "argument_names": [], + "arguments": [], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "the number of headers seen so far", + "skip_type_check": false, + "key_name": "headers", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "list of the chainstates ordered by work, with the most-work (active) chainstate last", + "skip_type_check": false, + "key_name": "chainstates", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "number of blocks in this chainstate", + "skip_type_check": false, + "key_name": "blocks", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "blockhash of the tip", + "skip_type_check": false, + "key_name": "bestblockhash", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "nBits: compact representation of the block difficulty target", + "skip_type_check": false, + "key_name": "bits", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The difficulty target", + "skip_type_check": false, + "key_name": "target", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "difficulty of the tip", + "skip_type_check": false, + "key_name": "difficulty", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "progress towards the network tip", + "skip_type_check": false, + "key_name": "verificationprogress", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "the base block of the snapshot this chainstate is based on, if any", + "skip_type_check": false, + "key_name": "snapshot_blockhash", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "size of the coinsdb cache", + "skip_type_check": false, + "key_name": "coins_db_cache_bytes", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "size of the coinstip cache", + "skip_type_check": false, + "key_name": "coins_tip_cache_bytes", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "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.", + "skip_type_check": false, + "key_name": "validated", + "condition": "" + } + ] + } + ] + } + ] + } + ] + }, + "getchaintips": { + "category": "blockchain", + "description": "Return information about all known tips in the block tree, including the main chain as well as orphaned branches.\n", + "examples": "> bitcoin-cli getchaintips \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getchaintips\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getchaintips", + "argument_names": [], + "arguments": [], + "results": [ + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "height of the chain tip", + "skip_type_check": false, + "key_name": "height", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "block hash of the tip", + "skip_type_check": false, + "key_name": "hash", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "zero for main chain, otherwise length of branch connecting the tip to the main chain", + "skip_type_check": false, + "key_name": "branchlen", + "condition": "" + }, + { + "type": "string", + "optional": false, + "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", + "skip_type_check": false, + "key_name": "status", + "condition": "" + } + ] + } + ] + } + ] + }, + "getchaintxstats": { + "category": "blockchain", + "description": "\nCompute statistics about the total number and rate of transactions in the chain.\n", + "examples": "> bitcoin-cli getchaintxstats \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getchaintxstats\", \"params\": [2016]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getchaintxstats", + "argument_names": [ + "nblocks", + "blockhash" + ], + "arguments": [ + { + "names": [ + "nblocks" + ], + "description": "Size of the window in number of blocks", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "one month", + "hidden": false, + "type": "number" + }, + { + "names": [ + "blockhash" + ], + "description": "The hash of the block that ends the window.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "chain tip", + "hidden": false, + "type": "hex" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "timestamp", + "optional": false, + "description": "The timestamp for the final block in the window, expressed in UNIX epoch time", + "skip_type_check": false, + "key_name": "time", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The total number of transactions in the chain up to that point, if known. It may be unknown when using assumeutxo.", + "skip_type_check": false, + "key_name": "txcount", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The hash of the final block in the window", + "skip_type_check": false, + "key_name": "window_final_block_hash", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The height of the final block in the window.", + "skip_type_check": false, + "key_name": "window_final_block_height", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "Size of the window in number of blocks", + "skip_type_check": false, + "key_name": "window_block_count", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The elapsed time in the window in seconds. Only returned if \"window_block_count\" is > 0", + "skip_type_check": false, + "key_name": "window_interval", + "condition": "" + }, + { + "type": "number", + "optional": true, + "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.", + "skip_type_check": false, + "key_name": "window_tx_count", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The average rate of transactions per second in the window. Only returned if \"window_interval\" is > 0 and if window_tx_count exists.", + "skip_type_check": false, + "key_name": "txrate", + "condition": "" + } + ] + } + ] + }, + "getconnectioncount": { + "category": "network", + "description": "\nReturns the number of connections to other nodes.\n", + "examples": "> bitcoin-cli getconnectioncount \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getconnectioncount\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getconnectioncount", + "argument_names": [], + "arguments": [], + "results": [ + { + "type": "number", + "optional": false, + "description": "The connection count", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "getdeploymentinfo": { + "category": "blockchain", + "description": "Returns an object containing various state info regarding deployments of consensus changes.", + "examples": "> bitcoin-cli getdeploymentinfo \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getdeploymentinfo\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getdeploymentinfo", + "argument_names": [ + "blockhash" + ], + "arguments": [ + { + "names": [ + "blockhash" + ], + "description": "The block hash at which to query deployment state", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": "hash of current chain tip", + "hidden": false, + "type": "hex" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "requested block hash (or tip)", + "skip_type_check": false, + "key_name": "hash", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "requested block height (or tip)", + "skip_type_check": false, + "key_name": "height", + "condition": "" + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "deployments", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "name of the deployment", + "skip_type_check": false, + "key_name": "xxxx", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "one of \"buried\", \"bip9\"", + "skip_type_check": false, + "key_name": "type", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "height of the first block which the rules are or will be enforced (only for \"buried\" type, or \"bip9\" type with \"active\" status)", + "skip_type_check": false, + "key_name": "height", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "true if the rules are enforced for the mempool and the next block", + "skip_type_check": false, + "key_name": "active", + "condition": "" + }, + { + "type": "object", + "optional": true, + "description": "status of bip9 softforks (only for \"bip9\" type)", + "skip_type_check": false, + "key_name": "bip9", + "condition": "", + "inner": [ + { + "type": "number", + "optional": true, + "description": "the bit (0-28) in the block version field used to signal this softfork (only for \"started\" and \"locked_in\" status)", + "skip_type_check": false, + "key_name": "bit", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "the minimum median time past of a block at which the bit gains its meaning", + "skip_type_check": false, + "key_name": "start_time", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "the median time past of a block at which the deployment is considered failed if not yet locked in", + "skip_type_check": false, + "key_name": "timeout", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "minimum height of blocks for which the rules may be enforced", + "skip_type_check": false, + "key_name": "min_activation_height", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "status of deployment at specified block (one of \"defined\", \"started\", \"locked_in\", \"active\", \"failed\")", + "skip_type_check": false, + "key_name": "status", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "height of the first block to which the status applies", + "skip_type_check": false, + "key_name": "since", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "status of deployment at the next block", + "skip_type_check": false, + "key_name": "status_next", + "condition": "" + }, + { + "type": "object", + "optional": true, + "description": "numeric statistics about signalling for a softfork (only for \"started\" and \"locked_in\" status)", + "skip_type_check": false, + "key_name": "statistics", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "the length in blocks of the signalling period", + "skip_type_check": false, + "key_name": "period", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "the number of blocks with the version bit set required to activate the feature (only for \"started\" status)", + "skip_type_check": false, + "key_name": "threshold", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "the number of blocks elapsed since the beginning of the current period", + "skip_type_check": false, + "key_name": "elapsed", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "the number of blocks with the version bit set in the current period", + "skip_type_check": false, + "key_name": "count", + "condition": "" + }, + { + "type": "boolean", + "optional": true, + "description": "returns false if there are not enough blocks left in this period to pass activation threshold (only for \"started\" status)", + "skip_type_check": false, + "key_name": "possible", + "condition": "" + } + ] + }, + { + "type": "string", + "optional": true, + "description": "indicates blocks that signalled with a # and blocks that did not with a -", + "skip_type_check": false, + "key_name": "signalling", + "condition": "" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + "getdescriptoractivity": { + "category": "blockchain", + "description": "\nGet 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)", + "examples": "> bitcoin-cli getdescriptoractivity '[\"000000000000000000001347062c12fded7c528943c8ce133987e2e2f5a840ee\"]' '[\"addr(bc1qzl6nsgqzu89a66l50cvwapnkw5shh23zarqkw9)\"]'\n", + "name": "getdescriptoractivity", + "argument_names": [ + "blockhashes", + "scanobjects", + "include_mempool" + ], + "arguments": [ + { + "names": [ + "blockhashes" + ], + "description": "The list of blockhashes to examine for activity. Order doesn't matter. Must be along main chain or an error is thrown.\n", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "blockhash" + ], + "description": "A valid blockhash", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "hex" + } + ] + }, + { + "names": [ + "scanobjects" + ], + "description": "Array of scan objects. Required for \"start\" action\nEvery scan object is either a string descriptor or an object:", + "oneline_description": "[scanobjects,...]", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "array", + "inner": [ + { + "names": [ + "descriptor" + ], + "description": "An output descriptor", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + }, + { + "names": [ + "" + ], + "description": "An object with output descriptor and metadata", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "object", + "inner": [ + { + "names": [ + "desc" + ], + "description": "An output descriptor", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + }, + { + "names": [ + "range" + ], + "description": "The range of HD chain indexes to explore (either end or [begin,end])", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": 1000, + "hidden": false, + "type": "range" + } + ] + } + ] + }, + { + "names": [ + "include_mempool" + ], + "description": "Whether to include unconfirmed activity", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": true, + "hidden": false, + "type": "boolean" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "array", + "optional": false, + "description": "events", + "skip_type_check": true, + "key_name": "activity", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "always 'spend'", + "skip_type_check": false, + "key_name": "type", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "The total amount in BTC of the spent output", + "skip_type_check": false, + "key_name": "amount", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "The blockhash this spend appears in (omitted if unconfirmed)", + "skip_type_check": false, + "key_name": "blockhash", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "Height of the spend (omitted if unconfirmed)", + "skip_type_check": false, + "key_name": "height", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The txid of the spending transaction", + "skip_type_check": false, + "key_name": "spend_txid", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The vout of the spend", + "skip_type_check": false, + "key_name": "spend_vout", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The txid of the prevout", + "skip_type_check": false, + "key_name": "prevout_txid", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The vout of the prevout", + "skip_type_check": false, + "key_name": "prevout_vout", + "condition": "" + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "prevout_spk", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Disassembly of the output script", + "skip_type_check": false, + "key_name": "asm", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "Inferred descriptor for the output", + "skip_type_check": false, + "key_name": "desc", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The raw output script bytes, hex-encoded", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + }, + { + "type": "string", + "optional": true, + "description": "The Bitcoin address (only if a well-defined address exists)", + "skip_type_check": false, + "key_name": "address", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The type (one of: nonstandard, anchor, pubkey, pubkeyhash, scripthash, multisig, nulldata, witness_v0_scripthash, witness_v0_keyhash, witness_v1_taproot, witness_unknown)", + "skip_type_check": false, + "key_name": "type", + "condition": "" + } + ] + } + ] + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "always 'receive'", + "skip_type_check": false, + "key_name": "type", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "The total amount in BTC of the new output", + "skip_type_check": false, + "key_name": "amount", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "The block that this receive is in (omitted if unconfirmed)", + "skip_type_check": false, + "key_name": "blockhash", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The height of the receive (omitted if unconfirmed)", + "skip_type_check": false, + "key_name": "height", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The txid of the receiving transaction", + "skip_type_check": false, + "key_name": "txid", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The vout of the receiving output", + "skip_type_check": false, + "key_name": "vout", + "condition": "" + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "output_spk", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Disassembly of the output script", + "skip_type_check": false, + "key_name": "asm", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "Inferred descriptor for the output", + "skip_type_check": false, + "key_name": "desc", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The raw output script bytes, hex-encoded", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + }, + { + "type": "string", + "optional": true, + "description": "The Bitcoin address (only if a well-defined address exists)", + "skip_type_check": false, + "key_name": "address", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The type (one of: nonstandard, anchor, pubkey, pubkeyhash, scripthash, multisig, nulldata, witness_v0_scripthash, witness_v0_keyhash, witness_v1_taproot, witness_unknown)", + "skip_type_check": false, + "key_name": "type", + "condition": "" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + "getdescriptorinfo": { + "category": "util", + "description": "\nAnalyses a descriptor.\n", + "examples": "Analyse a descriptor\n> bitcoin-cli getdescriptorinfo \"wpkh([d34db33f/84h/0h/0h]0279be667ef9dcbbac55a06295Ce870b07029Bfcdb2dce28d959f2815b16f81798)\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getdescriptorinfo\", \"params\": [\"wpkh([d34db33f/84h/0h/0h]0279be667ef9dcbbac55a06295Ce870b07029Bfcdb2dce28d959f2815b16f81798)\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getdescriptorinfo", + "argument_names": [ + "descriptor" + ], + "arguments": [ + { + "names": [ + "descriptor" + ], + "description": "The descriptor.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The descriptor in canonical form, without private keys. For a multipath descriptor, only the first will be returned.", + "skip_type_check": false, + "key_name": "descriptor", + "condition": "" + }, + { + "type": "array", + "optional": true, + "description": "All descriptors produced by expanding multipath derivation elements. Only if the provided descriptor specifies multipath derivation elements.", + "skip_type_check": false, + "key_name": "multipath_expansion", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + { + "type": "string", + "optional": false, + "description": "The checksum for the input descriptor", + "skip_type_check": false, + "key_name": "checksum", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "Whether the descriptor is ranged", + "skip_type_check": false, + "key_name": "isrange", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "Whether the descriptor is solvable", + "skip_type_check": false, + "key_name": "issolvable", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "Whether the input descriptor contained at least one private key", + "skip_type_check": false, + "key_name": "hasprivatekeys", + "condition": "" + } + ] + } + ] + }, + "getdifficulty": { + "category": "blockchain", + "description": "\nReturns the proof-of-work difficulty as a multiple of the minimum difficulty.\n", + "examples": "> bitcoin-cli getdifficulty \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getdifficulty\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getdifficulty", + "argument_names": [], + "arguments": [], + "results": [ + { + "type": "number", + "optional": false, + "description": "the proof-of-work difficulty as a multiple of the minimum difficulty.", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "gethdkeys": { + "category": "wallet", + "description": "\nList all BIP 32 HD keys in the wallet and which descriptors use them.\n", + "examples": "> bitcoin-cli gethdkeys \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"gethdkeys\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n> bitcoin-cli -named gethdkeys active_only=true private=true\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"gethdkeys\", \"params\": {\"active_only\":\"true\",\"private\":\"true\"}}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "gethdkeys", + "argument_names": [ + "active_only", + "private", + "options" + ], + "arguments": [ + { + "names": [ + "options" + ], + "description": "", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "object", + "inner": [ + { + "names": [ + "active_only" + ], + "description": "Show the keys for only active descriptors", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": false, + "hidden": false, + "type": "boolean" + }, + { + "names": [ + "private" + ], + "description": "Show private keys", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": false, + "hidden": false, + "type": "boolean" + } + ] + } + ], + "results": [ + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The extended public key", + "skip_type_check": false, + "key_name": "xpub", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "Whether the wallet has the private key for this xpub", + "skip_type_check": false, + "key_name": "has_private", + "condition": "" + }, + { + "type": "string", + "optional": true, + "description": "The extended private key if \"private\" is true", + "skip_type_check": false, + "key_name": "xprv", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "Array of descriptor objects that use this HD key", + "skip_type_check": false, + "key_name": "descriptors", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Descriptor string representation", + "skip_type_check": false, + "key_name": "desc", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "Whether this descriptor is currently used to generate new addresses", + "skip_type_check": false, + "key_name": "active", + "condition": "" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + "getindexinfo": { + "category": "util", + "description": "\nReturns the status of one or all available indices currently running in the node.\n", + "examples": "> bitcoin-cli getindexinfo \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getindexinfo\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n> bitcoin-cli getindexinfo txindex\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getindexinfo\", \"params\": [txindex]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getindexinfo", + "argument_names": [ + "index_name" + ], + "arguments": [ + { + "names": [ + "index_name" + ], + "description": "Filter results for an index with a specific name.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "The name of the index", + "skip_type_check": false, + "key_name": "name", + "condition": "", + "inner": [ + { + "type": "boolean", + "optional": false, + "description": "Whether the index is synced or not", + "skip_type_check": false, + "key_name": "synced", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The block height to which the index is synced", + "skip_type_check": false, + "key_name": "best_block_height", + "condition": "" + } + ] + } + ] + } + ] + }, + "getmemoryinfo": { + "category": "control", + "description": "Returns an object containing information about memory usage.\n", + "examples": "> bitcoin-cli getmemoryinfo \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getmemoryinfo\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getmemoryinfo", + "argument_names": [ + "mode" + ], + "arguments": [ + { + "names": [ + "mode" + ], + "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).", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": "stats", + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "mode \"stats\"", + "inner": [ + { + "type": "object", + "optional": false, + "description": "Information about locked memory manager", + "skip_type_check": false, + "key_name": "locked", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "Number of bytes used", + "skip_type_check": false, + "key_name": "used", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "Number of bytes available in current arenas", + "skip_type_check": false, + "key_name": "free", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "Total number of bytes managed", + "skip_type_check": false, + "key_name": "total", + "condition": "" + }, + { + "type": "number", + "optional": false, + "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.", + "skip_type_check": false, + "key_name": "locked", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "Number allocated chunks", + "skip_type_check": false, + "key_name": "chunks_used", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "Number unused chunks", + "skip_type_check": false, + "key_name": "chunks_free", + "condition": "" + } + ] + } + ] + }, + { + "type": "string", + "optional": false, + "description": "\"...\"", + "skip_type_check": false, + "key_name": "", + "condition": "mode \"mallocinfo\"" + } + ] + }, + "getmempoolancestors": { + "category": "blockchain", + "description": "\nIf txid is in the mempool, returns all in-mempool ancestors.\n", + "examples": "> bitcoin-cli getmempoolancestors \"mytxid\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getmempoolancestors\", \"params\": [\"mytxid\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getmempoolancestors", + "argument_names": [ + "txid", + "verbose" + ], + "arguments": [ + { + "names": [ + "txid" + ], + "description": "The transaction id (must be in mempool)", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + }, + { + "names": [ + "verbose" + ], + "description": "True for a json object, false for array of transaction ids", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": false, + "hidden": false, + "type": "boolean" + } + ], + "results": [ + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "for verbose = false", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "The transaction id of an in-mempool ancestor transaction", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "for verbose = true", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "transactionid", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "virtual transaction size as defined in BIP 141. This is different from actual serialized size for witness transactions as witness data is discounted.", + "skip_type_check": false, + "key_name": "vsize", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "transaction weight as defined in BIP 141.", + "skip_type_check": false, + "key_name": "weight", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "local time transaction entered pool in seconds since 1 Jan 1970 GMT", + "skip_type_check": false, + "key_name": "time", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "block height when transaction entered pool", + "skip_type_check": false, + "key_name": "height", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "number of in-mempool descendant transactions (including this one)", + "skip_type_check": false, + "key_name": "descendantcount", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "virtual transaction size of in-mempool descendants (including this one)", + "skip_type_check": false, + "key_name": "descendantsize", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "number of in-mempool ancestor transactions (including this one)", + "skip_type_check": false, + "key_name": "ancestorcount", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "virtual transaction size of in-mempool ancestors (including this one)", + "skip_type_check": false, + "key_name": "ancestorsize", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "hash of serialized transaction, including witness data", + "skip_type_check": false, + "key_name": "wtxid", + "condition": "" + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "fees", + "condition": "", + "inner": [ + { + "type": "amount", + "optional": false, + "description": "transaction fee, denominated in BTC", + "skip_type_check": false, + "key_name": "base", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "transaction fee with fee deltas used for mining priority, denominated in BTC", + "skip_type_check": false, + "key_name": "modified", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "transaction fees of in-mempool ancestors (including this one) with fee deltas used for mining priority, denominated in BTC", + "skip_type_check": false, + "key_name": "ancestor", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "transaction fees of in-mempool descendants (including this one) with fee deltas used for mining priority, denominated in BTC", + "skip_type_check": false, + "key_name": "descendant", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": false, + "description": "unconfirmed transactions used as inputs for this transaction", + "skip_type_check": false, + "key_name": "depends", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "parent transaction id", + "skip_type_check": false, + "key_name": "transactionid", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": false, + "description": "unconfirmed transactions spending outputs from this transaction", + "skip_type_check": false, + "key_name": "spentby", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "child transaction id", + "skip_type_check": false, + "key_name": "transactionid", + "condition": "" + } + ] + }, + { + "type": "boolean", + "optional": false, + "description": "Whether this transaction signals BIP125 replaceability or has an unconfirmed ancestor signaling BIP125 replaceability. (DEPRECATED)\n", + "skip_type_check": false, + "key_name": "bip125-replaceable", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "Whether this transaction is currently unbroadcast (initial broadcast not yet acknowledged by any peers)", + "skip_type_check": false, + "key_name": "unbroadcast", + "condition": "" + } + ] + } + ] + } + ] + }, + "getmempooldescendants": { + "category": "blockchain", + "description": "\nIf txid is in the mempool, returns all in-mempool descendants.\n", + "examples": "> bitcoin-cli getmempooldescendants \"mytxid\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getmempooldescendants\", \"params\": [\"mytxid\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getmempooldescendants", + "argument_names": [ + "txid", + "verbose" + ], + "arguments": [ + { + "names": [ + "txid" + ], + "description": "The transaction id (must be in mempool)", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + }, + { + "names": [ + "verbose" + ], + "description": "True for a json object, false for array of transaction ids", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": false, + "hidden": false, + "type": "boolean" + } + ], + "results": [ + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "for verbose = false", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "The transaction id of an in-mempool descendant transaction", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "for verbose = true", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "transactionid", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "virtual transaction size as defined in BIP 141. This is different from actual serialized size for witness transactions as witness data is discounted.", + "skip_type_check": false, + "key_name": "vsize", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "transaction weight as defined in BIP 141.", + "skip_type_check": false, + "key_name": "weight", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "local time transaction entered pool in seconds since 1 Jan 1970 GMT", + "skip_type_check": false, + "key_name": "time", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "block height when transaction entered pool", + "skip_type_check": false, + "key_name": "height", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "number of in-mempool descendant transactions (including this one)", + "skip_type_check": false, + "key_name": "descendantcount", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "virtual transaction size of in-mempool descendants (including this one)", + "skip_type_check": false, + "key_name": "descendantsize", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "number of in-mempool ancestor transactions (including this one)", + "skip_type_check": false, + "key_name": "ancestorcount", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "virtual transaction size of in-mempool ancestors (including this one)", + "skip_type_check": false, + "key_name": "ancestorsize", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "hash of serialized transaction, including witness data", + "skip_type_check": false, + "key_name": "wtxid", + "condition": "" + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "fees", + "condition": "", + "inner": [ + { + "type": "amount", + "optional": false, + "description": "transaction fee, denominated in BTC", + "skip_type_check": false, + "key_name": "base", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "transaction fee with fee deltas used for mining priority, denominated in BTC", + "skip_type_check": false, + "key_name": "modified", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "transaction fees of in-mempool ancestors (including this one) with fee deltas used for mining priority, denominated in BTC", + "skip_type_check": false, + "key_name": "ancestor", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "transaction fees of in-mempool descendants (including this one) with fee deltas used for mining priority, denominated in BTC", + "skip_type_check": false, + "key_name": "descendant", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": false, + "description": "unconfirmed transactions used as inputs for this transaction", + "skip_type_check": false, + "key_name": "depends", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "parent transaction id", + "skip_type_check": false, + "key_name": "transactionid", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": false, + "description": "unconfirmed transactions spending outputs from this transaction", + "skip_type_check": false, + "key_name": "spentby", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "child transaction id", + "skip_type_check": false, + "key_name": "transactionid", + "condition": "" + } + ] + }, + { + "type": "boolean", + "optional": false, + "description": "Whether this transaction signals BIP125 replaceability or has an unconfirmed ancestor signaling BIP125 replaceability. (DEPRECATED)\n", + "skip_type_check": false, + "key_name": "bip125-replaceable", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "Whether this transaction is currently unbroadcast (initial broadcast not yet acknowledged by any peers)", + "skip_type_check": false, + "key_name": "unbroadcast", + "condition": "" + } + ] + } + ] + } + ] + }, + "getmempoolentry": { + "category": "blockchain", + "description": "\nReturns mempool data for given transaction\n", + "examples": "> bitcoin-cli getmempoolentry \"mytxid\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getmempoolentry\", \"params\": [\"mytxid\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getmempoolentry", + "argument_names": [ + "txid" + ], + "arguments": [ + { + "names": [ + "txid" + ], + "description": "The transaction id (must be in mempool)", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + } + ], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "virtual transaction size as defined in BIP 141. This is different from actual serialized size for witness transactions as witness data is discounted.", + "skip_type_check": false, + "key_name": "vsize", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "transaction weight as defined in BIP 141.", + "skip_type_check": false, + "key_name": "weight", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "local time transaction entered pool in seconds since 1 Jan 1970 GMT", + "skip_type_check": false, + "key_name": "time", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "block height when transaction entered pool", + "skip_type_check": false, + "key_name": "height", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "number of in-mempool descendant transactions (including this one)", + "skip_type_check": false, + "key_name": "descendantcount", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "virtual transaction size of in-mempool descendants (including this one)", + "skip_type_check": false, + "key_name": "descendantsize", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "number of in-mempool ancestor transactions (including this one)", + "skip_type_check": false, + "key_name": "ancestorcount", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "virtual transaction size of in-mempool ancestors (including this one)", + "skip_type_check": false, + "key_name": "ancestorsize", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "hash of serialized transaction, including witness data", + "skip_type_check": false, + "key_name": "wtxid", + "condition": "" + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "fees", + "condition": "", + "inner": [ + { + "type": "amount", + "optional": false, + "description": "transaction fee, denominated in BTC", + "skip_type_check": false, + "key_name": "base", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "transaction fee with fee deltas used for mining priority, denominated in BTC", + "skip_type_check": false, + "key_name": "modified", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "transaction fees of in-mempool ancestors (including this one) with fee deltas used for mining priority, denominated in BTC", + "skip_type_check": false, + "key_name": "ancestor", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "transaction fees of in-mempool descendants (including this one) with fee deltas used for mining priority, denominated in BTC", + "skip_type_check": false, + "key_name": "descendant", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": false, + "description": "unconfirmed transactions used as inputs for this transaction", + "skip_type_check": false, + "key_name": "depends", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "parent transaction id", + "skip_type_check": false, + "key_name": "transactionid", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": false, + "description": "unconfirmed transactions spending outputs from this transaction", + "skip_type_check": false, + "key_name": "spentby", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "child transaction id", + "skip_type_check": false, + "key_name": "transactionid", + "condition": "" + } + ] + }, + { + "type": "boolean", + "optional": false, + "description": "Whether this transaction signals BIP125 replaceability or has an unconfirmed ancestor signaling BIP125 replaceability. (DEPRECATED)\n", + "skip_type_check": false, + "key_name": "bip125-replaceable", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "Whether this transaction is currently unbroadcast (initial broadcast not yet acknowledged by any peers)", + "skip_type_check": false, + "key_name": "unbroadcast", + "condition": "" + } + ] + } + ] + }, + "getmempoolinfo": { + "category": "blockchain", + "description": "Returns details on the active state of the TX memory pool.", + "examples": "> bitcoin-cli getmempoolinfo \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getmempoolinfo\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getmempoolinfo", + "argument_names": [], + "arguments": [], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "boolean", + "optional": false, + "description": "True if the initial load attempt of the persisted mempool finished", + "skip_type_check": false, + "key_name": "loaded", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "Current tx count", + "skip_type_check": false, + "key_name": "size", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "Sum of all virtual transaction sizes as defined in BIP 141. Differs from actual serialized size because witness data is discounted", + "skip_type_check": false, + "key_name": "bytes", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "Total memory usage for the mempool", + "skip_type_check": false, + "key_name": "usage", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "Total fees for the mempool in BTC, ignoring modified fees through prioritisetransaction", + "skip_type_check": false, + "key_name": "total_fee", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "Maximum memory usage for the mempool", + "skip_type_check": false, + "key_name": "maxmempool", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "Minimum fee rate in BTC/kvB for tx to be accepted. Is the maximum of minrelaytxfee and minimum mempool fee", + "skip_type_check": false, + "key_name": "mempoolminfee", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "Current minimum relay fee for transactions", + "skip_type_check": false, + "key_name": "minrelaytxfee", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "minimum fee rate increment for mempool limiting or replacement in BTC/kvB", + "skip_type_check": false, + "key_name": "incrementalrelayfee", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "Current number of transactions that haven't passed initial broadcast yet", + "skip_type_check": false, + "key_name": "unbroadcastcount", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "True if the mempool accepts RBF without replaceability signaling inspection (DEPRECATED)", + "skip_type_check": false, + "key_name": "fullrbf", + "condition": "" + } + ] + } + ] + }, + "getmininginfo": { + "category": "mining", + "description": "\nReturns a json object containing mining-related information.", + "examples": "> bitcoin-cli getmininginfo \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getmininginfo\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getmininginfo", + "argument_names": [], + "arguments": [], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "The current block", + "skip_type_check": false, + "key_name": "blocks", + "condition": "" + }, + { + "type": "number", + "optional": true, + "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)", + "skip_type_check": false, + "key_name": "currentblockweight", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The number of block transactions (excluding coinbase) of the last assembled block (only present if a block was ever assembled)", + "skip_type_check": false, + "key_name": "currentblocktx", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The current nBits, compact representation of the block difficulty target", + "skip_type_check": false, + "key_name": "bits", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The current difficulty", + "skip_type_check": false, + "key_name": "difficulty", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The current target", + "skip_type_check": false, + "key_name": "target", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The network hashes per second", + "skip_type_check": false, + "key_name": "networkhashps", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The size of the mempool", + "skip_type_check": false, + "key_name": "pooledtx", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "current network name (main, test, testnet4, signet, regtest)", + "skip_type_check": false, + "key_name": "chain", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "The block challenge (aka. block script), in hexadecimal (only present if the current network is a signet)", + "skip_type_check": false, + "key_name": "signet_challenge", + "condition": "" + }, + { + "type": "object", + "optional": false, + "description": "The next block", + "skip_type_check": false, + "key_name": "next", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "The next height", + "skip_type_check": false, + "key_name": "height", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The next target nBits", + "skip_type_check": false, + "key_name": "bits", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The next difficulty", + "skip_type_check": false, + "key_name": "difficulty", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The next target", + "skip_type_check": false, + "key_name": "target", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": false, + "description": "any network and blockchain warnings (run with `-deprecatedrpc=warnings` to return the latest warning as a single string)", + "skip_type_check": false, + "key_name": "warnings", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "warning", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + } + ] + } + ] + }, + "getnettotals": { + "category": "network", + "description": "Returns information about network traffic, including bytes in, bytes out,\nand current system time.", + "examples": "> bitcoin-cli getnettotals \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getnettotals\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getnettotals", + "argument_names": [], + "arguments": [], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "Total bytes received", + "skip_type_check": false, + "key_name": "totalbytesrecv", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "Total bytes sent", + "skip_type_check": false, + "key_name": "totalbytessent", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "Current system UNIX epoch time in milliseconds", + "skip_type_check": false, + "key_name": "timemillis", + "condition": "" + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "uploadtarget", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "Length of the measuring timeframe in seconds", + "skip_type_check": false, + "key_name": "timeframe", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "Target in bytes", + "skip_type_check": false, + "key_name": "target", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "True if target is reached", + "skip_type_check": false, + "key_name": "target_reached", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "True if serving historical blocks", + "skip_type_check": false, + "key_name": "serve_historical_blocks", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "Bytes left in current time cycle", + "skip_type_check": false, + "key_name": "bytes_left_in_cycle", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "Seconds left in current time cycle", + "skip_type_check": false, + "key_name": "time_left_in_cycle", + "condition": "" + } + ] + } + ] + } + ] + }, + "getnetworkhashps": { + "category": "mining", + "description": "\nReturns 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.\n", + "examples": "> bitcoin-cli getnetworkhashps \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getnetworkhashps\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getnetworkhashps", + "argument_names": [ + "nblocks", + "height" + ], + "arguments": [ + { + "names": [ + "nblocks" + ], + "description": "The number of previous blocks to calculate estimate from, or -1 for blocks since last difficulty change.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": 120, + "hidden": false, + "type": "number" + }, + { + "names": [ + "height" + ], + "description": "To estimate at the time of the given height.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": -1, + "hidden": false, + "type": "number" + } + ], + "results": [ + { + "type": "number", + "optional": false, + "description": "Hashes per second estimated", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + "getnetworkinfo": { + "category": "network", + "description": "Returns an object containing various state info regarding P2P networking.\n", + "examples": "> bitcoin-cli getnetworkinfo \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getnetworkinfo\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getnetworkinfo", + "argument_names": [], + "arguments": [], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "the server version", + "skip_type_check": false, + "key_name": "version", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "the server subversion string", + "skip_type_check": false, + "key_name": "subversion", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "the protocol version", + "skip_type_check": false, + "key_name": "protocolversion", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "the services we offer to the network", + "skip_type_check": false, + "key_name": "localservices", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "the services we offer to the network, in human-readable form", + "skip_type_check": false, + "key_name": "localservicesnames", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "the service name", + "skip_type_check": false, + "key_name": "SERVICE_NAME", + "condition": "" + } + ] + }, + { + "type": "boolean", + "optional": false, + "description": "true if transaction relay is requested from peers", + "skip_type_check": false, + "key_name": "localrelay", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "the time offset", + "skip_type_check": false, + "key_name": "timeoffset", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "the total number of connections", + "skip_type_check": false, + "key_name": "connections", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "the number of inbound connections", + "skip_type_check": false, + "key_name": "connections_in", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "the number of outbound connections", + "skip_type_check": false, + "key_name": "connections_out", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "whether p2p networking is enabled", + "skip_type_check": false, + "key_name": "networkactive", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "information per network", + "skip_type_check": false, + "key_name": "networks", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "network (ipv4, ipv6, onion, i2p, cjdns)", + "skip_type_check": false, + "key_name": "name", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "is the network limited using -onlynet?", + "skip_type_check": false, + "key_name": "limited", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "is the network reachable?", + "skip_type_check": false, + "key_name": "reachable", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "(\"host:port\") the proxy that is used for this network, or empty if none", + "skip_type_check": false, + "key_name": "proxy", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "Whether randomized credentials are used", + "skip_type_check": false, + "key_name": "proxy_randomize_credentials", + "condition": "" + } + ] + } + ] + }, + { + "type": "number", + "optional": false, + "description": "minimum relay fee rate for transactions in BTC/kvB", + "skip_type_check": false, + "key_name": "relayfee", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "minimum fee rate increment for mempool limiting or replacement in BTC/kvB", + "skip_type_check": false, + "key_name": "incrementalfee", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "list of local addresses", + "skip_type_check": false, + "key_name": "localaddresses", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "network address", + "skip_type_check": false, + "key_name": "address", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "network port", + "skip_type_check": false, + "key_name": "port", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "relative score", + "skip_type_check": false, + "key_name": "score", + "condition": "" + } + ] + } + ] + }, + { + "type": "array", + "optional": false, + "description": "any network and blockchain warnings (run with `-deprecatedrpc=warnings` to return the latest warning as a single string)", + "skip_type_check": false, + "key_name": "warnings", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "warning", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + } + ] + } + ] + }, + "getnewaddress": { + "category": "wallet", + "description": "\nReturns 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'.\n", + "examples": "> bitcoin-cli getnewaddress \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getnewaddress\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getnewaddress", + "argument_names": [ + "label", + "address_type" + ], + "arguments": [ + { + "names": [ + "label" + ], + "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.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": "", + "hidden": false, + "type": "string" + }, + { + "names": [ + "address_type" + ], + "description": "The address type to use. Options are \"legacy\", \"p2sh-segwit\", \"bech32\", and \"bech32m\".", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "set by -addresstype", + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "string", + "optional": false, + "description": "The new bitcoin address", + "skip_type_check": false, + "key_name": "address", + "condition": "" + } + ] + }, + "getnodeaddresses": { + "category": "network", + "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.", + "examples": "> bitcoin-cli getnodeaddresses 8\n> bitcoin-cli getnodeaddresses 4 \"i2p\"\n> bitcoin-cli -named getnodeaddresses network=onion count=12\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getnodeaddresses\", \"params\": [8]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getnodeaddresses\", \"params\": [4, \"i2p\"]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getnodeaddresses", + "argument_names": [ + "count", + "network" + ], + "arguments": [ + { + "names": [ + "count" + ], + "description": "The maximum number of addresses to return. Specify 0 to return all known addresses.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": 1, + "hidden": false, + "type": "number" + }, + { + "names": [ + "network" + ], + "description": "Return only addresses of the specified network. Can be one of: ipv4, ipv6, onion, i2p, cjdns.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "all networks", + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "timestamp", + "optional": false, + "description": "The UNIX epoch time when the node was last seen", + "skip_type_check": false, + "key_name": "time", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The services offered by the node", + "skip_type_check": false, + "key_name": "services", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The address of the node", + "skip_type_check": false, + "key_name": "address", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The port number of the node", + "skip_type_check": false, + "key_name": "port", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The network (ipv4, ipv6, onion, i2p, cjdns) the node connected through", + "skip_type_check": false, + "key_name": "network", + "condition": "" + } + ] + } + ] + } + ] + }, + "getorphantxs": { + "category": "hidden", + "description": "\nShows transactions in the tx orphanage.\n\nEXPERIMENTAL warning: this call may be changed in future releases.\n", + "examples": "> bitcoin-cli getorphantxs 2\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getorphantxs\", \"params\": [2]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getorphantxs", + "argument_names": [ + "verbosity" + ], + "arguments": [ + { + "names": [ + "verbosity" + ], + "description": "0 for an array of txids (may contain duplicates), 1 for an array of objects with tx details, and 2 for details from (1) and tx hex", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": 0, + "hidden": false, + "type": "number" + } + ], + "results": [ + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "for verbose = 0", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "The transaction hash in hex", + "skip_type_check": false, + "key_name": "txid", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "for verbose = 1", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "The transaction hash in hex", + "skip_type_check": false, + "key_name": "txid", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The transaction witness hash in hex", + "skip_type_check": false, + "key_name": "wtxid", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The serialized transaction size in bytes", + "skip_type_check": false, + "key_name": "bytes", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The virtual transaction size as defined in BIP 141. This is different from actual serialized size for witness transactions as witness data is discounted.", + "skip_type_check": false, + "key_name": "vsize", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The transaction weight as defined in BIP 141.", + "skip_type_check": false, + "key_name": "weight", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "The entry time into the orphanage expressed in UNIX epoch time", + "skip_type_check": false, + "key_name": "entry", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "The orphan expiration time expressed in UNIX epoch time", + "skip_type_check": false, + "key_name": "expiration", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "from", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "Peer ID", + "skip_type_check": false, + "key_name": "peer_id", + "condition": "" + } + ] + } + ] + } + ] + }, + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "for verbose = 2", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "The transaction hash in hex", + "skip_type_check": false, + "key_name": "txid", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The transaction witness hash in hex", + "skip_type_check": false, + "key_name": "wtxid", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The serialized transaction size in bytes", + "skip_type_check": false, + "key_name": "bytes", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The virtual transaction size as defined in BIP 141. This is different from actual serialized size for witness transactions as witness data is discounted.", + "skip_type_check": false, + "key_name": "vsize", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The transaction weight as defined in BIP 141.", + "skip_type_check": false, + "key_name": "weight", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "The entry time into the orphanage expressed in UNIX epoch time", + "skip_type_check": false, + "key_name": "entry", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "The orphan expiration time expressed in UNIX epoch time", + "skip_type_check": false, + "key_name": "expiration", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "from", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "Peer ID", + "skip_type_check": false, + "key_name": "peer_id", + "condition": "" + } + ] + }, + { + "type": "hex", + "optional": false, + "description": "The serialized, hex-encoded transaction data", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + } + ] + } + ] + } + ] + }, + "getpeerinfo": { + "category": "network", + "description": "Returns data about each connected network peer as a json array of objects.", + "examples": "> bitcoin-cli getpeerinfo \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getpeerinfo\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getpeerinfo", + "argument_names": [], + "arguments": [], + "results": [ + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "Peer index", + "skip_type_check": false, + "key_name": "id", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "(host:port) The IP address and port of the peer", + "skip_type_check": false, + "key_name": "addr", + "condition": "" + }, + { + "type": "string", + "optional": true, + "description": "(ip:port) Bind address of the connection to the peer", + "skip_type_check": false, + "key_name": "addrbind", + "condition": "" + }, + { + "type": "string", + "optional": true, + "description": "(ip:port) Local address as reported by the peer", + "skip_type_check": false, + "key_name": "addrlocal", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "Network (ipv4, ipv6, onion, i2p, cjdns, not_publicly_routable)", + "skip_type_check": false, + "key_name": "network", + "condition": "" + }, + { + "type": "number", + "optional": true, + "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)", + "skip_type_check": false, + "key_name": "mapped_as", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The services offered", + "skip_type_check": false, + "key_name": "services", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "the services offered, in human-readable form", + "skip_type_check": false, + "key_name": "servicesnames", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "the service name if it is recognised", + "skip_type_check": false, + "key_name": "SERVICE_NAME", + "condition": "" + } + ] + }, + { + "type": "boolean", + "optional": false, + "description": "Whether we relay transactions to this peer", + "skip_type_check": false, + "key_name": "relaytxes", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "The UNIX epoch time of the last send", + "skip_type_check": false, + "key_name": "lastsend", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "The UNIX epoch time of the last receive", + "skip_type_check": false, + "key_name": "lastrecv", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "The UNIX epoch time of the last valid transaction received from this peer", + "skip_type_check": false, + "key_name": "last_transaction", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "The UNIX epoch time of the last block received from this peer", + "skip_type_check": false, + "key_name": "last_block", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The total bytes sent", + "skip_type_check": false, + "key_name": "bytessent", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The total bytes received", + "skip_type_check": false, + "key_name": "bytesrecv", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "The UNIX epoch time of the connection", + "skip_type_check": false, + "key_name": "conntime", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The time offset in seconds", + "skip_type_check": false, + "key_name": "timeoffset", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The last ping time in milliseconds (ms), if any", + "skip_type_check": false, + "key_name": "pingtime", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The minimum observed ping time in milliseconds (ms), if any", + "skip_type_check": false, + "key_name": "minping", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The duration in milliseconds (ms) of an outstanding ping (if non-zero)", + "skip_type_check": false, + "key_name": "pingwait", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The peer version, such as 70001", + "skip_type_check": false, + "key_name": "version", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The string version", + "skip_type_check": false, + "key_name": "subver", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "Inbound (true) or Outbound (false)", + "skip_type_check": false, + "key_name": "inbound", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "Whether we selected peer as (compact blocks) high-bandwidth peer", + "skip_type_check": false, + "key_name": "bip152_hb_to", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "Whether peer selected us as (compact blocks) high-bandwidth peer", + "skip_type_check": false, + "key_name": "bip152_hb_from", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The starting height (block) of the peer", + "skip_type_check": false, + "key_name": "startingheight", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The current height of header pre-synchronization with this peer, or -1 if no low-work sync is in progress", + "skip_type_check": false, + "key_name": "presynced_headers", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The last header we have in common with this peer", + "skip_type_check": false, + "key_name": "synced_headers", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The last block we have in common with this peer", + "skip_type_check": false, + "key_name": "synced_blocks", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "inflight", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "The heights of blocks we're currently asking from this peer", + "skip_type_check": false, + "key_name": "n", + "condition": "" + } + ] + }, + { + "type": "boolean", + "optional": false, + "description": "Whether we participate in address relay with this peer", + "skip_type_check": false, + "key_name": "addr_relay_enabled", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The total number of addresses processed, excluding those dropped due to rate limiting", + "skip_type_check": false, + "key_name": "addr_processed", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The total number of addresses dropped due to rate limiting", + "skip_type_check": false, + "key_name": "addr_rate_limited", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "Any special permissions that have been granted to this peer", + "skip_type_check": false, + "key_name": "permissions", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "bloomfilter (allow requesting BIP37 filtered blocks and transactions),\nnoban (do not ban for misbehavior; implies download),\nforcerelay (relay transactions that are already in the mempool; implies relay),\nrelay (relay even in -blocksonly mode, and unlimited transaction announcements),\nmempool (allow requesting BIP35 mempool contents),\ndownload (allow getheaders during IBD, no disconnect after maxuploadtarget limit),\naddr (responses to GETADDR avoid hitting the cache and contain random records with the most up-to-date info).\n", + "skip_type_check": false, + "key_name": "permission_type", + "condition": "" + } + ] + }, + { + "type": "number", + "optional": false, + "description": "The minimum fee rate for transactions this peer accepts", + "skip_type_check": false, + "key_name": "minfeefilter", + "condition": "" + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "bytessent_per_msg", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "The total bytes sent aggregated by message type\nWhen a message type is not listed in this json object, the bytes sent are 0.\nOnly known message types can appear as keys in the object.", + "skip_type_check": false, + "key_name": "msg", + "condition": "" + } + ] + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "bytesrecv_per_msg", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "The total bytes received aggregated by message type\nWhen a message type is not listed in this json object, the bytes received are 0.\nOnly known message types can appear as keys in the object and all bytes received\nof unknown message types are listed under '*other*'.", + "skip_type_check": false, + "key_name": "msg", + "condition": "" + } + ] + }, + { + "type": "string", + "optional": false, + "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).\nPlease note this output is unlikely to be stable in upcoming releases as we iterate to\nbest capture connection behaviors.", + "skip_type_check": false, + "key_name": "connection_type", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "Type of transport protocol: \ndetecting (peer could be v1 or v2),\nv1 (plaintext transport protocol),\nv2 (BIP324 encrypted transport protocol).\n", + "skip_type_check": false, + "key_name": "transport_protocol_type", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The session ID for this connection, or \"\" if there is none (\"v2\" transport protocol only).\n", + "skip_type_check": false, + "key_name": "session_id", + "condition": "" + } + ] + } + ] + } + ] + }, + "getprioritisedtransactions": { + "category": "mining", + "description": "Returns a map of all user-created (see prioritisetransaction) fee deltas by txid, and whether the tx is present in mempool.", + "examples": "> bitcoin-cli getprioritisedtransactions \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getprioritisedtransactions\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getprioritisedtransactions", + "argument_names": [], + "arguments": [], + "results": [ + { + "type": "object", + "optional": false, + "description": "prioritisation keyed by txid", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "transaction fee delta in satoshis", + "skip_type_check": false, + "key_name": "fee_delta", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "whether this transaction is currently in mempool", + "skip_type_check": false, + "key_name": "in_mempool", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "modified fee in satoshis. Only returned if in_mempool=true", + "skip_type_check": false, + "key_name": "modified_fee", + "condition": "" + } + ] + } + ] + } + ] + }, + "getrawaddrman": { + "category": "hidden", + "description": "EXPERIMENTAL warning: this call may be changed in future releases.\n\nReturns information on all address manager entries for the new and tried tables.\n", + "examples": "> bitcoin-cli getrawaddrman \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getrawaddrman\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getrawaddrman", + "argument_names": [], + "arguments": [], + "results": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "buckets with addresses in the address manager table ( new, tried )", + "skip_type_check": false, + "key_name": "table", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "the location in the address manager table (/)", + "skip_type_check": false, + "key_name": "bucket/position", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "The address of the node", + "skip_type_check": false, + "key_name": "address", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "Mapped AS (Autonomous System) number at the end of the BGP route to the peer, used for diversifying peer selection (only displayed if the -asmap config option is set)", + "skip_type_check": false, + "key_name": "mapped_as", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The port number of the node", + "skip_type_check": false, + "key_name": "port", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The network (ipv4, ipv6, onion, i2p, cjdns) of the address", + "skip_type_check": false, + "key_name": "network", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The services offered by the node", + "skip_type_check": false, + "key_name": "services", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "The UNIX epoch time when the node was last seen", + "skip_type_check": false, + "key_name": "time", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The address that relayed the address to us", + "skip_type_check": false, + "key_name": "source", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The network (ipv4, ipv6, onion, i2p, cjdns) of the source address", + "skip_type_check": false, + "key_name": "source_network", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "Mapped AS (Autonomous System) number at the end of the BGP route to the source, used for diversifying peer selection (only displayed if the -asmap config option is set)", + "skip_type_check": false, + "key_name": "source_mapped_as", + "condition": "" + } + ] + } + ] + } + ] + } + ] + }, + "getrawchangeaddress": { + "category": "wallet", + "description": "\nReturns a new Bitcoin address, for receiving change.\nThis is for use with raw transactions, NOT normal use.\n", + "examples": "> bitcoin-cli getrawchangeaddress \n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getrawchangeaddress\", \"params\": []}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getrawchangeaddress", + "argument_names": [ + "address_type" + ], + "arguments": [ + { + "names": [ + "address_type" + ], + "description": "The address type to use. Options are \"legacy\", \"p2sh-segwit\", \"bech32\", and \"bech32m\".", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default_hint": "set by -changetype", + "hidden": false, + "type": "string" + } + ], + "results": [ + { + "type": "string", + "optional": false, + "description": "The address", + "skip_type_check": false, + "key_name": "address", + "condition": "" + } + ] + }, + "getrawmempool": { + "category": "blockchain", + "description": "\nReturns 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.\n", + "examples": "> bitcoin-cli getrawmempool true\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getrawmempool\", \"params\": [true]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getrawmempool", + "argument_names": [ + "verbose", + "mempool_sequence" + ], + "arguments": [ + { + "names": [ + "verbose" + ], + "description": "True for a json object, false for array of transaction ids", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": false, + "hidden": false, + "type": "boolean" + }, + { + "names": [ + "mempool_sequence" + ], + "description": "If verbose=false, returns a json object with transaction list and mempool sequence number attached.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": false, + "hidden": false, + "type": "boolean" + } + ], + "results": [ + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "for verbose = false", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "The transaction id", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "for verbose = true", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "transactionid", + "condition": "", + "inner": [ + { + "type": "number", + "optional": false, + "description": "virtual transaction size as defined in BIP 141. This is different from actual serialized size for witness transactions as witness data is discounted.", + "skip_type_check": false, + "key_name": "vsize", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "transaction weight as defined in BIP 141.", + "skip_type_check": false, + "key_name": "weight", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "local time transaction entered pool in seconds since 1 Jan 1970 GMT", + "skip_type_check": false, + "key_name": "time", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "block height when transaction entered pool", + "skip_type_check": false, + "key_name": "height", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "number of in-mempool descendant transactions (including this one)", + "skip_type_check": false, + "key_name": "descendantcount", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "virtual transaction size of in-mempool descendants (including this one)", + "skip_type_check": false, + "key_name": "descendantsize", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "number of in-mempool ancestor transactions (including this one)", + "skip_type_check": false, + "key_name": "ancestorcount", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "virtual transaction size of in-mempool ancestors (including this one)", + "skip_type_check": false, + "key_name": "ancestorsize", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "hash of serialized transaction, including witness data", + "skip_type_check": false, + "key_name": "wtxid", + "condition": "" + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "fees", + "condition": "", + "inner": [ + { + "type": "amount", + "optional": false, + "description": "transaction fee, denominated in BTC", + "skip_type_check": false, + "key_name": "base", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "transaction fee with fee deltas used for mining priority, denominated in BTC", + "skip_type_check": false, + "key_name": "modified", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "transaction fees of in-mempool ancestors (including this one) with fee deltas used for mining priority, denominated in BTC", + "skip_type_check": false, + "key_name": "ancestor", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "transaction fees of in-mempool descendants (including this one) with fee deltas used for mining priority, denominated in BTC", + "skip_type_check": false, + "key_name": "descendant", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": false, + "description": "unconfirmed transactions used as inputs for this transaction", + "skip_type_check": false, + "key_name": "depends", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "parent transaction id", + "skip_type_check": false, + "key_name": "transactionid", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": false, + "description": "unconfirmed transactions spending outputs from this transaction", + "skip_type_check": false, + "key_name": "spentby", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "child transaction id", + "skip_type_check": false, + "key_name": "transactionid", + "condition": "" + } + ] + }, + { + "type": "boolean", + "optional": false, + "description": "Whether this transaction signals BIP125 replaceability or has an unconfirmed ancestor signaling BIP125 replaceability. (DEPRECATED)\n", + "skip_type_check": false, + "key_name": "bip125-replaceable", + "condition": "" + }, + { + "type": "boolean", + "optional": false, + "description": "Whether this transaction is currently unbroadcast (initial broadcast not yet acknowledged by any peers)", + "skip_type_check": false, + "key_name": "unbroadcast", + "condition": "" + } + ] + } + ] + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "for verbose = false and mempool_sequence = true", + "inner": [ + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "txids", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "The transaction id", + "skip_type_check": false, + "key_name": "", + "condition": "" + } + ] + }, + { + "type": "number", + "optional": false, + "description": "The mempool sequence value.", + "skip_type_check": false, + "key_name": "mempool_sequence", + "condition": "" + } + ] + } + ] + }, + "getrawtransaction": { + "category": "rawtransactions", + "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.", + "examples": "> bitcoin-cli getrawtransaction \"mytxid\"\n> bitcoin-cli getrawtransaction \"mytxid\" 1\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getrawtransaction\", \"params\": [\"mytxid\", 1]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n> bitcoin-cli getrawtransaction \"mytxid\" 0 \"myblockhash\"\n> bitcoin-cli getrawtransaction \"mytxid\" 1 \"myblockhash\"\n> bitcoin-cli getrawtransaction \"mytxid\" 2 \"myblockhash\"\n", + "name": "getrawtransaction", + "argument_names": [ + "txid", + "verbosity|verbose", + "blockhash" + ], + "arguments": [ + { + "names": [ + "txid" + ], + "description": "The transaction id", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "hex" + }, + { + "names": [ + "verbosity", + "verbose" + ], + "description": "0 for hex-encoded data, 1 for a JSON object, and 2 for JSON object with fee and prevout", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": 0, + "hidden": false, + "type": "number" + }, + { + "names": [ + "blockhash" + ], + "description": "The block in which to look for the transaction", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "hidden": false, + "type": "hex" + } + ], + "results": [ + { + "type": "string", + "optional": false, + "description": "The serialized transaction as a hex-encoded string for 'txid'", + "skip_type_check": false, + "key_name": "data", + "condition": "if verbosity is not set or set to 0" + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "if verbosity is set to 1", + "inner": [ + { + "type": "boolean", + "optional": true, + "description": "Whether specified block is in the active chain or not (only present with explicit \"blockhash\" argument)", + "skip_type_check": false, + "key_name": "in_active_chain", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "the block hash", + "skip_type_check": false, + "key_name": "blockhash", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The confirmations", + "skip_type_check": false, + "key_name": "confirmations", + "condition": "" + }, + { + "type": "timestamp", + "optional": true, + "description": "The block time expressed in UNIX epoch time", + "skip_type_check": false, + "key_name": "blocktime", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "Same as \"blocktime\"", + "skip_type_check": false, + "key_name": "time", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The serialized, hex-encoded data for 'txid'", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The transaction id (same as provided)", + "skip_type_check": false, + "key_name": "txid", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The transaction hash (differs from txid for witness transactions)", + "skip_type_check": false, + "key_name": "hash", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The serialized transaction size", + "skip_type_check": false, + "key_name": "size", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The virtual transaction size (differs from size for witness transactions)", + "skip_type_check": false, + "key_name": "vsize", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The transaction's weight (between vsize*4-3 and vsize*4)", + "skip_type_check": false, + "key_name": "weight", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The version", + "skip_type_check": false, + "key_name": "version", + "condition": "" + }, + { + "type": "timestamp", + "optional": false, + "description": "The lock time", + "skip_type_check": false, + "key_name": "locktime", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "vin", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": true, + "description": "The coinbase value (only if coinbase transaction)", + "skip_type_check": false, + "key_name": "coinbase", + "condition": "" + }, + { + "type": "hex", + "optional": true, + "description": "The transaction id (if not coinbase transaction)", + "skip_type_check": false, + "key_name": "txid", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "The output number (if not coinbase transaction)", + "skip_type_check": false, + "key_name": "vout", + "condition": "" + }, + { + "type": "object", + "optional": true, + "description": "The script (if not coinbase transaction)", + "skip_type_check": false, + "key_name": "scriptSig", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Disassembly of the signature script", + "skip_type_check": false, + "key_name": "asm", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The raw signature script bytes, hex-encoded", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + } + ] + }, + { + "type": "array", + "optional": true, + "description": "", + "skip_type_check": false, + "key_name": "txinwitness", + "condition": "", + "inner": [ + { + "type": "hex", + "optional": false, + "description": "hex-encoded witness data (if any)", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + } + ] + }, + { + "type": "number", + "optional": false, + "description": "The script sequence number", + "skip_type_check": false, + "key_name": "sequence", + "condition": "" + } + ] + } + ] + }, + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "vout", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "amount", + "optional": false, + "description": "The value in BTC", + "skip_type_check": false, + "key_name": "value", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "index", + "skip_type_check": false, + "key_name": "n", + "condition": "" + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "scriptPubKey", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Disassembly of the output script", + "skip_type_check": false, + "key_name": "asm", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "Inferred descriptor for the output", + "skip_type_check": false, + "key_name": "desc", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The raw output script bytes, hex-encoded", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + }, + { + "type": "string", + "optional": true, + "description": "The Bitcoin address (only if a well-defined address exists)", + "skip_type_check": false, + "key_name": "address", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The type (one of: nonstandard, anchor, pubkey, pubkeyhash, scripthash, multisig, nulldata, witness_v0_scripthash, witness_v0_keyhash, witness_v1_taproot, witness_unknown)", + "skip_type_check": false, + "key_name": "type", + "condition": "" + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "", + "condition": "for verbosity = 2", + "inner": [ + { + "type": "elision", + "optional": false, + "description": "Same output as verbosity = 1", + "skip_type_check": false, + "key_name": "", + "condition": "" + }, + { + "type": "number", + "optional": true, + "description": "transaction fee in BTC, omitted if block undo data is not available", + "skip_type_check": false, + "key_name": "fee", + "condition": "" + }, + { + "type": "array", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "vin", + "condition": "", + "inner": [ + { + "type": "object", + "optional": false, + "description": "utxo being spent", + "skip_type_check": false, + "key_name": "", + "condition": "", + "inner": [ + { + "type": "elision", + "optional": false, + "description": "Same output as verbosity = 1", + "skip_type_check": false, + "key_name": "", + "condition": "" + }, + { + "type": "object", + "optional": true, + "description": "The previous output, omitted if block undo data is not available", + "skip_type_check": false, + "key_name": "prevout", + "condition": "", + "inner": [ + { + "type": "boolean", + "optional": false, + "description": "Coinbase or not", + "skip_type_check": false, + "key_name": "generated", + "condition": "" + }, + { + "type": "number", + "optional": false, + "description": "The height of the prevout", + "skip_type_check": false, + "key_name": "height", + "condition": "" + }, + { + "type": "amount", + "optional": false, + "description": "The value in BTC", + "skip_type_check": false, + "key_name": "value", + "condition": "" + }, + { + "type": "object", + "optional": false, + "description": "", + "skip_type_check": false, + "key_name": "scriptPubKey", + "condition": "", + "inner": [ + { + "type": "string", + "optional": false, + "description": "Disassembly of the output script", + "skip_type_check": false, + "key_name": "asm", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "Inferred descriptor for the output", + "skip_type_check": false, + "key_name": "desc", + "condition": "" + }, + { + "type": "hex", + "optional": false, + "description": "The raw output script bytes, hex-encoded", + "skip_type_check": false, + "key_name": "hex", + "condition": "" + }, + { + "type": "string", + "optional": true, + "description": "The Bitcoin address (only if a well-defined address exists)", + "skip_type_check": false, + "key_name": "address", + "condition": "" + }, + { + "type": "string", + "optional": false, + "description": "The type (one of: nonstandard, anchor, pubkey, pubkeyhash, scripthash, multisig, nulldata, witness_v0_scripthash, witness_v0_keyhash, witness_v1_taproot, witness_unknown)", + "skip_type_check": false, + "key_name": "type", + "condition": "" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + "getreceivedbyaddress": { + "category": "wallet", + "description": "\nReturns the total amount received by the given address in transactions with at least minconf confirmations.\n", + "examples": "\nThe amount from transactions with at least 1 confirmation\n> bitcoin-cli getreceivedbyaddress \"bc1q09vm5lfy0j5reeulh4x5752q25uqqvz34hufdl\"\n\nThe amount including unconfirmed transactions, zero confirmations\n> bitcoin-cli getreceivedbyaddress \"bc1q09vm5lfy0j5reeulh4x5752q25uqqvz34hufdl\" 0\n\nThe amount with at least 6 confirmations\n> bitcoin-cli getreceivedbyaddress \"bc1q09vm5lfy0j5reeulh4x5752q25uqqvz34hufdl\" 6\n\nThe amount with at least 6 confirmations including immature coinbase outputs\n> bitcoin-cli getreceivedbyaddress \"bc1q09vm5lfy0j5reeulh4x5752q25uqqvz34hufdl\" 6 true\n\nAs a JSON-RPC call\n> curl --user myusername --data-binary '{\"jsonrpc\": \"2.0\", \"id\": \"curltest\", \"method\": \"getreceivedbyaddress\", \"params\": [\"bc1q09vm5lfy0j5reeulh4x5752q25uqqvz34hufdl\", 6]}' -H 'content-type: application/json' http://127.0.0.1:8332/\n", + "name": "getreceivedbyaddress", + "argument_names": [ + "address", + "minconf", + "include_immature_coinbase" + ], + "arguments": [ + { + "names": [ + "address" + ], + "description": "The bitcoin address for transactions.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": true, + "hidden": false, + "type": "string" + }, + { + "names": [ + "minconf" + ], + "description": "Only include transactions confirmed at least this many times.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": 1, + "hidden": false, + "type": "number" + }, + { + "names": [ + "include_immature_coinbase" + ], + "description": "Include immature coinbase transactions.", + "oneline_description": "", + "also_positional": false, + "type_str": [], + "required": false, + "default": false, + "hidden": false, + "type": "boolean" + } + ], + "results": [ + { + "type": "amount", + "optional": false, + "description": "The total amount in BTC received at this address.", + "skip_type_check": false, + "key_name": "amount", + "condition": "" + } + ] + }, + "getreceivedbylabel": { + "category": "wallet", + "description": "\nReturns the total amount received by addresses with