Quick Reference#
Addressindex RPCs#
These RPCs are all Dash-specific and not found in Bitcoin Core
GetAddressBalance: returns the balance for address(es).
GetAddressDeltas: returns all changes for an address.
GetAddressMempool: returns all mempool deltas for an address.
GetAddressTxids: returns the txids for an address(es).
GetAddressUtxos: returns all unspent outputs for an address.
Blockchain RPCs#
GetBestBlockHash: returns the header hash of the most recent block on the best block chain.
DumpTxOutset: Write the serialized UTXO set to disk. New in Dash Core 18.1.0
GetBestChainLock: returns the block hash of the best chainlock. New in Dash Core 0.15.0
GetBlock: gets a block with a particular header hash from the local block database either as a JSON object or as a serialized block. Updated in Dash Core 20.0.0
GetBlockChainInfo: provides information about the current state of the block chain. Updated in Dash Core 20.1.0
GetBlockCount: returns the number of blocks in the local best block chain.
GetBlockFilter: retrieves a BIP157 content filter for a particular block. New in Dash Core 18.0.0
GetBlockHash: returns the header hash of a block at the given height in the local best block chain.
GetBlockHashes: returns array of hashes of blocks within the timestamp range provided (requires
timestampindex
to be enabled). New in Dash Core 0.12.1GetBlockHeader: gets a block header with a particular header hash from the local block database either as a JSON object or as a serialized block header. Updated in Dash Core 0.16.0
GetBlockHeaders: returns an array of items with information about the requested number of blockheaders starting from the requested hash. New in Dash Core 0.12.1
GetBlockStats: computes per block statistics for a given window. Updated in Dash Core 18.0.0
GetChainTips: returns information about the highest-height block (tip) of each local block chain. Updated in Dash Core 0.12.3
GetChainTxStats: compute statistics about the total number and rate of transactions in the chain. Updated in Dash Core 18.0.0
GetDifficulty: returns the proof-of-work difficulty as a multiple of the minimum difficulty.
GetMemPoolAncestors: returns all in-mempool ancestors for a transaction in the mempool. Updated in Dash Core 20.0.0
GetMemPoolDescendants: returns all in-mempool descendants for a transaction in the mempool. Updated in Dash Core 20.0.0
GetMemPoolEntry: returns mempool data for given transaction (must be in mempool). Updated in Dash Core 20.0.0
GetMemPoolInfo: returns information about the node’s current transaction memory pool. Updated in Dash Core 20.1.0
GetRawMemPool: returns all transaction identifiers (TXIDs) in the memory pool as a JSON array, or detailed information about each transaction in the memory pool as a JSON object. Updated in Dash Core 20.0.0
GetMerkleBlocks: returns an array of hex-encoded merkleblocks for
blocks starting from which match . New in Dash Core 0.15.0 GetSpecialTxes: returns an array of special transactions found in the specified block New in Dash Core 0.13.1
GetSpentInfo: returns the txid and index where an output is spent (requires
spentindex
to be enabled). New in Dash Core 0.12.1GetTxOut: returns details about an unspent transaction output (UTXO). Updated in Dash Core 0.15.0
GetTxOutProof: returns a hex-encoded proof that one or more specified transactions were included in a block.
GetTxOutSetInfo: returns statistics about the confirmed unspent transaction output (UTXO) set. Note that this call may take some time and that it only counts outputs from confirmed transactions—it does not count outputs from the memory pool. Updated in Dash Core 18.1.0
PreciousBlock: treats a block as if it were received before others with the same work. New in Dash Core 0.12.3
PruneBlockChain: prunes the blockchain up to a specified height or timestamp. New in Dash Core 0.12.3
SaveMemPool: dumps the mempool to disk. New in Dash Core 0.16.0
VerifyChain: verifies each entry in the local block chain database.
VerifyTxOutProof: verifies that a proof points to one or more transactions in a block, returning the transactions the proof commits to and throwing an RPC error if the block is not in our best block chain.
Control RPCs#
Debug: changes the debug category from the console. Updated in Dash Core 18.0.0
GetMemoryInfo: returns information about memory usage. Updated in Dash Core 0.15.0
GetRPCInfo: returns details about the RPC server. New in Dash Core 18.0.0
Help: lists all available public RPC commands, or gets help for the specified RPC. Commands which are unavailable will not be listed, such as wallet RPCs if wallet support is disabled. Updated in Dash Core 0.17.0
Logging: gets and sets the logging configuration Updated in Dash Core 18.0.0
Stop: safely shuts down the Dash Core server.
Uptime: returns the total uptime of the server. New in Dash Core 0.15.0
Dash RPCs#
GetGovernanceInfo: returns an object containing governance parameters. Updated in Dash Core 20.0.0
GetCoinJoinInfo: returns an object containing an information about CoinJoin settings and state. New in Dash Core 0.15.0
GetSuperblockBudget: returns the absolute maximum sum of superblock payments allowed.
GObject: provides a set of commands for managing governance objects and displaying information about them. Updated in Dash Core 20.0.0
Masternode: provides a set of commands for managing masternodes and displaying information about them. Updated in Dash Core 19.2.0
MasternodeList: returns a list of masternodes in different modes. Updated in Dash Core 20.0.0
MnSync: returns the sync status, updates to the next step or resets it entirely. Updated in Dash Core 0.14.0
CoinJoin: controls the CoinJoin process. Updated in Dash Core 0.12.3
Spork: shows information about the current state of sporks. Updated in Dash Core 18.1.0
SporkUpdate: updates the value of the provided spork. New in Dash Core 18.1.0
VoteRaw: compiles and relays a governance vote with provided external signature instead of signing vote internally
Evolution RPCs#
BLS: provides a set of commands to execute BLS-related actions. Updated in Dash Core 19.0.0
ProTx: provides a set of commands to execute ProTx related actions. Updated in Dash Core 20.1.0
Quorum: provides a set of commands for quorums (LLMQs). Updated in Dash Core 20.1.0
SubmitChainLock: allows the submission of a ChainLock signature. New in Dash Core 20.1.0
VerifyChainLock: tests if a quorum signature is valid for a ChainLock. New in Dash Core 0.17.0
VerifyISLock: tests if a quorum signature is valid for an InstantSend lock. New in Dash Core 0.17.0
Generating RPCs#
GenerateBlock mines a block with a set of ordered transactions immediately to a specified address or descriptor (before the RPC call returns). New in Dash Core 18.1.0
GenerateToAddress: mines blocks immediately to a specified address. New in Dash Core 0.12.3
GenerateToDescriptor: mines blocks immediately to a specified descriptor. New in Dash Core 18.1.0
Mining RPCs#
GetBlockTemplate: gets a block template or proposal for use with mining software. Updated in Dash Core 20.0.0
GetMiningInfo: returns various mining-related information. Updated in Dash Core 18.0.0
GetNetworkHashPS: returns the estimated network hashes per second based on the last n blocks.
PrioritiseTransaction: adds virtual priority or fee to a transaction, allowing it to be accepted into blocks mined by this node (or miners which use this node) with a lower priority or fee. (It can also remove virtual priority or fee, requiring the transaction have a higher priority or fee to be accepted into a locally-mined block.) Updated in Dash Core 0.14.0
SubmitBlock: accepts a block, verifies it is a valid addition to the block chain, and broadcasts it to the network. Extra parameters are ignored by Dash Core but may be used by mining pools or other programs.
SubmitHeader: decodes the given hex data as a header and submits it as a candidate chain tip if valid. New in Dash Core 18.0.0
Network RPCs#
AddNode: attempts to add or remove a node from the addnode list, or to try a connection to a node once.
AddPeerAddress: adds the address of a potential peer to the address manager. New in Dash Core 20.0.0
ClearBanned: clears list of banned nodes.
ClearDiscouraged: clears all discouraged nodes. New in Dash Core 19.0.0
DisconnectNode: immediately disconnects from a specified node. Updated in Dash Core 0.15.0
GetAddedNodeInfo: returns information about the given added node, or all added nodes (except onetry nodes). Only nodes which have been manually added using the
addnode
RPC will have their information displayed. Updated in Dash Core 0.12.3GetConnectionCount: returns the number of connections to other nodes.
GetNetTotals: returns information about network traffic, including bytes in, bytes out, and the current time.
GetNetworkInfo: returns information about the node’s connection to the network. Updated in Dash Core 18.0.0
GetNodeAddresses: returns the known addresses which can potentially be used to find new nodes in the network. New in Dash Core 18.0.0
GetPeerInfo: returns data about each connected network node. Updated in Dash Core 20.1.0
ListBanned: lists all banned IPs/Subnets. Updated in Dash Core 18.1.0
Ping: sends a P2P ping message to all connected nodes to measure ping time. Results are provided by the
getpeerinfo
RPC pingtime and pingwait fields as decimal seconds. The P2Pping
message is handled in a queue with all other commands, so it measures processing backlog, not just network ping.SetBan: attempts add or remove a IP/Subnet from the banned list.
SetNetworkActive: disables/enables all P2P network activity.
Raw Transaction RPCs#
AnalyzePSBT: analyzes and provides information about the current status of a PSBT and its inputs. New in Dash Core 18.2.0
CombinePSBT: combines multiple partially-signed Dash transactions into one transaction. New in Dash Core 18.0.0
CombineRawTransaction: combine multiple partially signed transactions into one transaction. New in Dash Core 0.15.0
ConvertToPSBT: converts a network serialized transaction to a PSBT. New in Dash Core 18.0.0
CreatePSBT: creates a transaction in the Partially Signed Transaction (PST) format. New in Dash Core 18.0.0
GetAssetUnlockStatuses: returns the status of the provided Asset Unlock indexes at the tip of the chain or at a particular block height if specified. New in Dash Core 20.1.0
CreateRawTransaction: creates an unsigned serialized transaction that spends a previous output to a new output with a P2PKH or P2SH address. The transaction is not stored in the wallet or transmitted to the network. Updated in Dash Core 0.17.0
DecodePSBT: returns a JSON object representing the serialized, base64-encoded partially signed Dash transaction. New in Dash Core 18.0.0
DecodeRawTransaction: decodes a serialized transaction hex string into a JSON object describing the transaction. Updated in Dash Core 0.13.0
DecodeScript: decodes a hex-encoded P2SH redeem script.
FinalizePSBT: finalizes the inputs of a PSBT. The PSBT produces a network serialized transaction if the transaction is fully signed. New in Dash Core 18.0.0
FundRawTransaction: adds inputs to a transaction until it has enough in value to meet its out value. Updated in Dash Core 20.1.0
GetRawTransaction: gets a hex-encoded serialized transaction or a JSON object describing the transaction. By default, Dash Core only stores complete transaction data for UTXOs and your own transactions, so the RPC may fail on historic transactions unless you use the non-default
txindex=1
in your Dash Core startup settings. Updated in Dash Core 0.16.0GetRawTransactionMulti: gets hex-encoded serialized transactions or a JSON object describing the multiple transactions. Added in Dash Core 20.1.0
GetTxChainlocks: returns the block height each transaction was mined at and whether it is ChainLocked or not. Updated in Dash Core 20.1.0
JoinPSBTs: joins multiple distinct PSBTs with different inputs and outputs into one PSBT with inputs and outputs from all of the PSBTs.
SendRawTransaction: validates a transaction and broadcasts it to the peer-to-peer network. Updated in Dash Core 0.15.0
SignRawTransactionWithKey: signs a transaction in the serialized transaction format using private keys provided in the call. New in Dash Core 0.17.0
TestMempoolAccept: returns the results of mempool acceptance tests indicating if raw transaction (serialized, hex-encoded) would be accepted by mempool. Updated in Dash Core 20.1.0
UTXOUpdatePSBT: updates a PSBT with data from output descriptors, UTXOs retrieved from the UTXO set or the mempool. Updated in Dash Core 18.1.0
Utility RPCs#
CreateMultiSig: creates a P2SH multi-signature address. Updated in Dash Core 20.0.0
DeriveAddresses: derives one or more addresses corresponding to an output descriptor. Updated in Dash Core 18.1.0
EstimateSmartFee: estimates the transaction fee per kilobyte that needs to be paid for a transaction to begin confirmation within a certain number of blocks and returns the number of blocks for which the estimate is valid. Updated in Dash Core 0.15.0
GetDescriptorInfo: analyses a descriptor. New in Dash Core 18.0.0
GetIndexInfo: returns the status of one or all available indices currently running in the node. New in Dash Core 20.0.0
SignMessageWithPrivKey: signs a message with a given private key. New in Dash Core 0.12.3
ValidateAddress: returns information about the given Dash address. Updated in Dash Core 20.1.0
VerifyMessage: verifies a signed message.
Wallet RPCs#
Note: the wallet RPCs are only available if Dash Core was built with wallet support, which is the default.
AbandonTransaction: marks an in-wallet transaction and all its in-wallet descendants as abandoned. This allows their inputs to be respent.
AbortRescan: stops current wallet rescan. New in Dash Core 0.15.0
AddMultiSigAddress: adds a P2SH multisig address to the wallet. Updated in Dash Core 20.0.0
BackupWallet: safely copies
wallet.dat
to the specified file, which can be a directory or a path with filename.CreateWallet: creates and loads a new wallet. Updated in Dash Core 18.1.0
DumpHDInfo: returns an object containing sensitive private info about this HD wallet New in Dash Core 0.12.2
DumpPrivKey: returns the wallet-import-format (WIP) private key corresponding to an address. (But does not remove it from the wallet.)
DumpWallet: creates or overwrites a file with all wallet keys in a human-readable format. Updated in Dash Core 0.17.0
EncryptWallet: encrypts the wallet with a passphrase. This is only to enable encryption for the first time. After encryption is enabled, you will need to enter the passphrase to use private keys.
GetAddressInfo: returns information about the given Dash address. Updated in Dash Core 20.0.0
GetAddressesByLabel: returns a list of every address assigned to a particular label. New in Dash Core 0.17.0
GetBalance: gets the balance in decimal dash across all accounts or for a particular account. Updated in Dash Core 18.1.0
GetBalances: returns an object with all balances denominated in DASH. Updated in Dash Core 18.2.0
GetNewAddress: returns a new Dash address for receiving payments. If an account is specified, payments received with the address will be credited to that account. Updated in Dash Core 0.17.0
GetRawChangeAddress: returns a new Dash address for receiving change. This is for use with raw transactions, not normal use.
GetReceivedByAddress: returns the total amount received by the specified address in transactions with the specified number of confirmations. It does not count coinbase transactions. Updated in Dash Core 0.13.0
GetReceivedByLabel: returns the list of addresses assigned the specified label. New in Dash Core 0.17.0
GetTransaction: gets detailed information about an in-wallet transaction. Updated in Dash Core 20.0.0
GetUnconfirmedBalance: returns the wallet’s total unconfirmed balance.
GetWalletInfo: provides information about the wallet. Updated in Dash Core 20.0.0
ImportAddress: adds an address or pubkey script to the wallet without the associated private key, allowing you to watch for transactions affecting that address or pubkey script without being able to spend any of its outputs.
ImportElectrumWallet: imports keys from an Electrum wallet export file (.csv or .json) New in Dash Core 0.12.1
ImportMulti: imports addresses or scripts (with private keys, public keys, or P2SH redeem scripts) and optionally performs the minimum necessary rescan for all imports. New in Dash Core 0.12.3
ImportPrivKey: adds a private key to your wallet. The key should be formatted in the wallet import format created by the
dumpprivkey
RPC.ImportPrunedFunds: imports funds without the need of a rescan. Meant for use with pruned wallets. New in Dash Core 0.12.3
ImportPubKey: imports a public key (in hex) that can be watched as if it were in your wallet but cannot be used to spend
ImportWallet: imports private keys from a file in wallet dump file format (see the
dumpwallet
RPC). These keys will be added to the keys currently in the wallet. This call may need to rescan all or parts of the block chain for transactions affecting the newly-added keys, which may take several minutes.KeyPoolRefill: fills the cache of unused pre-generated keys (the keypool).
ListAddressBalances: lists addresses of this wallet and their balances New in Dash Core 0.12.3
ListAddressGroupings: lists groups of addresses that may have had their common ownership made public by common use as inputs in the same transaction or from being used as change from a previous transaction. Updated in Dash Core 0.17.0
ListLabels: returns the list of all labels, or labels that are assigned to addresses with a specific purpose. New in Dash Core 0.17.0
ListLockUnspent: returns a list of temporarily unspendable (locked) outputs.
ListReceivedByAddress: lists the total number of dash received by each address. Updated in Dash Core 0.17.0
ListReceivedByLabel: lists the total number of dash received by each label. New in Dash Core 0.17.0
ListSinceBlock: gets all transactions affecting the wallet which have occurred since a particular block, plus the header hash of a block at a particular depth. Updated in Dash Core 20.0.0
ListTransactions: returns the most recent transactions that affect the wallet. Updated in Dash Core 20.0.0
ListUnspent: returns an array of unspent transaction outputs belonging to this wallet. Updated in Dash Core 18.1.0
ListWalletDir: returns a list of wallets in the wallet directory. New in Dash Core 18.0.0
ListWallets: returns a list of currently loaded wallets. New in Dash Core 0.15.0
LoadWallet: loads a wallet from a wallet file or directory. Updated in Dash Core 18.1.0
LockUnspent: temporarily locks or unlocks specified transaction outputs. A locked transaction output will not be chosen by automatic coin selection when spending dash. Locks are stored in memory only, so nodes start with zero locked outputs and the locked output list is always cleared when a node stops or fails.
RemovePrunedFunds: deletes the specified transaction from the wallet. Meant for use with pruned wallets and as a companion to importprunedfunds. New in Dash Core 0.12.3
RescanBlockChain: rescans the local blockchain for wallet related transactions. New in Dash Core 0.16.0
ScanTxOutset: scans the unspent transaction output set for entries that match certain output descriptors. New in Dash Core 18.0.0
SendMany: creates and broadcasts a transaction which sends outputs to multiple addresses. Updated in Dash Core 20.0.0
SendToAddress: spends an amount to a given address. Updated in Dash Core 20.0.0
SetCoinJoinAmount: sets the amount of DASH to be processed New in Dash Core 0.13.0
SetCoinJoinRounds: sets the number of rounds to use New in Dash Core 0.13.0
SetTxFee: sets the transaction fee per kilobyte paid by transactions created by this wallet.
SetWalletFlag: changes the state of the given wallet flag for a wallet.
SignMessage: signs a message with the private key of an address.
SignRawTransactionWithWallet: signs a transaction in the serialized transaction format using private keys found in the wallet. New in Dash Core 0.17.0
UnloadWallet: unloads the wallet referenced by the request endpoint otherwise unloads the wallet specified in the argument. Updated in Dash Core 20.0.0
UpgradeToHD: upgrades non-HD wallets to HD. New in Dash Core 0.17.0
UpgradeWallet: upgrades wallet version. New in Dash Core 19.0.0
WalletCreateFundedPSBT: creates and funds a transaction in the Partially Signed Transaction (PST) format. Inputs will be added if supplied inputs are not enough. Updated in Dash Core 20.1.0
WalletLock: removes the wallet encryption key from memory, locking the wallet. After calling this method, you will need to call
walletpassphrase
again before being able to call any methods which require the wallet to be unlocked.WalletPassphrase: stores the wallet decryption key in memory for the indicated number of seconds. Issuing the
walletpassphrase
command while the wallet is already unlocked will set a new unlock time that overrides the old one.WalletPassphraseChange: changes the wallet passphrase from ‘old passphrase’ to ‘new passphrase’.
WalletProcessPSBT: updates a PSBT with input information from a wallet and then allows the signing of inputs. Updated in Dash Core 18.2.0
WipeWalletTxes: wipes wallet transactions. New in Dash Core 19.3.0
Wallet RPCs (Deprecated)#
Note: the wallet RPCs are only available if Dash Core was built with wallet support, which is the default.
GetAccount: returns the name of the account associated with the given address. Deprecated
GetAccountAddress: returns the current Dash address for receiving payments to this account. If the account doesn’t exist, it creates both the account and a new address for receiving payment. Once a payment has been received to an address, future calls to this RPC for the same account will return a different address. Deprecated
GetAddressesByAccount: returns a list of every address assigned to a particular account. Deprecated
SetAccount: puts the specified address in the given account. Deprecated
ZeroMQ (ZMQ) RPCs#
GetZmqNotifications: returns information about the active ZeroMQ notifications. Updated in Dash Core 18.0.0
Removed RPCs#
EstimateFee: was removed in Dash Core 0.17.0.
GetPoolInfo: returns an object containing pool related information. Deprecated in 0.15.0
GetReceivedByAccount: was removed in Dash Core 18.0.0.
GObject vote-conf: was removed in Dash Core 20.0.0
KeePass: was removed in Dash Core 18.0.0.
ListAccounts: was removed in Dash Core 18.0.0.
ListReceivedByAccount: was removed in Dash Core 18.0.0.
Move: was removed in Dash Core 18.0.0.
SendFrom: was removed in Dash Core 18.0.0.
SignRawTransaction: was removed in Dash Core 18.0.0.
SignRawTransaction: was removed in Dash Core 18.0.0.
Generate: mines blocks immediately (before the RPC call returns). was removed in Dash Core 18.1.0.