Blockchain RPCs#

GetBestBlockHash#

The getbestblockhash RPC returns the header hash of the most recent block on the best blockchain.

Parameters: none

Result—hash of the tip from the best block chain

Name

Type

Presence

Description

result

string (hex)

Required
(exactly 1)

The hash of the block header from the most recent block on the best block chain, encoded as hex in RPC byte order

Example from Dash Core 0.12.2

dash-cli -testnet getbestblockhash

Result:

00000bafbc94add76cb75e2ec92894837288a481e5c005f6563d91623bf8bc2c

See also

  • GetBlock: gets a block with a particular header hash from the local block database either as a JSON object or as a serialized block.

  • GetBlockHash: returns the header hash of a block at the given height in the local best block chain.

DumpTxOutset#

Write the serialized UTXO set to disk.

Parameter #1—path to output file

Name

Type

Presence

Description

path

string (hex)

Required
(exactly 1)

Path to the output file. If relative, will be prefixed by datadir.

Result

Name

Type

Presence

Description

result

object/null

Required
(exactly 1)

An object containing the requested block, or JSON null if an error occurred


coins_written

number (int)

Required
(exactly 1)

the number of coins written in the snapshot


base_hash

string (hex)

Required
(exactly 1)

the hash of the base of the snapshot


base_height

number (int)

Required
(exactly 1)

the height of the base of the snapshot


path

string (str)

Required
(exactly 1)

the absolute path that the snapshot was written to

Example from Dash Core 18.1.0

dash-cli dumptxoutset a

Result:

{
  "coins_written": 4313775,
  "base_hash": "000000000000000ef8f6b8f9b73ae4c516b961b7bbc01945b48d84b954ae68a1",
  "base_height": 1412676,
  "path": "/Users/username/Library/Application Support/DashCore/a"
}

GetBestChainLock#

The getbestchainlock RPC returns the information about the best ChainLock.

Throws an error if there is no known ChainLock yet.

Parameters: none

Result

Name

Type

Presence

Description

result

object/null

Required
(exactly 1)

An object containing the requested block, or JSON null if an error occurred


blockhash

string (hex)

Required
(exactly 1)

The hash of the block encoded as hex in RPC byte order


height

number (int)

Required
(exactly 1)

The height of this block on its block chain


signature

string (hex)

Required
(exactly 1)

Added in Dash Core 0.17.0

The BLS signature of the ChainLock


known_block

boolean

Required
(exactly 1)

True if the block is known by this node

Example from Dash Core 0.17.0

dash-cli -testnet getbestchainlock

Result:

{
  "blockhash": "00000c0e7a866e67444813858b976886d839aff28f56dc178c92ed1390c97f4e",
  "height": 405044,
  "signature": "960ead08adcc3fcf5e576f9e6ad290251325db900d19d961f5ece398b5389390b8a44e8986199c201ac348a89bc8534a0f7153c61c54157a241c521131025e5054b7c4298065069e478abdaea4d6c861848061e32c0d903ddeb5ee6036e8ddcf",
  "known_block": true
}

See also: none

GetBlock#

The getblock RPC gets a block with a particular header hash from the local block database either as a JSON object or as a serialized block.

Parameter #1—block hash

Name

Type

Presence

Description

Block Hash

string (hex)

Required
(exactly 1)

The hash of the header of the block to get, encoded as hex in RPC byte order

Parameter #2—whether to get JSON or hex output

Name

Type

Presence

Description

Verbosity

number (int)

Optional
(0 or 1)

Set to one of the following verbosity levels:
0 - Get the block in serialized block format;
1 - Get the decoded block as a JSON object (default)
2 - Get the decoded block as a JSON object with transaction details

Result (if verbosity was 0)—a serialized block

Name

Type

Presence

Description

result

string (hex)/null

Required
(exactly 1)

The requested block as a serialized block, encoded as hex, or JSON null if an error occurred

Result (if verbosity was 1 or omitted)—a JSON block with transaction hashes

Name

Type

Presence

Description

result

object/null

Required
(exactly 1)

An object containing the requested block, or JSON null if an error occurred


hash

string (hex)

Required
(exactly 1)

The hash of this block’s block header encoded as hex in RPC byte order. This is the same as the hash provided in parameter #1


confirmations

number (int)

Required
(exactly 1)

The number of confirmations the transactions in this block have, starting at 1 when this block is at the tip of the best block chain. This score will be -1 if the the block is not part of the best block chain


size

number (int)

Required
(exactly 1)

The size of this block in serialized block format, counted in bytes


height

number (int)

Required
(exactly 1)

The height of this block on its block chain


version

number (int)

Required
(exactly 1)

This block’s version number. See block version numbers


versionHex

string (hex)

Required
(exactly 1)

Added in Bitcoin Core 0.13.0

The block version formatted in hexadecimal


merkleroot

string (hex)

Required
(exactly 1)

The merkle root for this block, encoded as hex in RPC byte order


tx

array

Required
(exactly 1)

An array containing the TXIDs of all transactions in this block. The transactions appear in the array in the same order they appear in the serialized block

→ →
TXID

string (hex)

Required
(1 or more)

The TXID of a transaction in this block, encoded as hex in RPC byte order


cbTx

object

Required
(exactly 1)

Coinbase special transaction details

→ →
version

number (int)

Required
(exactly 1)

The version of the Coinbase special transaction (CbTx)

→ →
height

number (int)

Required
(exactly 1)

The height of this block on its block chain

→ →
merkleRootMNList

string (hex)

Required
(exactly 1)

The merkle root for the masternode list

→ →
merkleRootQuorums

string (hex)

Required
(exactly 1)

The merkle root for the quorum list

→ →
bestCLHeightDiff

number (int)

Required
(exactly 1)

Added in Dash Core 20.0.0
The best ChainLock height difference

→ →
bestCLSignature

string (hex)

Required
(exactly 1)

Added in Dash Core 20.0.0
The best ChainLock signature

→ →
creditPoolBalance

number (real)

Required
(exactly 1)

Added in Dash Core 20.0.0
The balance of the credit pool


time

number (int)

Required
(exactly 1)

The value of the time field in the block header, indicating approximately when the block was created


mediantime

number (int)

Required
(exactly 1)

Added in Bitcoin Core 0.12.0

The median block time in Unix epoch time


nonce

number (int)

Required
(exactly 1)

The nonce which was successful at turning this particular block into one that could be added to the best block chain


bits

string (hex)

Required
(exactly 1)

The value of the nBits field in the block header, indicating the target threshold this block’s header had to pass


difficulty

number (real)

Required
(exactly 1)

The estimated amount of work done to find this block relative to the estimated amount of work done to find block 0


chainwork

string (hex)

Required
(exactly 1)

The estimated number of block header hashes miners had to check from the genesis block to this block, encoded as big-endian hex


nTx

number (int)

Required
(exactly 1)

Added in Dash Core 0.16.0

The number of transactions in the block


previousblockhash

string (hex)

Optional
(0 or 1)

The hash of the header of the previous block, encoded as hex in RPC byte order. Not returned for genesis block


nextblockhash

string (hex)

Optional
(0 or 1)

The hash of the next block on the best block chain, if known, encoded as hex in RPC byte order


chainlock

bool

Required
(exactly 1)

Added in Dash Core 0.14.0

If set to true, this transaction is in a block that is locked (not susceptible to a chain re-org)

Result (if verbosity was 2—a JSON block with full transaction details

Name

Type

Presence

Description

result

object/null

Required
(exactly 1)

An object containing the requested block, or JSON null if an error occurred


hash

string (hex)

Required
(exactly 1)

The hash of this block’s block header encoded as hex in RPC byte order. This is the same as the hash provided in parameter #1


confirmations

number (int)

Required
(exactly 1)

The number of confirmations the transactions in this block have, starting at 1 when this block is at the tip of the best block chain. This score will be -1 if the the block is not part of the best block chain


size

number (int)

Required
(exactly 1)

The size of this block in serialized block format, counted in bytes


height

number (int)

Required
(exactly 1)

The height of this block on its block chain


version

number (int)

Required
(exactly 1)

This block’s version number. See block version numbers


versionHex

string (hex)

Required
(exactly 1)

Added in Bitcoin Core 0.13.0

The block version formatted in hexadecimal


merkleroot

string (hex)

Required
(exactly 1)

The merkle root for this block, encoded as hex in RPC byte order


tx

array

Required
(exactly 1)

An array containing the TXIDs of all transactions in this block. The transactions appear in the array in the same order they appear in the serialized block

→ →
txid

string (hex)

Required
(exactly 1)

The transaction’s TXID encoded as hex in RPC byte order

→ →
size

number (int)

Required
(exactly 1)

Added in Bitcoin Core 0.12.0

The serialized transaction size

→ →
version

number (int)

Required
(exactly 1)

The transaction format version number

→ →
type

number (int)

Required
(exactly 1)

Added in Dash Core 0.13.0.0

The transaction format type

→ →
locktime

number (int)

Required
(exactly 1)

The transaction’s locktime: either a Unix epoch date or block height; see the locktime parsing rules

→ →
vin

array

Required
(exactly 1)

An array of objects with each object being an input vector (vin) for this transaction. Input objects will have the same order within the array as they have in the transaction, so the first input listed will be input 0

→ → →
Input

object

Required
(1 or more)

An object describing one of this transaction’s inputs. May be a regular input or a coinbase

→ → → →
txid

string

Optional
(0 or 1)

The TXID of the outpoint being spent, encoded as hex in RPC byte order. Not present if this is a coinbase transaction

→ → → →
vout

number (int)

Optional
(0 or 1)

The output index number (vout) of the outpoint being spent. The first output in a transaction has an index of 0. Not present if this is a coinbase transaction

→ → → →
scriptSig

object

Optional
(0 or 1)

An object describing the signature script of this input. Not present if this is a coinbase transaction

→ → → → →
asm

string

Required
(exactly 1)

The signature script in decoded form with non-data-pushing opcodes listed

→ → → → →
hex

string (hex)

Required
(exactly 1)

The signature script encoded as hex

→ → → →
coinbase

string (hex)

Optional
(0 or 1)

The coinbase (similar to the hex field of a scriptSig) encoded as hex. Only present if this is a coinbase transaction

→ → → →
value

number (Dash)

Optional
(exactly 1)

The number of Dash paid to this output. May be 0.

Only present if spentindex enabled

→ → → →
valueSat

number (duffs)

Optional
(exactly 1)

The number of duffs paid to this output. May be 0.

Only present if spentindex enabled

→ → → → →
addresses

string : array

Optional
(0 or 1)

The P2PKH or P2SH addresses used in this transaction, or the computed P2PKH address of any pubkeys in this transaction. This array will not be returned for nulldata or nonstandard script types.

Only present if spentindex enabled

→ → → → → →
Address

string

Required
(1 or more)

A P2PKH or P2SH address

→ → → →
sequence

number (int)

Required
(exactly 1)

The input sequence number

→ →
vout

array

Required
(exactly 1)

An array of objects each describing an output vector (vout) for this transaction. Output objects will have the same order within the array as they have in the transaction, so the first output listed will be output 0

→ → →
Output

object

Required
(1 or more)

An object describing one of this transaction’s outputs

→ → → →
value

number (Dash)

Required
(exactly 1)

The number of Dash paid to this output. May be 0

→ → → →
valueSat

number (duffs)

Required
(exactly 1)

The number of duffs paid to this output. May be 0

→ → → →
n

number (int)

Required
(exactly 1)

The output index number of this output within this transaction

→ → → →
scriptPubKey

object

Required
(exactly 1)

An object describing the pubkey script

→ → → → →
asm

string

Required
(exactly 1)

The pubkey script in decoded form with non-data-pushing opcodes listed

→ → → → →
hex

string (hex)

Required
(exactly 1)

The pubkey script encoded as hex

→ → → → →
reqSigs

number (int)

Optional
(0 or 1)

The number of signatures required; this is always 1 for P2PK, P2PKH, and P2SH (including P2SH multisig because the redeem script is not available in the pubkey script). It may be greater than 1 for bare multisig. This value will not be returned for nulldata or nonstandard script types (see the type key below)

→ → → → →
type

string

Optional
(0 or 1)

The type of script. This will be one of the following:
pubkey for a P2PK script
pubkeyhash for a P2PKH script
scripthash for a P2SH script
multisig for a bare multisig script
nulldata for nulldata scripts
nonstandard for unknown scripts

→ → → → →
addresses

string : array

Optional
(0 or 1)

The P2PKH or P2SH addresses used in this transaction, or the computed P2PKH address of any pubkeys in this transaction. This array will not be returned for nulldata or nonstandard script types

→ → → → → →
Address

string

Required
(1 or more)

A P2PKH or P2SH address

→ →
extraPayloadSize

number (int)

Optional
(0 or 1)

Added in Dash Core 0.13.0.0

Size of the DIP2 extra payload. Only present if it’s a DIP2 special transaction

→ →
extraPayload

string (hex)

Optional
(0 or 1)

Added in Dash Core 0.13.0.0

Hex encoded DIP2 extra payload data. Only present if it’s a DIP2 special transaction

→ →
instantlock

bool

Required
(exactly 1)

If set to true, this transaction is locked (by InstantSend or a ChainLock)

→ →
instantlock_internal

bool

Required
(exactly 1)

If set to true, this transaction has an InstantSend lock


cbTx

object

Required
(exactly 1)

Coinbase special transaction details

→ →
version

number (int)

Required
(exactly 1)

The version of the Coinbase special transaction (CbTx)

→ →
height

number (int)

Required
(exactly 1)

The height of this block on its block chain

→ →
merkleRootMNList

string (hex)

Required
(exactly 1)

The merkle root for the masternode list

→ →
merkleRootQuorums

string (hex)

Required
(exactly 1)

The merkle root for the quorum list

→ →
bestCLHeightDiff

number (int)

Required
(exactly 1)

Added in Dash Core 20.0.0
The best ChainLock height difference

→ →
bestCLSignature

string (hex)

Required
(exactly 1)

Added in Dash Core 20.0.0
The best ChainLock signature

→ →
creditPoolBalance

number (real)

Required
(exactly 1)

Added in Dash Core 20.0.0
The balance of the credit pool


time

number (int)

Required
(exactly 1)

The value of the time field in the block header, indicating approximately when the block was created


mediantime

number (int)

Required
(exactly 1)

Added in Bitcoin Core 0.12.0

The median block time in Unix epoch time


nonce

number (int)

Required
(exactly 1)

The nonce which was successful at turning this particular block into one that could be added to the best block chain


bits

string (hex)

Required
(exactly 1)

The value of the nBits field in the block header, indicating the target threshold this block’s header had to pass


difficulty

number (real)

Required
(exactly 1)

The estimated amount of work done to find this block relative to the estimated amount of work done to find block 0


chainwork

string (hex)

Required
(exactly 1)

The estimated number of block header hashes miners had to check from the genesis block to this block, encoded as big-endian hex


nTx

number (int)

Required
(exactly 1)

Added in Dash Core 0.16.0

The number of transactions in the block


previousblockhash

string (hex)

Optional
(0 or 1)

The hash of the header of the previous block, encoded as hex in RPC byte order. Not returned for genesis block


nextblockhash

string (hex)

Optional
(0 or 1)

The hash of the next block on the best block chain, if known, encoded as hex in RPC byte order


chainlock

bool

Required
(exactly 1)

Added in Dash Core 0.14.0

If set to true, this transaction is in a block that is locked (not susceptible to a chain re-org)

Example from Dash Core 20.0.0

Get a block in raw hex:

dash-cli -testnet getblock \
            00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b \
            0

Result (wrapped):

0000002039e4a40ee0776d9e3820161810199f15db1c8e05be6b947729367978\
ae000000e318c8553524d7666b1f692dfba32f2b46cff851289a881c1c305671\
1bb7b08071381c65faec011e0390000001030005000100000000000000000000\
00000000000000000000000000000000000000000000ffffffff060326ff0d01\
01ffffffff0397f4e127000000001976a914c69a0bda7daaae481be8def95e5f\
347a1d00a4b488ac94196f1600000000016a4dd56325000000001976a91464f2\
b2b84f62d68a2cd7f7f5fb2b5aa75ef716d788ac00000000af030026ff0d0073\
9f69d98c43d95c201a42cae33abd9762429c6b598c5989cd4c0c0bf81a3a821f\
136139da5605a50f47aab22ff8f36de83f8c47f2667ce9483d39d50d39254700\
a07b05ce98acc08f3dfc81592f183f9772008dedd06e30892039e1a4bc0ebb0c\
d1791205294d00754f29de459360983605f4c367bfc2bac0b38bb264f60add06\
2dc7e172f77b20a8a060b9a58b76b31fddeb8f96411d0c8c19848422903769b3\
fc834c91ad050000

Get the same block in JSON:

dash-cli -testnet getblock \
            000000e344040c68d19552dcf22114961a6d441cd840d61821e2d18a6ba5f565

Result:

{
  "hash": "000000e344040c68d19552dcf22114961a6d441cd840d61821e2d18a6ba5f565",
  "confirmations": 1,
  "size": 392,
  "height": 917286,
  "version": 536870912,
  "versionHex": "20000000",
  "merkleroot": "80b0b71b7156301c1c889a2851f8cf462b2fa3fb2d691f6b66d7243555c818e3",
  "tx": [
    "80b0b71b7156301c1c889a2851f8cf462b2fa3fb2d691f6b66d7243555c818e3"
  ],
  "cbTx": {
    "version": 3,
    "height": 917286,
    "merkleRootMNList": "823a1af80b0c4ccd89598c596b9c426297bd3ae3ca421a205cd9438cd9699f73",
    "merkleRootQuorums": "4725390dd5393d48e97c66f2478c3fe86df3f82fb2aa470fa50556da3961131f",
    "bestCLHeightDiff": 0,
    "bestCLSignature": "a07b05ce98acc08f3dfc81592f183f9772008dedd06e30892039e1a4bc0ebb0cd1791205294d00754f29de459360983605f4c367bfc2bac0b38bb264f60add062dc7e172f77b20a8a060b9a58b76b31fddeb8f96411d0c8c19848422903769b3",
    "creditPoolBalance": 62430.25191932
  },
  "time": 1696348273,
  "mediantime": 1696347803,
  "nonce": 36867,
  "bits": "1e01ecfa",
  "difficulty": 0.00202846304931776,
  "chainwork": "00000000000000000000000000000000000000000000000002d68d4d626cf7da",
  "nTx": 1,
  "previousblockhash": "000000ae7879362977946bbe058e1cdb159f1910181620389e6d77e00ea4e439",
  "chainlock": true
}

Get the same block in JSON with transaction details:

dash-cli -testnet getblock \
            000000e344040c68d19552dcf22114961a6d441cd840d61821e2d18a6ba5f565 2

Result:

{
  "hash": "000000e344040c68d19552dcf22114961a6d441cd840d61821e2d18a6ba5f565",
  "confirmations": 2,
  "size": 392,
  "height": 917286,
  "version": 536870912,
  "versionHex": "20000000",
  "merkleroot": "80b0b71b7156301c1c889a2851f8cf462b2fa3fb2d691f6b66d7243555c818e3",
  "tx": [
    {
      "txid": "80b0b71b7156301c1c889a2851f8cf462b2fa3fb2d691f6b66d7243555c818e3",
      "version": 3,
      "type": 5,
      "size": 311,
      "locktime": 0,
      "vin": [
        {
          "coinbase": "0326ff0d0101",
          "sequence": 4294967295
        }
      ],
      "vout": [
        {
          "value": 6.69119639,
          "valueSat": 669119639,
          "n": 0,
          "scriptPubKey": {
            "asm": "OP_DUP OP_HASH160 c69a0bda7daaae481be8def95e5f347a1d00a4b4 OP_EQUALVERIFY OP_CHECKSIG",
            "hex": "76a914c69a0bda7daaae481be8def95e5f347a1d00a4b488ac",
            "reqSigs": 1,
            "type": "pubkeyhash",
            "addresses": [
              "yeRZBWYfeNE4yVUHV4ZLs83Ppn9aMRH57A"
            ]
          }
        },
        {
          "value": 3.76379796,
          "valueSat": 376379796,
          "n": 1,
          "scriptPubKey": {
            "asm": "OP_RETURN",
            "hex": "6a",
            "type": "nulldata"
          }
        },
        {
          "value": 6.27299661,
          "valueSat": 627299661,
          "n": 2,
          "scriptPubKey": {
            "asm": "OP_DUP OP_HASH160 64f2b2b84f62d68a2cd7f7f5fb2b5aa75ef716d7 OP_EQUALVERIFY OP_CHECKSIG",
            "hex": "76a91464f2b2b84f62d68a2cd7f7f5fb2b5aa75ef716d788ac",
            "reqSigs": 1,
            "type": "pubkeyhash",
            "addresses": [
              "yVXDAM73Tg6A44Bm3qduXsMCYxzuqBCT48"
            ]
          }
        }
      ],
      "extraPayloadSize": 175,
      "extraPayload": "030026ff0d00739f69d98c43d95c201a42cae33abd9762429c6b598c5989cd4c0c0bf81a3a821f136139da5605a50f47aab22ff8f36de83f8c47f2667ce9483d39d50d39254700a07b05ce98acc08f3dfc81592f183f9772008dedd06e30892039e1a4bc0ebb0cd1791205294d00754f29de459360983605f4c367bfc2bac0b38bb264f60add062dc7e172f77b20a8a060b9a58b76b31fddeb8f96411d0c8c19848422903769b3fc834c91ad050000",
      "cbTx": {
        "version": 3,
        "height": 917286,
        "merkleRootMNList": "823a1af80b0c4ccd89598c596b9c426297bd3ae3ca421a205cd9438cd9699f73",
        "merkleRootQuorums": "4725390dd5393d48e97c66f2478c3fe86df3f82fb2aa470fa50556da3961131f",
        "bestCLHeightDiff": 0,
        "bestCLSignature": "a07b05ce98acc08f3dfc81592f183f9772008dedd06e30892039e1a4bc0ebb0cd1791205294d00754f29de459360983605f4c367bfc2bac0b38bb264f60add062dc7e172f77b20a8a060b9a58b76b31fddeb8f96411d0c8c19848422903769b3",
        "creditPoolBalance": 62430.25191932
      },
      "hex": "03000500010000000000000000000000000000000000000000000000000000000000000000ffffffff060326ff0d0101ffffffff0397f4e127000000001976a914c69a0bda7daaae481be8def95e5f347a1d00a4b488ac94196f1600000000016a4dd56325000000001976a91464f2b2b84f62d68a2cd7f7f5fb2b5aa75ef716d788ac00000000af030026ff0d00739f69d98c43d95c201a42cae33abd9762429c6b598c5989cd4c0c0bf81a3a821f136139da5605a50f47aab22ff8f36de83f8c47f2667ce9483d39d50d39254700a07b05ce98acc08f3dfc81592f183f9772008dedd06e30892039e1a4bc0ebb0cd1791205294d00754f29de459360983605f4c367bfc2bac0b38bb264f60add062dc7e172f77b20a8a060b9a58b76b31fddeb8f96411d0c8c19848422903769b3fc834c91ad050000",
      "instantlock": true,
      "instantlock_internal": false
    }
  ],
  "cbTx": {
    "version": 3,
    "height": 917286,
    "merkleRootMNList": "823a1af80b0c4ccd89598c596b9c426297bd3ae3ca421a205cd9438cd9699f73",
    "merkleRootQuorums": "4725390dd5393d48e97c66f2478c3fe86df3f82fb2aa470fa50556da3961131f",
    "bestCLHeightDiff": 0,
    "bestCLSignature": "a07b05ce98acc08f3dfc81592f183f9772008dedd06e30892039e1a4bc0ebb0cd1791205294d00754f29de459360983605f4c367bfc2bac0b38bb264f60add062dc7e172f77b20a8a060b9a58b76b31fddeb8f96411d0c8c19848422903769b3",
    "creditPoolBalance": 62430.25191932
  },
  "time": 1696348273,
  "mediantime": 1696347803,
  "nonce": 36867,
  "bits": "1e01ecfa",
  "difficulty": 0.00202846304931776,
  "chainwork": "00000000000000000000000000000000000000000000000002d68d4d626cf7da",
  "nTx": 1,
  "previousblockhash": "000000ae7879362977946bbe058e1cdb159f1910181620389e6d77e00ea4e439",
  "nextblockhash": "000001045ef47d29483b8021b1cafe2deddac22bf8d2fb13aed80524a4ffa30c",
  "chainlock": true
}

See also

  • GetBlockHash: returns the header hash of a block at the given height in the local best block chain.

  • GetBestBlockHash: returns the header hash of the most recent block on the best block chain.

GetBlockChainInfo#

The getblockchaininfo RPC provides information about the current state of the block chain.

Parameters: none

Result—A JSON object providing information about the block chain

Name

Type

Presence

Description

result

object

Required
(exactly 1)

Information about the current state of the local block chain


chain

string

Required
(exactly 1)

The name of the block chain. Either main for mainnet, test for testnet, regtest for regtest, or devnet-<name> for devnets


blocks

number (int)

Required
(exactly 1)

The number of validated blocks in the local best block chain. For a new node with just the hardcoded genesis block, this will be 0


headers

number (int)

Required
(exactly 1)

The number of validated headers in the local best headers chain. For a new node with just the hardcoded genesis block, this will be zero. This number may be higher than the number of blocks


bestblockhash

string (hex)

Required
(exactly 1)

The hash of the header of the highest validated block in the best block chain, encoded as hex in RPC byte order. This is identical to the string returned by the getbestblockhash RPC


difficulty

number (real)

Required
(exactly 1)

The difficulty of the highest-height block in the best block chain


mediantime

number (int)

Required
(exactly 1)

Added in Bitcoin Core 0.12.0

The median time of the 11 blocks before the most recent block on the blockchain. Used for validating transaction locktime under BIP113


verificationprogress

number (real)

Required
(exactly 1)

Estimate of what percentage of the block chain transactions have been verified so far, starting at 0.0 and increasing to 1.0 for fully verified. May slightly exceed 1.0 when fully synced to account for transactions in the memory pool which have been verified before being included in a block


initialblockdownload

boolean

Required
(exactly 1)

Added in Dash Core 0.16.0

An estimate of whether this node is in Initial Block Download mode (debug information)


chainwork

string (hex)

Required
(exactly 1)

The estimated number of block header hashes checked from the genesis block to this block, encoded as big-endian hex


size_on_disk

number (int)

Required
(exactly 1)

Added in Dash Core 0.16.0

The estimated size of the block and undo files on disk


pruned

bool

Required
(exactly 1)

Added in Bitcoin Core 0.11.0

Indicates if the blocks are subject to pruning


pruneheight

number (int)

Optional
(0 or 1)

Added in Bitcoin Core 0.11.0

The lowest-height complete block stored if pruning is activated


automatic_pruning

bool

Required
(exactly 1)

Added in Dash Core 0.16.0

Whether automatic pruning is enabled (only present if pruning is enabled)


prune_target_size

number (int)

Optional
(0 or 1)

Added in Dash Core 0.16.0

The target size used by pruning (only present if automatic pruning is enabled)


softforks

object

Required
(exactly 1)

Revised significantly in Dash Core 20.0.0

An object with each key describing a current or previous soft fork

→ →
Softfork

object

Required
(0 or more)

The name of a specific softfork

→ → →
type

string

Required

One of “buried”, “bip9”

→ → →
bip9

object

Optional

Status of bip9 softforks (only for “bip9” type)

→ → → →
status

string

Required

One of “defined”, “started”, “locked_in”, “active”, “failed”

→ → → →
bit

numeric

Optional

The bit (0-28) in the block version field used to signal this softfork (only for “started” status)

→ → → →
start_time

numeric

Required

The minimum median time past of a block at which the bit gains its meaning

→ → → →
timeout

numeric

Required

The median time past of a block at which the deployment is considered failed if not yet locked in

→ → → →
since

numeric

Required

Height of the first block to which the status applies

→ → → →
activation_height

numeric

Optional

Expected activation height for this softfork (only for “locked_in” status)

→ → → →
ehf

bool

Required

true for EHF activated hard forks

→ → → →
ehf_height

numeric

Optional

The minimum height at which miner’s signals for the deployment matter. Below this height miner signaling cannot trigger hard fork lock-in. Not returned if ehf is false or if the minimum height is not known yet.

→ → → →
statistics

string : object

Required
(exactly 1)

Added in Dash Core 0.15.0

Numeric statistics about BIP9 signaling for a softfork (only for \started” status)”

→ → → → →
period

numeric
(int)

Optional
(0 or 1)

Added in Dash Core 0.15.0

The length in blocks of the BIP9 signaling period. Field is only shown when status is started

→ → → → →
threshold

numeric
(int)

Optional
(0 or 1)

Added in Dash Core 0.15.0

The number of blocks with the version bit set required to activate the feature. Field is only shown when status is started

→ → → → →
elapsed

numeric
(int)

Optional
(0 or 1)

Added in Dash Core 0.15.0

The number of blocks elapsed since the beginning of the current period. Field is only shown when status is started

→ → → → →
count

numeric
(int)

Optional
(0 or 1)

Added in Dash Core 0.15.0

The number of blocks with the version bit set in the current period. Field is only shown when status is started

→ → → → →
possible

bool

Optional
(0 or 1)

Added in Bitcoin Core 0.11.0

Returns false if there are not enough blocks left in this period to pass activation threshold. Field is only shown when status is started

→ → →
height

numeric

Optional

Height of the first block at which the rules are or will be enforced (only for “buried” type, or “bip9” type with “active” status)

→ → →
active

boolean

Required

True if the rules are enforced for the mempool and the next block


warnings

string

Optional
(0 or 1)

Added in Dash Core 0.16.0

Returns any network and blockchain warnings

Example from Dash Core 20.0.0

dash-cli -testnet getblockchaininfo

Result:

{
  "chain": "test",
  "blocks": 912298,
  "headers": 912298,
  "bestblockhash": "00000019c3087281f7e4b627815eb391b3b5e11e4d0add0ccb500796407f6237",
  "difficulty": 0.001804136142120174,
  "mediantime": 1699903044,
  "verificationprogress": 0.9999998639160379,
  "initialblockdownload": false,
  "chainwork": "00000000000000000000000000000000000000000000000002d68d309978e4c0",
  "size_on_disk": 3147926239,
  "pruned": false,
  "softforks": {
    "bip34": {
      "type": "buried",
      "active": true,
      "height": 76
    },
    "bip66": {
      "type": "buried",
      "active": true,
      "height": 2075
    },
    "bip65": {
      "type": "buried",
      "active": true,
      "height": 2431
    },
    "bip147": {
      "type": "buried",
      "active": true,
      "height": 4300
    },
    "csv": {
      "type": "buried",
      "active": true,
      "height": 8064
    },
    "dip0001": {
      "type": "buried",
      "active": true,
      "height": 5500
    },
    "dip0003": {
      "type": "buried",
      "active": true,
      "height": 7000
    },
    "dip0008": {
      "type": "buried",
      "active": true,
      "height": 78800
    },
    "dip0020": {
      "type": "buried",
      "active": true,
      "height": 414100
    },
    "dip0024": {
      "type": "buried",
      "active": true,
      "height": 769700
    },
    "realloc": {
      "type": "buried",
      "active": true,
      "height": 387500
    },
    "v19": {
      "type": "buried",
      "active": true,
      "height": 850100
    },
    "v20": {
      "type": "bip9",
      "bip9": {
        "status": "active",
        "start_time": 1693526400,
        "timeout": 9223372036854775807,
        "ehf": false,
        "since": 905100
      },
      "height": 905100,
      "active": true
    },
    "mn_rr": {
      "type": "bip9",
      "bip9": {
        "status": "defined",
        "start_time": 1693526400,
        "timeout": 9223372036854775807,
        "ehf": true,
        "since": 0
      },
      "active": false
    }
  },
  "warnings": "Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade."
}

See also

GetBlockCount#

The getblockcount RPC returns the number of blocks in the local best block chain.

Parameters: none

Result—the number of blocks in the local best block chain

Name

Type

Presence

Description

result

number (int)

Required
(exactly 1)

The number of blocks in the local best block chain. For a new node with only the hardcoded genesis block, this number will be 0

Example from Dash Core 0.12.2

dash-cli -testnet getblockcount

Result:

4627

See also

  • GetBlockHash: returns the header hash of a block at the given height in the local best block chain.

  • GetBlock: gets a block with a particular header hash from the local block database either as a JSON object or as a serialized block.

GetBlockHash#

The getblockhash RPC returns the header hash of a block at the given height in the local best block chain.

Parameter—a block height

Name

Type

Presence

Description

Block Height

number (int)

Required
(exactly 1)

The height of the block whose header hash should be returned. The height of the hardcoded genesis block is 0

Result—the block header hash

Name

Type

Presence

Description

result

string (hex)/null

Required
(exactly 1)

The hash of the block at the requested height, encoded as hex in RPC byte order, or JSON null if an error occurred

Example from Dash Core 0.12.2

dash-cli -testnet getblockhash 4000

Result:

00000ce22113f3eb8636e225d6a1691e132fdd587aed993e1bc9b07a0235eea4

See also

  • GetBlock: gets a block with a particular header hash from the local block database either as a JSON object or as a serialized block.

  • GetBestBlockHash: returns the header hash of the most recent block on the best block chain.

GetBlockFilter#

Added in Dash Core 18.0.0

The getblockfilter RPC retrieves a BIP157 content filter for a particular block.

📘

Requires the -blockfilterindex Dash Core command-line/configuration-file parameter to be enabled.

Parameter #1—blockhash

Name

Type

Presence

Description

Hash

string

Required
(exactly 1)

The hash of the block

Parameter #2—filtertype

Name

Type

Presence

Description

Filter type

string

Optional
(0 or 1)

The type name of the filter (default: basic).

Result—A JSON object with the encoded filter data

Name

Type

Presence

Description

result

object

Required
(exactly 1)

The hex-encoded filter data.


filter

string (hex)

Required
(exactly 1)

The hex-encoded filter data


header

string (hex)

Required
(exactly 1)

The hex-encoded filter header

Example from Dash Core 18.0.0

dash-cli -testnet getblockfilter 0000004bb972bddf8d5b2bce517db07ff4c69a04e74e9c0bd2caa11ee23d0323 basic

Result:

{
  "filter": "038c72a18c696aca7a",
  "header": "f80b699589d1bfb1b269f948e9114034686c110273b01b6e4c0026ade1d6b968"
}

GetBlockHashes#

📘

Requires timestampindex Dash Core command-line/configuration-file parameter to be enabled.

Added in Dash Core 0.12.1

The getblockhashes RPC returns array of hashes of blocks within the timestamp range provided (requires timestampindex to be enabled).

Parameter #1—high block timestamp

Name

Type

Presence

Description

Block Timestamp

number (int)

Required
(exactly 1)

The block timestamp for the newest block hash that should be returned.

Parameter #2—low block timestamp

Name

Type

Presence

Description

Block Timestamp

number (int)

Required
(exactly 1)

The block timestamp for the oldest block hash that should be returned.

Result—the block header hashes in the give time range

Name

Type

Presence

Description

result

array

Required
(exactly 1)

The hashes of the blocks in the requested time range


hash

string (hex)

Required
(1 or more)

The hash of a block in the chain, encoded as hex in RPC byte order

Example from Dash Core 0.12.2

dash-cli -testnet getblockhashes 1507555793 1507554793

Result:

[
  "0000000010a16c6fbc6bd5cdc238c2beabcda334e97fde1500d59be4e6fc4b89",
  "000000009910885e811230c403e55aac6547d6df04ee671b2e8348524f73cab8",
  "000000004bbb3828db1c4d4491760336cec215087819ab656336f30d4095e3d2",
  "00000000ad2df2149aca2261a9a87c41e139dfe8f73d91db7ec0c1837fee21a0",
  "0000000074068a9e3a271d165da3deb28bc3f8c751dde97f460d8078d92a9d06"
]

See also

  • GetBlock: gets a block with a particular header hash from the local block database either as a JSON object or as a serialized block.

  • GetBlockHash: returns the header hash of a block at the given height in the local best block chain.

  • GetBestBlockHash: returns the header hash of the most recent block on the best block chain.

GetBlockHeader#

Added in Bitcoin Core 0.12.0

The getblockheader RPC 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.

Parameter #1—header hash

Name

Type

Presence

Description

Header Hash

string (hex)

Required
(exactly 1)

The hash of the block header to get, encoded as hex in RPC byte order

Parameter #2—JSON or hex output

Name

Type

Presence

Description

Format

bool

Optional
(0 or 1)

Set to false to get the block header in serialized block format; set to true (the default) to get the decoded block header as a JSON object

Result (if format was false)—a serialized block header

Name

Type

Presence

Description

result

string (hex)/null

Required
(exactly 1)

The requested block header as a serialized block, encoded as hex, or JSON null if an error occurred

Result (if format was true or omitted)—a JSON block header

Name

Type

Presence

Description

result

object/null

Required
(exactly 1)

An object containing the requested block, or JSON null if an error occurred


hash

string (hex)

Required
(exactly 1)

The hash of this block’s block header encoded as hex in RPC byte order. This is the same as the hash provided in parameter #1


confirmations

number (int)

Required
(exactly 1)

The number of confirmations the transactions in this block have, starting at 1 when this block is at the tip of the best block chain. This score will be -1 if the the block is not part of the best block chain


height

number (int)

Required
(exactly 1)

The height of this block on its block chain


version

number (int)

Required
(exactly 1)

This block’s version number. See block version numbers


merkleroot

string (hex)

Required
(exactly 1)

The merkle root for this block, encoded as hex in RPC byte order


time

number (int)

Required
(exactly 1)

The time of the block


mediantime

number (int)

Required
(exactly 1)

The computed median time of the previous 11 blocks. Used for validating transaction locktime under BIP113


nonce

number (int)

Required
(exactly 1)

The nonce which was successful at turning this particular block into one that could be added to the best block chain


bits

string (hex)

Required
(exactly 1)

The value of the nBits field in the block header, indicating the target threshold this block’s header had to pass


difficulty

number (real)

Required
(exactly 1)

The estimated amount of work done to find this block relative to the estimated amount of work done to find block 0


chainwork

string (hex)

Required
(exactly 1)

The estimated number of block header hashes miners had to check from the genesis block to this block, encoded as big-endian hex


nTx

number (int)

Required
(exactly 1)

Added in Dash Core 0.16.0

The number of transactions in the block


previousblockhash

string (hex)

Optional
(0 or 1)

The hash of the header of the previous block, encoded as hex in RPC byte order. Not returned for genesis block


nextblockhash

string (hex)

Optional
(0 or 1)

The hash of the next block on the best block chain, if known, encoded as hex in RPC byte order

Changes from Bitcoin - Following items not present in Dash result

Name

Type

Presence

Description


versionHex

number (hex)

Required
(exactly 1)

This block’s hex version number. See block version numbers

Example from Dash Core 0.16.0

Get a block header in raw hex:

dash-cli -testnet getblockheader \
            00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b \
            false

Result (wrapped):

00000020272e374a06c87a0ce0e6ee1a0754c98b9ec2493e7c0ac7ba41a0\
730000000000568b3c4156090db4d8db5447762e95dd1d4c921c96801a9\
086720ded85266325916cc05caa94001c5caf3595

Get the same block in JSON:

dash-cli -testnet getblockheader \
            00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b

Result:

{
  "hash": "00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b",
  "confirmations": 212900,
  "height": 86190,
  "version": 536870912,
  "versionHex": "20000000",
  "merkleroot": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
  "time": 1556114577,
  "mediantime": 1556113720,
  "nonce": 2503323484,
  "bits": "1c0094aa",
  "difficulty": 440.8261075201009,
  "chainwork": "0000000000000000000000000000000000000000000000000045ab6f9403a8e7",
  "nTx": 1,
  "previousblockhash": "000000000073a041bac70a7c3e49c29e8bc954071aeee6e00c7ac8064a372e27",
  "nextblockhash": "00000000001c6c962639a1aad4cd069f315560a824d489418dc1f26b50a58aed",
  "chainlock": true
}

See also

  • GetBlock: gets a block with a particular header hash from the local block database either as a JSON object or as a serialized block.

  • 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).

  • GetBlockHeaders: returns an array of items with information about the requested number of blockheaders starting from the requested hash.

  • GetBestBlockHash: returns the header hash of the most recent block on the best block chain.

GetBlockHeaders#

Added in Dash Core 0.12.1

The getblockheaders RPC returns an array of items with information about the requested number of blockheaders starting from the requested hash.

Parameter #1—header hash

Name

Type

Presence

Description

Header Hash

string (hex)

Required
(exactly 1)

The hash of the block header to get, encoded as hex in RPC byte order

Parameter #2—number of headers to return

Name

Type

Presence

Description

Count

number

Optional
(exactly 1)

The number of block headers to get

Parameter #3—JSON or hex output

Name

Type

Presence

Description

Verbose

bool

Optional
(0 or 1)

Set to false to get the block headers in serialized block format; set to true (the default) to get the decoded block headers as a JSON object

Result (if format was false)—a serialized block header

Name

Type

Presence

Description

result

array

Required
(exactly 1)

The requested block header(s) as a serialized block


header

string (hex)

Required
(1 or more)

The block header encoded as hex in RPC byte order

Result (if format was true or omitted)—a JSON block header

Name

Type

Presence

Description

result

array

Required
(exactly 1)

An array of objects each containing a block header, or JSON null if an error occurred


Block Header

object/null

Required
(exactly 1)

An object containing a block header

→ →
hash

string (hex)

Required
(exactly 1)

The hash of this block’s block header encoded as hex in RPC byte order. This is the same as the hash provided in parameter #1

→ →
confirmations

number (int)

Required
(exactly 1)

The number of confirmations the transactions in this block have, starting at 1 when this block is at the tip of the best block chain. This score will be -1 if the the block is not part of the best block chain

→ →
height

number (int)

Required
(exactly 1)

The height of this block on its block chain

→ →
version

number (int)

Required
(exactly 1)

This block’s version number. See block version numbers

→ →
merkleroot

string (hex)

Required
(exactly 1)

The merkle root for this block, encoded as hex in RPC byte order

→ →
time

number (int)

Required
(exactly 1)

The time of the block

→ →
mediantime

number (int)

Required
(exactly 1)

The computed median time of the previous 11 blocks. Used for validating transaction locktime under BIP113

→ →
nonce

number (int)

Required
(exactly 1)

The nonce which was successful at turning this particular block into one that could be added to the best block chain

→ →
bits

string (hex)

Required
(exactly 1)

The value of the nBits field in the block header, indicating the target threshold this block’s header had to pass

→ →
difficulty

number (real)

Required
(exactly 1)

The estimated amount of work done to find this block relative to the estimated amount of work done to find block 0


chainwork

string (hex)

Required
(exactly 1)

The estimated number of block header hashes miners had to check from the genesis block to this block, encoded as big-endian hex


nTx

number (int)

Required
(exactly 1)

Added in Dash Core 0.16.0

The number of transactions in the block

→ →
previousblockhash

string (hex)

Optional
(0 or 1)

The hash of the header of the previous block, encoded as hex in RPC byte order. Not returned for genesis block

→ →
nextblockhash

string (hex)

Optional
(0 or 1)

The hash of the next block on the best block chain, if known, encoded as hex in RPC byte order

Example from Dash Core 0.16.0

Get two block headers in raw hex:

dash-cli -testnet getblockheaders \
            00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b \
            2 false

Result (wrapped):

[
  "00000020272e374a06c87a0ce0e6ee1a0754c98b9ec2493e7c0ac7ba41a0730000000\
   000568b3c4156090db4d8db5447762e95dd1d4c921c96801a9086720ded8526632591\
   6cc05caa94001c5caf3595",
  "000000202be60663802ead0740cb6d6e49ee7824481280f03c71369eb90f7b00000000\
   006abd277facc8cf02886d88662dbcc2adb6d8de7a491915e74bed4d835656a4f1f26d\
   c05ced93001ccf81cabc"
]

Get the same two block headers in JSON:

dash-cli -testnet getblockheader \
            00000000eb0af5aec7b673975a22593dc0cc763f71ba8de26292410273437078 \
            2 true

Result:

[
  {
    "hash": "00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b",
    "confirmations": 212910,
    "height": 86190,
    "version": 536870912,
    "versionHex": "20000000",
    "merkleroot": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
    "time": 1556114577,
    "mediantime": 1556113720,
    "nonce": 2503323484,
    "bits": "1c0094aa",
    "difficulty": 440.8261075201009,
    "chainwork": "0000000000000000000000000000000000000000000000000045ab6f9403a8e7",
    "nTx": 1,
    "previousblockhash": "000000000073a041bac70a7c3e49c29e8bc954071aeee6e00c7ac8064a372e27",
    "nextblockhash": "00000000001c6c962639a1aad4cd069f315560a824d489418dc1f26b50a58aed",
    "chainlock": true
  },
  {
    "hash": "00000000001c6c962639a1aad4cd069f315560a824d489418dc1f26b50a58aed",
    "confirmations": 212909,
    "height": 86191,
    "version": 536870912,
    "versionHex": "20000000",
    "merkleroot": "f1a45656834ded4be71519497aded8b6adc2bc2d66886d8802cfc8ac7f27bd6a",
    "time": 1556114930,
    "mediantime": 1556113903,
    "nonce": 3167388111,
    "bits": "1c0093ed",
    "difficulty": 443.0262219757585,
    "chainwork": "0000000000000000000000000000000000000000000000000045ad2a9c752d18",
    "nTx": 1,
    "previousblockhash": "00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b",
    "nextblockhash": "000000000076a17beb1bb56e6ec53579f8a604d2363c9a4f8ca3f63e6aca3423",
    "chainlock": true
  }
]

See also

  • GetBlock: gets a block with a particular header hash from the local block database either as a JSON object or as a serialized block.

  • 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).

  • GetBlockHeader: 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.

  • GetBestBlockHash: returns the header hash of the most recent block on the best block chain.

GetBlockStats#

The getblockstats RPC computes per block statistics for a given window.

❗️

Breaking change(s) in Dash Core 18.0. See parameter and/or response information for details.

This RPC won’t work for some heights if pruning is enabled. Since Dash Core 18.1, -txindex is no longer required and it works for all non-pruned blocks.

Parameter #1—hash_or_height

Name

Type

Presence

Description

hash_or_height

string or numeric

Required
(exactly 1)

The block hash or height of the target block

Parameter #2—stats

Name

Type

Presence

Description

stats

array

optional

Values to plot, by default all values (see result below)

Result—a JSON object containing the requested statistics

📘

Note: all amounts are in duffs.

Name

Type

Presence

Description

result

object/null

Required
(exactly 1)

An object containing stats for the requested block, or JSON null if an error occurred


avgfee

numeric

Required
(exactly 1)

Average fee in the block


avgfeerate

numeric

Required
(exactly 1)

Average feerate (in duffs per byte)


avgtxsize

numeric

Required
(exactly 1)

Average transaction size


blockhash

string (hex)

Required
(exactly 1)

The block hash (to check for potential reorgs)


feerate_percentiles

array (num)

Required
(exactly 1)

Added in Dash Core 18.0.0
Feerates at the 10th, 25th, 50th, 75th, and 90th percentile weight unit, which are in duffs per byte.

→ →
10th_percentile_feerate

numeric

Required
(exactly 1)

The 10th percentile feerate

→ →
25th_percentile_feerate

numeric

Required
(exactly 1)

The 25th percentile feerate

→ →
50th_percentile_feerate

numeric

Required
(exactly 1)

The 50th percentile feerate

→ →
75th_percentile_feerate

numeric

Required
(exactly 1)

The 75th percentile feerate

→ →
90th_percentile_feerate

numeric

Required
(exactly 1)

The 90th percentile feerate


height

numeric

Required
(exactly 1)

The height of the block


ins

numeric

Required
(exactly 1)

The number of inputs (excluding coinbase)


maxfee

numeric

Required
(exactly 1)

Maximum fee in the block


maxfeerate

numeric

Required
(exactly 1)

Maximum feerate (in duffs per byte)


maxtxsize

numeric

Required
(exactly 1)

Maximum transaction size


medianfee

numeric

Required
(exactly 1)

Truncated median fee in the block


~~medianfeerate~~

~~numeric~~

~~Required (exactly 1)~~

Removed in Dash Core 18.0.0
~~Truncated median feerate (in duffs per byte)~~


mediantime

numeric

Required
(exactly 1)

The block median time past


mediantxsize

numeric

Required
(exactly 1)

Truncated median transaction size


minfee

numeric

Required
(exactly 1)

Minimum fee in the block


minfeerate

numeric

Required
(exactly 1)

Minimum feerate (in duffs per byte)


mintxsize

numeric

Required
(exactly 1)

Minimum transaction size


outs

numeric

Required
(exactly 1)

The number of outputs


subsidy

numeric

Required
(exactly 1)

The block subsidy


time

number (real)

Required
(exactly 1)

The block time


total_out

numeric

Required
(exactly 1)

Total amount in all outputs (excluding coinbase and thus reward [i.e. subsidy + totalfee])


total_size

numeric

Required
(exactly 1)

Total size of all non-coinbase transactions


totalfee

numeric

Required
(exactly 1)

The fee total


txs

numeric

Required
(exactly 1)

The number of transactions (including coinbase)


utxo_increase

numeric

Required
(exactly 1)

The increase/decrease in the number of unspent outputs


utxo_size_inc

numeric

Required
(exactly 1)

The increase/decrease in size for the utxo index (not discounting op_return and similar)

Example from Dash Core 18.0.0

dash-cli getblockstats 1000 '["minfeerate","avgfeerate"]'

Result:

{
  "avgfeerate": 0,
  "minfeerate": 0
}

See also: none

GetChainTips#

The getchaintips RPC returns information about the highest-height block (tip) of each local block chain.

Parameters: none

Result—an array of block chain tips

Name

Type

Presence

Description

result

array

Required
(exactly 1)

An array of JSON objects, with each object describing a chain tip. At least one tip—the local best block chain—will always be present


Tip

object

Required
(1 or more)

An object describing a particular chain tip. The first object will always describe the active chain (the local best block chain)

→ →
height

number (int)

Required
(exactly 1)

The height of the highest block in the chain. A new node with only the genesis block will have a single tip with height of 0

→ →
hash

string (hex)

Required
(exactly 1)

The hash of the highest block in the chain, encoded as hex in RPC byte order


difficulty

number (real)

Required
(exactly 1)

The difficulty of the highest-height block in the best block chain (Added in Dash Core 0.12.1)


chainwork

string (hex)

Required
(exactly 1)

The estimated number of block header hashes checked from the genesis block to this block, encoded as big-endian hex (Added in Dash Core 0.12.1)

→ →
branchlen

number (int)

Required
(exactly 1)

The number of blocks that are on this chain but not on the main chain. For the local best block chain, this will be 0; for all other chains, it will be at least 1

→ →
forkpoint

string (hex)

Required
(exactly 1)

Added in Dash Core 0.12.3

Block hash of the last common block between this tip and the main chain

→ →
status

string

Required
(exactly 1)

The status of this chain. Valid values are:
active for the local best block chain
invalid for a chain that contains one or more invalid blocks
headers-only for a chain with valid headers whose corresponding blocks both haven’t been validated and aren’t stored locally
valid-headers for a chain with valid headers whose corresponding blocks are stored locally, but which haven’t been fully validated
valid-fork for a chain which is fully validated but which isn’t part of the local best block chain (it was probably the local best block chain at some point)
unknown for a chain whose reason for not being the active chain is unknown

Example from Dash Core 0.12.3

dash-cli -testnet getchaintips
[
  {
    "height": 110192,
    "hash": "000000000c6007f40c3b68a77b0e1319a89c0504ae1b391d071cf49fa7591dee",
    "difficulty": 18.38631407059958,
    "chainwork": "000000000000000000000000000000000000000000000000002cbd2546718747",
    "branchlen": 0,
    "forkpoint": "000000000c6007f40c3b68a77b0e1319a89c0504ae1b391d071cf49fa7591dee",
    "status": "active"
  }
]

See also

  • GetBestBlockHash: returns the header hash of the most recent block on the best block chain.

  • GetBlock: gets a block with a particular header hash from the local block database either as a JSON object or as a serialized block.

  • GetBlockChainInfo: provides information about the current state of the block chain.

GetChainTxStats#

The getchaintxstats RPC compute statistics about the total number and rate of transactions in the chain.

Parameter #1—nblocks

Name

Type

Presence

Description

nblocks

number (int)

Optional

Size of the window in number of blocks (default: one month).

Parameter #2—blockhash

Name

Type

Presence

Description

blockhash

string

Optional

The hash of the block that ends the window.

Result–statistics about transactions

Name

Type

Presence

Description

result

object

Required
(exactly 1)

Object containing transaction statistics


time

number (int)

Required
(exactly 1)

The timestamp for the statistics in UNIX format


txcount

number (int)

Required
(exactly 1)

The total number of transactions in the chain up to that point


window_final_block_hash

string (hex)

Required
(exactly 1)

Added in Dash Core 0.17.0

The hash of the final block in the window


window_block_count

number (int)

Required
(exactly 1)

Added in Dash Core 0.16.0

Size of the window in number of blocks


window_final_block_height

number (int)

Required
(exactly 1)

Added in Dash Core 18.0.0

Height of the final block in window


window_tx_count

number (int)

Optional
(0 or 1)

Added in Dash Core 0.16.0

The number of transactions in the window. Only returned if window_block_count is > 0


window_interval

number (int)

Optional
(0 or 1)

Added in Dash Core 0.16.0

The elapsed time in the window in seconds. Only returned if window_block_count is > 0


txrate

number (int)

Optional
(0 or 1)

The average rate of transactions per second in the window. Only returned if window_interval is > 0

Example from Dash Core 18.0.0

dash-cli -testnet getchaintxstats

Result:

{
  "time": 1634200935,
  "txcount": 5255650,
  "window_final_block_hash": "0000013524141f0e54137d266088c3d042cca340eabc4393414d7d0560866239",
  "window_final_block_height": 593815,
  "window_block_count": 17280,
  "window_tx_count": 33384,
  "window_interval": 2417430,
  "txrate": 0.0138097070028915
}

See also: none

GetDifficulty#

The getdifficulty RPC returns the proof-of-work difficulty as a multiple of the minimum difficulty.

Parameters: none

Result—the current difficulty

Name

Type

Presence

Description

result

number (real)

Required
(exactly 1)

The difficulty of creating a block with the same target threshold (nBits) as the highest-height block in the local best block chain. The number is a a multiple of the minimum difficulty

Example from Dash Core 0.12.2

dash-cli -testnet getdifficulty

Result:

1.069156225528583

See also

  • GetNetworkHashPS: returns the estimated network hashes per second based on the last n blocks.

  • GetMiningInfo: returns various mining-related information.

GetMemPoolAncestors#

Added in Dash Core 0.12.3

The getmempoolancestors RPC returns all in-mempool ancestors for a transaction in the mempool.

Parameter #1—a transaction identifier (TXID)

Name

Type

Presence

Description

TXID

string (hex)

Required
(exactly 1)

The TXID of a transaction in the memory pool, encoded as hex in RPC byte order

Parameter #2—desired output format

Name

Type

Presence

Description

Format

bool

Optional
(0 or 1)

Set to true to get json objects describing each transaction in the memory pool; set to false (the default) to only get an array of TXIDs

Result—list of ancestor transactions

Name

Type

Presence

Description

result

array

Required
(exactly 1)

An array of TXIDs belonging to transactions in the memory pool. The array may be empty if there are no transactions in the memory pool


TXID

string

Optional
(0 or more)

The TXID of a transaction in the memory pool, encoded as hex in RPC byte order

Result (format: true)—a JSON object describing each transaction

Name

Type

Presence

Description

result

object

Required
(exactly 1)

A object containing transactions currently in the memory pool. May be empty


TXID

string : object

Optional
(0 or more)

The TXID of a transaction in the memory pool, encoded as hex in RPC byte order

→ →
size

number (int)

Required
(exactly 1)

The size of the serialized transaction in bytes

→ →
fee

number (bitcoins)

Required
(exactly 1)

Deprecated in Dash Core 0.17.0

The transaction fee paid by the transaction in decimal bitcoins

→ →
modifiedfee

number (bitcoins)

Required
(exactly 1)

Deprecated in Dash Core 0.17.0

The transaction fee with fee deltas used for mining priority in decimal bitcoins

→ →
time

number (int)

Required
(exactly 1)

The time the transaction entered the memory pool, Unix epoch time format

→ →
height

number (int)

Required
(exactly 1)

The block height when the transaction entered the memory pool

→ →
descendantcount

number (int)

Required
(exactly 1)

The number of in-mempool descendant transactions (including this one)

→ →
descendantsize

number (int)

Required
(exactly 1)

The size of in-mempool descendants (including this one)

→ →
descendantfees

number (int)

Required
(exactly 1)

Deprecated in Dash Core 0.17.0

The modified fees (see modifiedfee above) of in-mempool descendants (including this one)

→ →
ancestorcount

number (int)

Required
(exactly 1)

The number of in-mempool ancestor transactions (including this one)

→ →
ancestorsize

number (int)

Required
(exactly 1)

The size of in-mempool ancestors (including this one)

→ →
ancestorfees

number (int)

Required
(exactly 1)

Deprecated in Dash Core 0.17.0

The modified fees (see modifiedfee above) of in-mempool ancestors (including this one)

→ →
fees

object

Optional
(0 or 1)

Added in Dash Core 0.17.0
Object containing fee information

→→→
base

number

Optional
(0 or 1)

Added in Dash Core 0.17.0
Transaction fee in DASH

→→→
modified

number

Optional
(0 or 1)

Added in Dash Core 0.17.0
Transaction fee with fee deltas used for mining priority in DASH

→→→
ancestor

number

Optional
(0 or 1)

Added in Dash Core 0.17.0
Modified fees (see above) of in-mempool ancestors (including this one) in DASH

→→→
descendent

number

Optional
(0 or 1)

Added in Dash Core 0.17.0
Modified fees (see above) of in-mempool descendants (including this one) in DASH

→ →
depends

array

Required
(exactly 1)

An array holding TXIDs of unconfirmed transactions this transaction depends upon (parent transactions). Those transactions must be part of a block before this transaction can be added to a block, although all transactions may be included in the same block. The array may be empty

→ → →
Depends TXID

string

Optional (0 or more)

The TXIDs of any unconfirmed transactions this transaction depends upon, encoded as hex in RPC byte order

→ →
spentby

array

Required
(exactly 1)

Added in Dash Core 20.0.0
An array of unconfirmed transactions spending outputs from this transaction

→ → →
TXID

string

Optional (0 or more)

The TXIDs of any unconfirmed transactions spending from this transaction

→ →
unbroadcast

bool

Required
(exactly 1)

Added in Dash Core 20.0.0
True if this transaction is currently unbroadcast (initial broadcast not yet acknowledged by any peers)

→ →
instantlock

bool

Required
(exactly 1)

Set to true if this transaction was locked via InstantSend

Examples from Dash Core 20.0.0

The default (false):

dash-cli getmempoolancestors c32b5d5d94a6d151b69bfd25d77e5b538dffba2445b957c81fcf9df1b90f4ba1

Result:

[
  "d64eb30e5435e7a4564df9d06525a8ab48858fdaf111661d1e7874a72cebc132"
]

Verbose output (true):

dash-cli getmempoolancestors c32b5d5d94a6d151b69bfd25d77e5b538dffba2445b957c81fcf9df1b90f4ba1 true

Result:

{
    "177826190c3fd38a93a381a9b5ad7d955c3f2cf886f7c6f0d58647fb868cf9f5": {
    "fees": {
      "base": 0.00000226,
      "modified": 0.00000226,
      "ancestor": 0.00000226,
      "descendant": 0.00003226
    },
    "vsize": 226,
    "fee": 0.00000226,
    "modifiedfee": 0.00000226,
    "time": 1690318336,
    "height": 1909978,
    "descendantcount": 6,
    "descendantsize": 1648,
    "descendantfees": 3226,
    "ancestorcount": 1,
    "ancestorsize": 226,
    "ancestorfees": 226,
    "depends": [
    ],
    "spentby": [
      "127cfa4cd892ad78b9c1227bebfef2bb5a8a06636b659a734c0a5787004934ca"
    ],
    "instantlock": "true",
    "unbroadcast": false
  }
}

See also

  • GetMemPoolDescendants: returns all in-mempool descendants for a transaction in the mempool.

  • 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.

GetMemPoolDescendants#

Added in Dash Core 0.12.3

The getmempooldescendants RPC returns all in-mempool descendants for a transaction in the mempool.

Parameter #1—a transaction identifier (TXID)

Name

Type

Presence

Description

TXID

string (hex)

Required
(exactly 1)

The TXID of a transaction in the memory pool, encoded as hex in RPC byte order

Parameter #2—desired output format

Name

Type

Presence

Description

Format

bool

Optional
(0 or 1)

Set to true to get json objects describing each transaction in the memory pool; set to false (the default) to only get an array of TXIDs

Result—list of descendant transactions

Name

Type

Presence

Description

result

array

Required
(exactly 1)

An array of TXIDs belonging to transactions in the memory pool. The array may be empty if there are no transactions in the memory pool


TXID

string

Optional
(0 or more)

The TXID of a transaction in the memory pool, encoded as hex in RPC byte order

Result (format: true)—a JSON object describing each transaction

Name

Type

Presence

Description

result

object

Required
(exactly 1)

A object containing transactions currently in the memory pool. May be empty


TXID

string : object

Optional
(0 or more)

The TXID of a transaction in the memory pool, encoded as hex in RPC byte order

→ →
size

number (int)

Required
(exactly 1)

The size of the serialized transaction in bytes

→ →
fee

number (bitcoins)

Required
(exactly 1)

Deprecated in Dash Core 0.17.0

The transaction fee paid by the transaction in decimal bitcoins

→ →
modifiedfee

number (bitcoins)

Required
(exactly 1)

Deprecated in Dash Core 0.17.0

The transaction fee with fee deltas used for mining priority in decimal bitcoins

→ →
time

number (int)

Required
(exactly 1)

The time the transaction entered the memory pool, Unix epoch time format

→ →
height

number (int)

Required
(exactly 1)

The block height when the transaction entered the memory pool

→ →
descendantcount

number (int)

Required
(exactly 1)

The number of in-mempool descendant transactions (including this one)

→ →
descendantsize

number (int)

Required
(exactly 1)

The size of in-mempool descendants (including this one)

→ →
descendantfees

number (int)

Required
(exactly 1)

Deprecated in Dash Core 0.17.0

The modified fees (see modifiedfee above) of in-mempool descendants (including this one)

→ →
ancestorcount

number (int)

Required
(exactly 1)

The number of in-mempool ancestor transactions (including this one)

→ →
ancestorsize

number (int)

Required
(exactly 1)

The size of in-mempool ancestors (including this one)

→ →
ancestorfees

number (int)

Required
(exactly 1)

Deprecated in Dash Core 0.17.0

The modified fees (see modifiedfee above) of in-mempool ancestors (including this one)

→ →
fees

object

Optional
(0 or 1)

Added in Dash Core 0.17.0
Object containing fee information

→→→
base

number

Optional
(0 or 1)

Added in Dash Core 0.17.0
Transaction fee in DASH

→→→
modified

number

Optional
(0 or 1)

Added in Dash Core 0.17.0
Transaction fee with fee deltas used for mining priority in DASH

→→→
ancestor

number

Optional
(0 or 1)

Added in Dash Core 0.17.0
Modified fees (see above) of in-mempool ancestors (including this one) in DASH

→→→
descendent

number

Optional
(0 or 1)

Added in Dash Core 0.17.0
Modified fees (see above) of in-mempool descendants (including this one) in DASH

→ →
depends

array

Required
(exactly 1)

An array holding TXIDs of unconfirmed transactions this transaction depends upon (parent transactions). Those transactions must be part of a block before this transaction can be added to a block, although all transactions may be included in the same block. The array may be empty

→ → →
Depends TXID

string

Optional (0 or more)

The TXIDs of any unconfirmed transactions this transaction depends upon, encoded as hex in RPC byte order

→ →
spentby

array

Required
(exactly 1)

Added in Dash Core 20.0.0
An array of unconfirmed transactions spending outputs from this transaction

→ → →
TXID

string

Optional (0 or more)

The TXIDs of any unconfirmed transactions spending from this transaction

→ →
unbroadcast

bool

Required
(exactly 1)

Added in Dash Core 20.0.0
True if this transaction is currently unbroadcast (initial broadcast not yet acknowledged by any peers)

→ →
instantlock

bool

Required
(exactly 1)

Set to true if this transaction was locked via InstantSend

Examples from Dash Core 20.0.0

The default (false):

dash-cli getmempooldescendants 414735b9b4da8232299b25510628e321ba7d2adfb042f7c6437ad3b0f7793b80

Result:

[
  "94445715afd59a7ecc2fd6d62e42905194e91633e8f54b459f605fe0d780fe99"
]

Verbose output (true):

dash-cli getmempooldescendants 414735b9b4da8232299b25510628e321ba7d2adfb042f7c6437ad3b0f7793b80 true

Result:

{
  "94445715afd59a7ecc2fd6d62e42905194e91633e8f54b459f605fe0d780fe99": {
    "fees": {
      "base": 0.00000225,
      "modified": 0.00000225,
      "ancestor": 0.00000450,
      "descendant": 0.00000225
    },
    "vsize": 225,
    "fee": 0.00000225,
    "modifiedfee": 0.00000225,
    "time": 1690906537,
    "height": 879144,
    "descendantcount": 1,
    "descendantsize": 225,
    "descendantfees": 225,
    "ancestorcount": 2,
    "ancestorsize": 450,
    "ancestorfees": 450,
    "depends": [
      "414735b9b4da8232299b25510628e321ba7d2adfb042f7c6437ad3b0f7793b80"
    ],
    "spentby": [
    ],
    "instantlock": "true",
    "unbroadcast": false
  }
}

See also

  • GetMemPoolAncestors: returns all in-mempool ancestors for a transaction in the mempool.

  • 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.

GetMemPoolEntry#

Added in Dash Core 0.14.0

The getmempoolentry RPC returns mempool data for given transaction (must be in mempool).

Parameter #1—a transaction identifier (TXID)

Name

Type

Presence

Description

TXID

string (hex)

Required
(exactly 1)

The TXID of a transaction in the memory pool, encoded as hex in RPC byte order

Result —a JSON object describing the transaction

Name

Type

Presence

Description

result

object

Required
(exactly 1)

A object containing transactions currently in the memory pool. May be empty


vsize

number (int)

Required
(exactly 1)

The virtual transaction size. This can be different from actual serialized size for high-sigop transactions.


fee

number (bitcoins)

Required
(exactly 1)

Deprecated in Dash Core 0.17.0

The transaction fee paid by the transaction in decimal bitcoins


modifiedfee

number (bitcoins)

Required
(exactly 1)

Deprecated in Dash Core 0.17.0

The transaction fee with fee deltas used for mining priority in decimal bitcoins


time

number (int)

Required
(exactly 1)

The time the transaction entered the memory pool, Unix epoch time format


height

number (int)

Required
(exactly 1)

The block height when the transaction entered the memory pool


descendantcount

number (int)

Required
(exactly 1)

The number of in-mempool descendant transactions (including this one)


descendantsize

number (int)

Required
(exactly 1)

The size of in-mempool descendants (including this one)


descendantfees

number (int)

Required
(exactly 1)

Deprecated in Dash Core 0.17.0

The modified fees (see modifiedfee above) of in-mempool descendants (including this one)


ancestorcount

number (int)

Required
(exactly 1)

The number of in-mempool ancestor transactions (including this one)


ancestorsize

number (int)

Required
(exactly 1)

The size of in-mempool ancestors (including this one)


ancestorfees

number (int)

Required
(exactly 1)

Deprecated in Dash Core 0.17.0

The modified fees (see modifiedfee above) of in-mempool ancestors (including this one)

→ →
fees

object

Optional
(0 or 1)

Added in Dash Core 0.17.0
Object containing fee information

→→→
base

number

Optional
(0 or 1)

Added in Dash Core 0.17.0
Transaction fee in DASH

→→→
modified

number

Optional
(0 or 1)

Added in Dash Core 0.17.0
Transaction fee with fee deltas used for mining priority in DASH

→→→
ancestor

number

Optional
(0 or 1)

Added in Dash Core 0.17.0
Modified fees (see above) of in-mempool ancestors (including this one) in DASH

→→→
descendent

number

Optional
(0 or 1)

Added in Dash Core 0.17.0
Modified fees (see above) of in-mempool descendants (including this one) in DASH


depends

array

Required
(exactly 1)

An array holding TXIDs of unconfirmed transactions this transaction depends upon (parent transactions). Those transactions must be part of a block before this transaction can be added to a block, although all transactions may be included in the same block. The array may be empty

→ →
Depends TXID

string

Optional (0 or more)

The TXIDs of any unconfirmed transactions this transaction depends upon, encoded as hex in RPC byte order


spentby

array

Required
(exactly 1)

Added in Dash Core 20.0.0
An array of unconfirmed transactions spending outputs from this transaction

→ →
TXID

string

Optional (0 or more)

The TXIDs of any unconfirmed transactions spending from this transaction


unbroadcast

bool

Required
(exactly 1)

Added in Dash Core 20.0.0
True if this transaction is currently unbroadcast (initial broadcast not yet acknowledged by any peers)


instantlock

bool

Required
(exactly 1)

True if this transaction was locked via InstantSend

Example from Dash Core 20.0.0

dash-cli getmempoolentry 33136ead40c8ad0019be7ab8d8e430c1e336fd6f7fcfe204096c0da28d9a6225

Result:

{
  "fees": {
    "base": 0.00009350,
    "modified": 0.00009350,
    "ancestor": 0.00009350,
    "descendant": 0.00009350
  },
  "vsize": 374,
  "fee": 0.00009350,
  "modifiedfee": 0.00009350,
  "time": 1690317662,
  "height": 1909971,
  "descendantcount": 1,
  "descendantsize": 374,
  "descendantfees": 9350,
  "ancestorcount": 1,
  "ancestorsize": 374,
  "ancestorfees": 9350,
  "depends": [
  ],
  "spentby": [
  ],
  "instantlock": "true",
  "unbroadcast": false
}

See also

  • GetMemPoolAncestors: returns all in-mempool ancestors for a transaction in the mempool.

  • GetMemPoolDescendants: returns all in-mempool descendants for a transaction in the mempool.

  • 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.

GetMemPoolInfo#

The getmempoolinfo RPC returns information about the node’s current transaction memory pool.

Parameters: none

Result—information about the transaction memory pool

Name

Type

Presence

Description

result

object

Required
(exactly 1)

A object containing information about the memory pool


size

number (int)

Required
(exactly 1)

The number of transactions currently in the memory pool


bytes

number (int)

Required
(exactly 1)

The total number of bytes in the transactions in the memory pool


usage

number (int)

Required
(exactly 1)

Added in Bitcoin Core 0.11.0

Total memory usage for the mempool in bytes


maxmempool

number (int)

Required
(exactly 1)

Added in Bitcoin Core 0.12.0

Maximum memory usage for the mempool in bytes


mempoolminfee

number

Required
(exactly 1)

Added in Bitcoin Core 0.12.0

The lowest fee per kilobyte paid by any transaction in the memory pool


mempoolminfee

number

Required
(exactly 1)

Added in Dash Core 0.16.0

Minimum fee rate in DASH/kB for tx to be accepted. Is the maximum of minrelaytxfee and minimum mempool fee


minrelaytxfee

number (int)

Required
(exactly 1)

Added in Dash Core 20.0.0

Current minimum relay fee for transactions


instantsendlocks

number (int)

Required
(exactly 1)

Added in Dash Core 0.15.0

Number of InstantSend locked transactions not yet in a block


unbroadcastcount

number (int)

Required
(exactly 1)

Added in Dash Core 20.0.0

Current number of transactions that haven’t passed initial broadcast yet

Example from Dash Core 20.0.0

dash-cli -testnet getmempoolinfo

Result:

{
  "loaded": true,
  "size": 11,
  "bytes": 10565,
  "usage": 26560,
  "maxmempool": 300000000,
  "mempoolminfee": 0.00001000,
  "minrelaytxfee": 0.00001000,
  "instantsendlocks": 11,
  "unbroadcastcount": 0
}

See also

  • GetBlockChainInfo: provides information about the current state of the block chain.

  • 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.

  • 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.

GetRawMemPool#

The getrawmempool RPC 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.

Parameter—desired output format

Name

Type

Presence

Description

Format

bool

Optional
(0 or 1)

Set to true to get verbose output describing each transaction in the memory pool; set to false (the default) to only get an array of TXIDs for transactions in the memory pool

Result (format false)—an array of TXIDs

Name

Type

Presence

Description

result

array

Required
(exactly 1)

An array of TXIDs belonging to transactions in the memory pool. The array may be empty if there are no transactions in the memory pool


TXID

string

Optional
(0 or more)

The TXID of a transaction in the memory pool, encoded as hex in RPC byte order

Result (format: true)—a JSON object describing each transaction

Name

Type

Presence

Description

result

object

Required
(exactly 1)

A object containing transactions currently in the memory pool. May be empty


TXID

string : object

Optional
(0 or more)

The TXID of a transaction in the memory pool, encoded as hex in RPC byte order

→ →
size

number (int)

Required
(exactly 1)

The size of the serialized transaction in bytes

→ →
fee

amount (Dash)

Required
(exactly 1)

Deprecated in Dash Core 0.17.0

The transaction fee paid by the transaction in decimal Dash

→ →
modifiedfee

amount (Dash)

Required
(exactly 1)

Deprecated in Dash Core 0.17.0

The transaction fee with fee deltas used for mining priority in decimal Dash

→ →
time

number (int)

Required
(exactly 1)

The time the transaction entered the memory pool, Unix epoch time format

→ →
height

number (int)

Required
(exactly 1)

The block height when the transaction entered the memory pool

→ →
descendantcount

number (int)

Required
(exactly 1)

Added in Bitcoin Core 0.12.0

The number of in-mempool descendant transactions (including this one)

→ →
descendantsize

number (int)

Required
(exactly 1)

Added in Bitcoin Core 0.12.0

The size of in-mempool descendants (including this one)

→ →
descendantfees

number (int)

Required
(exactly 1)

Deprecated in Dash Core 0.17.0

The modified fees (see modifiedfee above) of in-mempool descendants (including this one)

→ →
ancestorcount

number (int)

Required
(exactly 1)

Added in Dash Core 0.12.3 / Bitcoin Core 0.13.0

The number of in-mempool ancestor transactions (including this one)

→ →
ancestorsize

number (int)

Required
(exactly 1)

Added in Dash Core 0.12.3 / Bitcoin Core 0.13.0

The size of in-mempool ancestors (including this one)

→ →
ancestorfees

number (int)

Required
(exactly 1)

Deprecated in Dash Core 0.17.0

The modified fees (see modifiedfee above) of in-mempool ancestors (including this one)

→ →
fees

object

Optional
(0 or 1)

Added in Dash Core 0.17.0
Object containing fee information

→→→
base

number

Optional
(0 or 1)

Added in Dash Core 0.17.0
Transaction fee in DASH

→→→
modified

number

Optional
(0 or 1)

Added in Dash Core 0.17.0
Transaction fee with fee deltas used for mining priority in DASH

→→→
ancestor

number

Optional
(0 or 1)

Added in Dash Core 0.17.0
Modified fees (see above) of in-mempool ancestors (including this one) in DASH

→→→
descendent

number

Optional
(0 or 1)

Added in Dash Core 0.17.0
Modified fees (see above) of in-mempool descendants (including this one) in DASH

→ →
depends

array

Required
(exactly 1)

An array holding TXIDs of unconfirmed transactions this transaction depends upon (parent transactions). Those transactions must be part of a block before this transaction can be added to a block, although all transactions may be included in the same block. The array may be empty

→ → →
Depends TXID

string

Optional (0 or more)

The TXIDs of any unconfirmed transactions this transaction depends upon, encoded as hex in RPC byte order

→ →
spentby

array

Required
(exactly 1)

Added in Dash Core 0.17.0
An array of unconfirmed transactions spending outputs from this transaction

→ → →
TXID

string

Optional (0 or more)

The TXIDs of any unconfirmed transactions spending from this transaction

→ →
unbroadcast

bool

Required
(exactly 1)

Added in Dash Core 20.0.0
True if this transaction is currently unbroadcast (initial broadcast not yet acknowledged by any peers)

→ →
instantlock

bool

Required
(exactly 1)

Added in Dash Core 0.12.3

Set to true for locked InstantSend transactions (masternode quorum has locked the transaction inputs via islock message). Set to false if the masternodes have not approved the InstantSend transaction

Examples from Dash Core 20.0.0

The default (false):

dash-cli getrawmempool

Result:

[
  "16f9a964f1bafbf2a745c2add0da31330b2ee521c2d411416d59c25343b9fb92",
  "664e9ca96802ec014469e0d2c34cc7c7e49c4a5a72613614ee97ebd193104376",
  "bbbfff097dff060a44622d6569c6f11d13ec29d3c204318ec2c2b8bf5b888487",
  "9e6cd0b8feb804b796a6a74e12c45d93c1ea39d3fd205b463e26c70f7f2063e9",
  "d541e8776b42ab9dc9a722bf38f99f0b38be0325193ebaf1576119e3dbc00a49",
  "4d1d77c26cf1184ff26d27cbbc78f95eada99965920c6bceeb508194bb7217e2",
  "e1eafdf61c1062a8e82fd6c42baa0a95f24b8f75fb81db94c4b9e41afc0405d2",
  "f4696ff8a75a0235fe7c9062a895a6e364fd7b3941b41a66efa513176bf3cb21",
  "8614e7a3f4208f69823f09e02c66a22813cac8de7bc05828c3847e39c6d8e323",
  "b8c9eea215addedd8f162e6c4881dd74a14dbd05c820d5149e29990ee5b869dd",
  "0a8ccaf37b2652b6ac400922be8cd4ea91267d19ec8e11e20f848d8e62bdef77",
  "bc0b7a1d1ee9976652949ef014637d107e8154d00484c62fc3a69cc004367244",
  "5446f81969179087b5b490d20b156d13a9d63d7a6d9f618ccda903722b0dab34",
  "50caf79821d946b46db0bb64d0e9d354680ce2b94257d5c7a28a1f65fefde226",
  "76e018d092d1cd8c4e2074ef6225e38f1d7cc5264980b0d1b5e484f944affa06",
  "b86f0408ae8c3126da6458df0c64b1bf19c2f512b40e5811b3130c9fecbc316d",
  "52d8e1ea95fcb1b9156ec7ff2ab82ae3e3040cf8328f86b4d96974990527cd90",
  "43619b452edc8647cbfe740b55a0c8f9716f6bd6bb258b3c7cb6e0be204a57d3",
  "a77d001facacf7d00b2721d246b6790c12018e6e89d6cd543478a84e63bb498a",
  "e4a409ee2fbb94925bdea0fa5a3040550fa85063c6343fba3c7b88122fba365f"
]

Verbose output (true):

dash-cli getrawmempool true

Result:

"0994e854166beb6f15630e7b5aba0ef0e57b2a7235957bcbb8000c09449e9eba": {
    "fees": {
      "base": 0.00000225,
      "modified": 0.00000225,
      "ancestor": 0.00000225,
      "descendant": 0.00000225
    },
    "vsize": 225,
    "fee": 0.00000225,
    "modifiedfee": 0.00000225,
    "time": 1690318205,
    "height": 1909975,
    "descendantcount": 1,
    "descendantsize": 225,
    "descendantfees": 225,
    "ancestorcount": 1,
    "ancestorsize": 225,
    "ancestorfees": 225,
    "depends": [
    ],
    "spentby": [
    ],
    "instantlock": "false",
    "unbroadcast": false
  }

See also

  • GetMemPoolInfo: returns information about the node’s current transaction memory pool.

  • GetMemPoolEntry: returns mempool data for given transaction (must be in mempool).

  • 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.

GetMerkleBlocks#

Added in Dash Core 0.15.0

The getmerkleblocks RPC returns an array of hex-encoded merkleblocks for blocks starting from which match .

Parameter #1—filter

Name

Type

Presence

Description

filter

string

Required
(exactly 1)

The hex encoded bloom filter

Parameter #2—hash

Name

Type

Presence

Description

hash

string

Required
(exactly 1)

The block hash

Parameter #3—count

Name

Type

Presence

Description

count

number (int)

Optional
Default/max=2000

Result—the list of merkleblocks

Name

Type

Presence

Description

result

array

Required
(exactly 1)

An array of merkleblocks


Merkle Block

string (hex)

Optional
(1 or more)

A serialized, hex-encoded merkleblock

Example from Dash Core 0.15.0

dash-cli getmerkleblocks \
  "2303028005802040100040000008008400048141010000f8400420800080025004000004130000000000000001" \
  "00000000007e1432d2af52e8463278bf556b55cf5049262f25634557e2e91202"
  2000

Result (truncated):

[
  "000000202c...aefc440107",
  "0000002058...9a17830103"
]

See also: none

GetSpecialTxes#

Added in Dash Core 0.13.1

The getspecialtxes RPC returns an array of special transactions found in the specified block

Parameter #1—Block hash

Name

Type

Presence

Description

blockhash

string

Required
(exactly 1)

The block hash.

Parameter #2—Special transaction type

Name

Type

Presence

Description

type

int

Optional
(0 or 1)

Filter special txes by type, -1 means all types (default: -1)

Parameter #3—Result limit

Name

Type

Presence

Description

count

int

Optional
(0 or 1)

The number of transactions to return (default: 10)

Parameter #4—Results to skip

Name

Type

Presence

Description

skip

int

Optional
(0 or 1)

The number of transactions to skip (default: 0)

Parameter #5—Verbosity

Name

Type

Presence

Description

verbosity

int

Optional
(0 or 1)

0 for hashes, 1 for hex-encoded data, and 2 for JSON object
(default: 0)

Result (if verbosity was 0)—An array of transaction IDs

Name

Type

Presence

Description

result

string (hex): array

Required
(exactly 1)

Array of special transaction hashes

Result (if verbosity was 1)—An array of serialized transactions

Name

Type

Presence

Description

result

string (hex): array

Required
(exactly 1)

Array of serialized, hex-encoded data for the special transaction(s)

Result (if verbosity was 2)—An array of JSON objects

Name

Type

Presence

Description

result

string (hex): array of ojbects

Required
(exactly 1)

Array of special transaction objects in the format of the getrawtransaction RPC

Example from Dash Core 0.13.1

List of Special Transactions hashes.

dash-cli -testnet getspecialtxes \
0000003db0006ecaccdf5ae2cfa9d94406ef40ff65b9ec34668b87fca3da9226

Result:

[
  "1572a15f56307e413afe3cb7ea0017a1a3fd6d89c6c5f258cc17b2888a8e7fff",
  "89a6dc42063e4a792ec225db64dd9426742a5d1738e8821625d2ab920a6187b2",
  "fa3b3b0d3522becb02ddd15dd075f3d6ecc6a5a50b43c6c9f6d4703a9a8509d5"
]

List of Provider Registration Special Transactions (type: 1) in serialized, hex-encoded format.

dash-cli -testnet getspecialtxes \
0000003db0006ecaccdf5ae2cfa9d94406ef40ff65b9ec34668b87fca3da9226 1 10 0 1

Result:

[
  "0300010001ea721d7420a9b58025894d08f9fecc73b7b87ed09277fa99dad5aa028ea357e1000000006b48304502210093c409672eed335f80630d7108c108d0b85ebe4d8be0758f8a3745f617c4b57302203175063605552c89f6de7f3dadc1773d5ef773b7cc0ccf98e6c5555ea75ba307012102b21d19fec95d9863c5b12fafeb60530e1cfc51d83f49ea9bca7192abb8b83e46feffffff01c4bb609a010000001976a9142efe9f9d3b36b133364d3cccbd27db75a0fbdcb788ac00000000fd120101000000000031567fbaf591ae9d2d0e9050bebce6a311cfd900616f851a3a630aa65e53f6940000000000000000000000000000ffffad3d1ee74a43c1ad3af209f75deaeb9216fc8339fd48d376f9b007ffa44583c9908f4aaca8dd97990c56043e475723f90940ef5fd7d493152540f25f58fb8c965ee5e1be4f850a661476c1ad3af209f75deaeb9216fc8339fd48d376f9b0e8031976a91454bbd7bd7c21553612d60ab16579e51efbcb135288acc281e8bf5a0dd22dfc9f1edeef9ef248f965a79210d997da37fb3e1dec76d1a4412096809bc005c860a0215cb008e3044b972688443b0b7a31ac5a04b728e63b1b5c5489e33dd666435f93c646523ad8a1d935a58957026749cbd0a9bf7e09a77388",
  "03000100012354b77c0f261f3d5b8424cbe67c2f27130f01c531732a08b8ae3f28aaa1b1fb000000006a473044022058323d3d9114492a7a7d350d5e3127d2dc550563968319987079c98f19ed519202204160cfe81adf1f41301136a3cbe03697baa1b14c3103b66bd839ace503dbf2630121026f83a8dad6b4695b136c399405b31d4031fd6631c469673d71eda479157ef9dcfeffffff0106b8609a010000001976a9142a855dc127bfdd5cc0ab73b71ff126e49aa409c488ac00000000fd1201010000000000b60dcb8bab5aba47435942c36ca4ee74ea5b662f4d7c7b528ce341915b2d5aec0100000000000000000000000000ffffad3d1ee74a428d3433cb6b9a1a29fdf07613172bbfdab744889689e308c9d2d8a3cb35f9d7bb7220b1eca82c952b82111119670dacae18a509628c775287e4e796128cd6379b80dffd7d8d3433cb6b9a1a29fdf07613172bbfdab744889610271976a91454bbd7bd7c21553612d60ab16579e51efbcb135288ac512010a2b992d7d5c1e1f999852855cc55162800025cfdf3b56c74e4734a2d97411f858532607cbd8848452dab1f216650def1d11a5abf3fa464c9ffcc7fec894a012a4b70ee5d3b983b5fe640f04a7f3e4fe67fbb5b7cccb71afa37888ad6cca48e"
]

List of Coinbase Special Transactions (type: 5) in JSON format.

dash-cli -testnet getspecialtxes \
00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b 5 10 0 2

Result:

[
  {
    "txid": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
    "size": 229,
    "version": 3,
    "type": 5,
    "locktime": 0,
    "vin": [
      {
        "coinbase": "03ae50011a4d696e656420627920416e74506f6f6c2021000b01201da9196f0000000007000000",
        "sequence": 4294967295
      }
    ],
    "vout": [
      {
        "value": 8.10000000,
        "valueSat": 810000000,
        "n": 0,
        "scriptPubKey": {
          "asm": "OP_DUP OP_HASH160 cbd7bfcc50351180132b2c0698cb90ad74c473c7 OP_EQUALVERIFY OP_CHECKSIG",
          "hex": "76a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac",
          "reqSigs": 1,
          "type": "pubkeyhash",
          "addresses": [
            "yeuGUfPMrbEqAS2Pw1wonYgEPbM4LAA9LK"
          ]
        }
      },
      {
        "value": 8.10000000,
        "valueSat": 810000000,
        "n": 1,
        "scriptPubKey": {
          "asm": "OP_DUP OP_HASH160 88a060bc2dfe05780ae4dcb6c98b12436c35a939 OP_EQUALVERIFY OP_CHECKSIG",
          "hex": "76a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac",
          "reqSigs": 1,
          "type": "pubkeyhash",
          "addresses": [
            "yYmrsYP3XYMZr1cGtha3QzmuNB1C7CfyhV"
          ]
        }
      }
    ],
    "extraPayloadSize": 70,
    "extraPayload": "0200ae50010078e5c08b39960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f9245e20cfd5d830382ac634d434725ca6349ab5db920a3",
    "cbTx": {
      "version": 2,
      "height": 86190,
      "merkleRootMNList": "877392defa24888af72aa15f92b6609e71db1b385c1895bf870896398bc0e578",
      "merkleRootQuorums": "a320b95dab4963ca2547434d63ac8203835dfd0ce245924fa83dc6bab6ac57c7"
    },
    "instantlock": false,
    "chainlock": false
  }
]

See also:

  • 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.

GetSpentInfo#

📘

Requires spentindex Dash Core command-line/configuration-file parameter to be enabled.

Added in Dash Core 0.12.1

The getspentinfo RPC returns the txid and index where an output is spent (requires spentindex to be enabled).

Parameter #1—the TXID of the output

Name

Type

Presence

Description

TXID

string (hex)

Required
(exactly 1)

The TXID of the transaction containing the relevant output, encoded as hex in RPC byte order

Parameter #2—the start block height

Name

Type

Presence

Description

Index

number (int)

Required
(exactly 1)

The block height to begin looking in

Result—the TXID and spending input index

Name

Type

Presence

Description

result

object/null

Required
(exactly 1)

Information about the spent output. If output wasn’t found or if an error occurred, this will be JSON null


txid

string

Required
(exactly 1)

The output txid


index

number

Required
(exactly 1)

The spending input index

Example from Dash Core 0.12.2

Get the txid and index where an output is spent:

dash-cli getspentinfo \
  '''
    {
      "txid": "0456aaf51a8df21dd47c2a06ede046a5bf7403bcb95d14d1d71b178c189fb933", \
      "index": 0
    }
  '''

Result:

{
  "txid": "14e874421350840e9d43965967c5a989e7d41ad361ef37484ee67d01d433ecfa",
  "index": 1,
  "height": 7742
}

See also: none

GetTxOut#

The gettxout RPC returns details about an unspent transaction output (UTXO).

Parameter #1—the TXID of the output to get

Name

Type

Presence

Description

TXID

string (hex)

Required
(exactly 1)

The TXID of the transaction containing the output to get, encoded as hex in RPC byte order

Parameter #2—the output index number (vout) of the output to get

Name

Type

Presence

Description

Vout

number (int)

Required
(exactly 1)

The output index number (vout) of the output within the transaction; the first output in a transaction is vout 0

Parameter #3—whether to display unconfirmed outputs from the memory pool

Name

Type

Presence

Description

Unconfirmed

bool

Optional
(0 or 1)

Set to true to display unconfirmed outputs from the memory pool; set to false (the default) to only display outputs from confirmed transactions

Result—a description of the output

Name

Type

Presence

Description

result

object/null

Required
(exactly 1)

Information about the output. If output wasn’t found, if it was spent, or if an error occurred, this will be JSON null


bestblock

string (hex)

Required
(exactly 1)

The hash of the header of the block on the local best block chain which includes this transaction. The hash will encoded as hex in RPC byte order. If the transaction is not part of a block, the string will be empty


confirmations

number (int)

Required
(exactly 1)

The number of confirmations received for the transaction containing this output or 0 if the transaction hasn’t been confirmed yet


value

number (Dash)

Required
(exactly 1)

The amount of Dash spent to this output. May be 0


scriptPubKey

string : object

Optional
(0 or 1)

An object with information about the pubkey script. This may be null if there was no pubkey script

→ →
asm

string

Required
(exactly 1)

The pubkey script in decoded form with non-data-pushing opcodes listed

→ →
hex

string (hex)

Required
(exactly 1)

The pubkey script encoded as hex

→ →
reqSigs

number (int)

Optional
(0 or 1)

The number of signatures required; this is always 1 for P2PK, P2PKH, and P2SH (including P2SH multisig because the redeem script is not available in the pubkey script). It may be greater than 1 for bare multisig. This value will not be returned for nulldata or nonstandard script types (see the type key below)

→ →
type

string

Optional
(0 or 1)

The type of script. This will be one of the following:
pubkey for a P2PK script
pubkeyhash for a P2PKH script
scripthash for a P2SH script
multisig for a bare multisig script
nulldata for nulldata scripts
nonstandard for unknown scripts

→ →
addresses

string : array

Optional
(0 or 1)

The P2PKH or P2SH addresses used in this transaction, or the computed P2PKH address of any pubkeys in this transaction. This array will not be returned for nulldata or nonstandard script types

→ → →
Address

string

Required
(1 or more)

A P2PKH or P2SH address


coinbase

bool

Required
(exactly 1)

Set to true if the transaction output belonged to a coinbase transaction; set to false for all other transactions. Coinbase transactions need to have 101 confirmations before their outputs can be spent

Example from Dash Core 0.15.0

Get the UTXO from the following transaction from the first output index (“0”), searching the memory pool if necessary.

dash-cli -testnet gettxout \
  e0a06b47f0de6f3851a228d5ac377ac38b495adf04298c43e951e679c5b0aa8f \
  0 true

Result:

{
  "bestblock": "000000005651f6d7859793dee07d476a2f2a7338e66bbb41caf4b544c5b0318d",
  "confirmations": 2,
  "value": 25.00000000,
  "scriptPubKey": {
    "asm": "OP_DUP OP_HASH160 b66266c5017a759817f3bb99e8d9124bf5bb2e74 OP_EQUALVERIFY OP_CHECKSIG",
    "hex": "76a914b66266c5017a759817f3bb99e8d9124bf5bb2e7488ac",
    "reqSigs": 1,
    "type": "pubkeyhash",
    "addresses": [
      "ycwoiAibTjpwnoCZSX7S4kiB2H8wULw9qo"
    ]
  },
  "coinbase": false
}

See also

  • 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.

  • GetTransaction: gets detailed information about an in-wallet transaction.

GetTxOutProof#

The gettxoutproof RPC returns a hex-encoded proof that one or more specified transactions were included in a block.

NOTE: By default this function only works when there is an unspent output in the UTXO set for this transaction. To make it always work, you need to maintain a transaction index, using the -txindex command line option, or specify the block in which the transaction is included in manually (by block header hash).

Parameter #1—the transaction hashes to prove

Name

Type

Presence

Description

TXIDs

array

Required
(exactly 1)

A JSON array of txids to filter


txid

string

Required
(1 or more)

TXIDs of the transactions to generate proof for. All transactions must be in the same block

Parameter #2—the block to look for txids in

Name

Type

Presence

Description

Header hash

string

Optional
(0 or 1)

If specified, looks for txid in the block with this hash

Result—serialized, hex-encoded data for the proof

Name

Type

Presence

Description

result

string

Required
(exactly 1)

A string that is a serialized, hex-encoded data for the proof

Example from Dash Core 0.12.2

Get the hex-encoded proof that “txid” was included in block 000000012d774f3c7668f32bc448efeb93b317f312dd863679de3a007d47817f:

dash-cli gettxoutproof \
  '''
    [
      "e0a06b47f0de6f3851a228d5ac377ac38b495adf04298c43e951e679c5b0aa8f"
    ]
  ''' \
  '000000012d774f3c7668f32bc448efeb93b317f312dd863679de3a007d47817f'

Result (wrapped):

01000020ed72cc6a7294782a7711d8fa7ef74716ef062dc50bb0820f7eec923801000000\
aa5d17c5128043803b67c7ab03e4d3ffbc9604b54f877f1c5cf9ed3adeaa19b2cd7ed659\
f838011d10a70a480200000002033c89c2baecba9fc983c85dcf365c2d9cc93aca1dee2e\
5ac18124464056542e8faab0c579e651e9438c2904df5a498bc37a37acd528a251386fde\
f0476ba0e00105

See also

  • 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.

  • merkleblock message: A description of the format used for the proof.

GetTxOutSetInfo#

The gettxoutsetinfo RPC 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.

Parameter #1—Selecting UTXO set hash

Name

Type

Presence

Description

hash_type

string

Optional
(0 or 1)

Which UTXO set hash should be calculated. Options: ‘hash_serialized_2’ (the legacy algorithm), ‘muhash’, ‘none’.

Result—statistics about the UTXO set

Name

Type

Presence

Description

result

object

Required
(exactly 1)

Information about the UTXO set


height

number (int)

Required
(exactly 1)

The height of the local best block chain. A new node with only the hardcoded genesis block will have a height of 0


bestblock

string (hex)

Required
(exactly 1)

The hash of the header of the highest block on the local best block chain, encoded as hex in RPC byte order


transactions

number (int)

Required
(exactly 1)

The number of transactions with unspent outputs


txouts

number (int)

Required
(exactly 1)

The number of unspent transaction outputs


bogosize

number (int)

Required
(exactly 1)

A meaningless metric for UTXO set size


hash_serialized_2

string (hex)

Optional
(exactly 1)

The serialized hash (only present if ‘hash_serialized_2’ hash_type is chosen)


muhash

string (hex)

Optional
(exactly 1)

A SHA256(SHA256()) The serialized hash (only present if ‘muhash’ hash_type is chosen).


disk_size

number (int)

Required
(exactly 1)

The estimated size of the chainstate on disk


total_amount

number (Dash)

Required
(exactly 1)

The total amount of Dash in the UTXO set

Example from Dash Core 0.15.0

dash-cli -testnet gettxoutsetinfo

Result:

{
  "height": 159358,
  "bestblock": "0000000000a705ef74a1fc134ea1eba49af8eead40b3df1fc4fb40f5940a0d60",
  "transactions": 187542,
  "txouts": 366996,
  "bogosize": 28344374,
  "hash_serialized_2": "d7326bdc2d9cb7d91580bfd47d6c2972ab1776c2c33c787873a5fd01986c9377",
  "disk_size": 21513509,
  "total_amount": 7517185.08574437
}

See also

  • GetBlockChainInfo: provides information about the current state of the block chain.

  • GetMemPoolInfo: returns information about the node’s current transaction memory pool.

PreciousBlock#

Added in Dash Core 0.12.3 / Bitcoin Core 0.14.0

The preciousblock RPC treats a block as if it were received before others with the same work. A later preciousblock call can override the effect of an earlier one. The effects of preciousblock are not retained across restarts.

Parameter #1—the block hash

Name

Type

Presence

Description

Header Hash

string (hex)

Required
(exactly 1)

The hash of the block to mark as precious

Result—null or error on failure

Name

Type

Presence

Description

result

null

Required
(exactly 1)

JSON null. The JSON-RPC error field will be set only if you entered an invalid block hash

Example from Dash Core 0.12.3

dash-cli preciousblock 00000000034d77e287b63922a94f12e8c4ab9e\
1d8056060fd51f6153ea5dc757

Result (no output from dash-cli because result is set to null).

PruneBlockChain#

Added in Dash Core 0.12.3 / Bitcoin Core 0.14.0

The pruneblockchain RPC prunes the blockchain up to a specified height or timestamp. The -prune option needs to be enabled (disabled by default).

Parameter #1—the block height or timestamp

Name

Type

Presence

Description

Height

number (int)

Required
(exactly 1)

The block height to prune up to. May be set to a particular height, or a unix timestamp to prune blocks whose block time is at least 2 hours older than the provided timestamp

Result—the height of the last block pruned

Name

Type

Presence

Description

result

number (int)

Required
(exactly 1)

The height of the last block pruned

Example from Dash Core 0.12.3

dash-cli pruneblockchain 413555

Result:

413555

See also

  • ImportPrunedFunds: imports funds without the need of a rescan. Meant for use with pruned wallets.

SaveMemPool#

The savemempool RPC dumps the mempool to disk.

Parameters: none

Example from Dash Core 0.16.0

dash-cli savemempool

Result (no output from dash-cli).

See also: none

VerifyChain#

The verifychain RPC verifies each entry in the local block chain database.

Parameter #1—how thoroughly to check each block

Name

Type

Presence

Description

Check Level

number (int)

Optional
(0 or 1)

How thoroughly to check each block, from 0 to 4. Default is the level set with the -checklevel command line argument; if that isn’t set, the default is 3. Each higher level includes the tests from the lower levels

Levels are:
0. Read from disk to ensure the files are accessible
1. Ensure each block is valid
2. Make sure undo files can be read from disk and are in a valid format
3. Test each block undo to ensure it results in correct state
4. After undoing blocks, reconnect them to ensure they reconnect correctly

Parameter #2—the number of blocks to check

Name

Type

Presence

Description

Number Of Blocks

number (int)

Optional
(0 or 1)

The number of blocks to verify. Set to 0 to check all blocks. Defaults to the value of the -checkblocks command-line argument; if that isn’t set, the default is 288

Result—verification results

Name

Type

Presence

Description

result

bool

Required
(exactly 1)

Set to true if verified; set to false if verification failed for any reason

Example from Dash Core 0.12.2

Verify the most recent 400 blocks in the most through way:

dash-cli -testnet verifychain 4 400

Result (took < 1 second on a mobile workstation; it would’ve taken much longer on mainnet):

true

See also

  • GetBlockChainInfo: provides information about the current state of the block chain.

  • 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.

VerifyTxOutProof#

The verifytxoutproof RPC 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.

Parameter #1—The hex-encoded proof generated by gettxoutproof

Name

Type

Presence

Description

proof

string

Required

A hex-encoded proof

Result—txid(s) which the proof commits to

Name

Type

Presence

Description

result

string

Required
(exactly 1)

The txid(s) which the proof commits to, or empty array if the proof cannot be validated

Example from Dash Core 0.12.2

Verify a proof:

dash-cli verifytxoutproof \
01000020ed72cc6a7294782a7711d8fa7ef74716ef062dc50bb0820f7eec923801000000\
aa5d17c5128043803b67c7ab03e4d3ffbc9604b54f877f1c5cf9ed3adeaa19b2cd7ed659\
f838011d10a70a480200000002033c89c2baecba9fc983c85dcf365c2d9cc93aca1dee2e\
5ac18124464056542e8faab0c579e651e9438c2904df5a498bc37a37acd528a251386fde\
f0476ba0e00105

Result:

[
"e0a06b47f0de6f3851a228d5ac377ac38b495adf04298c43e951e679c5b0aa8f"
]

See also

  • GetTxOutProof: returns a hex-encoded proof that one or more specified transactions were included in a block.

  • merkleblock message: A description of the format used for the proof.