Skip to content

getblock JSON-RPC command

getblock "blockhash" ( verbosity )

If verbosity is 0 or false, returns a string that is serialized, hex-encoded data for block 'hash'.
If verbosity is 1 or true, returns an Object with information about block <hash>.
If verbosity is 2, returns an Object with information about block <hash> and information about each transaction, including fee.
If verbosity is >=3, returns an Object with information about block <hash> and information about each transaction, including fee, and including prevout information for inputs (only for unpruned blocks in the current best chain).

Arguments

1. "blockhash"    (string, required) The block hash
2. verbosity      (numeric, optional, default=1) 0 for hex-encoded data, 1 for a json object, and 2 for json object with transaction data, and 3 for JSON object with transaction data including prevout information for inputs

Result (for verbosity = 0)

"data"                   (string) A string that is serialized, hex-encoded data for block 'hash'.

Result (for verbosity = 1)

{
  "hash" : "hash",       (string) The block hash (same as provided)
  "confirmations" : n,   (numeric) The number of confirmations, or -1 if the block is not on the main chain
  "size" : n,            (numeric) The block size
  "height" : n,          (numeric) The block height or index
  "version" : n,         (numeric) The block version
  "versionHex" : "00000000", (string) The block version formatted in hexadecimal
  "merkleroot" : "xxxx", (string) The merkle root
  "tx" : [               (array of string) The transaction ids
     "transactionid"     (string) The transaction id
     ,...
  ],
  "time" : ttt,          (numeric) The block time in seconds since epoch (Jan 1 1970 GMT)
  "mediantime" : ttt,    (numeric) The median block time in seconds since epoch (Jan 1 1970 GMT)
  "nonce" : n,           (numeric) The nonce
  "bits" : "1d00ffff",   (string) The bits
  "difficulty" : x.xxx,  (numeric) The difficulty
  "chainwork" : "xxxx",  (string) Expected number of hashes required to produce the chain up to this block (in hex)
  "nTx" : n,             (numeric) The number of transactions in the block.
  "previousblockhash" : "hash",  (string) The hash of the previous block
  "nextblockhash" : "hash"       (string) The hash of the next block,
  "ablastate" : {        (json object, optional) The block's ABLA state
    "epsilon" : n,       (numeric) ABLA state epsilon value
    "beta" : n,          (numeric) ABLA state beta value
    "blocksize" : n,     (numeric) The size of this block
    "blocksizelimit" : n,        (numeric) The size limit for this block
    "nextblocksizelimit" : n,    (numeric) The size limit for the next block
  }
}

Result (for verbosity = 2)

{
  ...,                   Same output as verbosity = 1
  "tx" : [               (json array)
    {                    (json object)
      ...,               The transactions in the format of the getrawtransaction RPC; different from verbosity = 1 "tx" result
      "fee" : n          (numeric) The transaction fee in BCH, omitted if block undo data is not available
    },
    ...
  ],
  ...                    Same output as verbosity = 1
}

Result (for verbosity >= 3)

{
  ...,                   Same output as verbosity = 2
  "tx" : [               (json array)
    {                    (json object)
      ...,               Same output as verbosity = 2
      "vin" : [          (json array)
        {                (json object)
          ...,           Same output as verbosity = 2
          "prevout" : {                 (json object, optional) (Only if undo information is available)
            "generated" : true|false,   (boolean) Coinbase or not
            "height" : n,               (numeric) The height of the prevout
            "value" : n,                (numeric) The value in BCH
            "scriptPubKey" : {          (json object)
              "asm" : "str",            (string) The asm
              "hex" : "str",            (string) The hex
              "type" : "str",           (string) The type (one of: nonstandard, pubkey, pubkeyhash, scripthash, multisig, nulldata)
              "address" : "str"         (string, optional) The Bitcoin Cash address (only if well-defined address exists)
            },
            "tokenData" : {             (json object, optional) CashToken data (only if the input contained a token)
              "category" : "hex",       (string) Token id
              "amount" : "xxx",         (string) Fungible amount (is a string to support >53-bit amounts)
              "nft" : {                 (json object, optional) NFT data (only if the token has an NFT)
                "capability" : "xxx",   (string) One of "none", "mutable", "minting"
                "commitment" : "hex"    (string) NFT commitment formatted as hexadecimal
              },
            }
          }
        },
        ...
      ]
    },
    ...
  ],
  ...                    Same output as verbosity = 2
}

Examples

> bitcoin-cli getblock "00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09"
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblock", "params": ["00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09"] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/

Bitcoin Cash Node Daemon version v27.0.1-6a03070

Documentation on docs.bitcoincashnode.org reflects the current master branch in Git, and may include API changes that are not yet present in the latest release.