> ## Documentation Index
> Fetch the complete documentation index at: https://docs.uniblock.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# kaia_getBlockByHash

> Returns detailed information about a block by hash.

### Parameters

<ParamField query="chainId" type="string" default="1001" required>
  Unique identifier for a blockchain network.
</ParamField>

<ParamField body="id" type="number" default={1} required>
  Request identifier used to match responses.
</ParamField>

<ParamField body="jsonrpc" type="string" default="2.0" required>
  JSON-RPC version.
</ParamField>

<ParamField body="method" type="string" default="kaia_getBlockByHash" required>
  JSON-RPC method name.
</ParamField>

<ParamField body="params" type="object" default={["0x9a4e12c1b8ef6f2f726755efaf3f0b0f3788c2d9d11b9bd65d9f8c17e7a019d2",true]} placeholder="[&#x22;0x9a4e12c1b8ef6f2f726755efaf3f0b0f3788c2d9d11b9bd65d9f8c17e7a019d2&#x22;,true]" required>
  Parameters: \[blockHash, fullTransactions].

  Positional parameters for <code>kaia\_getBlockByHash</code>:

  <ul>
    <li><code>params\[0]</code>: 32 Bytes - hash of the block where this transaction was included. Null when pending.</li>
    <li><code>params\[1]</code>: If true, includes full transaction objects; otherwise only hashes.</li>
  </ul>
</ParamField>

### Returns

<ResponseField name="result" type="object">
  A Kaia block object. Null if the block cannot be found.

  <Expandable title="properties">
    <ResponseField name="number" type="string">
      Block number in hex. Null when the block is pending.
    </ResponseField>

    <ResponseField name="hash" type="string">
      Hash of the block. Null when the block is pending.
    </ResponseField>

    <ResponseField name="parentHash" type="string">
      Hash of the parent block.
    </ResponseField>

    <ResponseField name="logsBloom" type="string">
      Bloom filter for logs associated with this block. Null when pending.
    </ResponseField>

    <ResponseField name="transactionsRoot" type="string">
      Root of the transaction trie of the block.
    </ResponseField>

    <ResponseField name="stateRoot" type="string">
      Root of the final state trie of the block.
    </ResponseField>

    <ResponseField name="receiptsRoot" type="string">
      Root of the receipts trie of the block.
    </ResponseField>

    <ResponseField name="miner" type="string">
      Author (beneficiary) address of the block.
    </ResponseField>

    <ResponseField name="difficulty" type="string">
      Difficulty for this block.
    </ResponseField>

    <ResponseField name="totalDifficulty" type="string">
      Total chain difficulty up to this block.
    </ResponseField>

    <ResponseField name="extraData" type="string">
      Extra data field of the block.
    </ResponseField>

    <ResponseField name="size" type="string">
      Size of the block in bytes (hex).
    </ResponseField>

    <ResponseField name="gasLimit" type="string">
      Maximum gas limit for this block.
    </ResponseField>

    <ResponseField name="gasUsed" type="string">
      Total gas used by transactions in this block.
    </ResponseField>

    <ResponseField name="timestamp" type="string">
      Unix timestamp of when the block was sealed.
    </ResponseField>

    <ResponseField name="transactions" type="array">
      Array containing transaction hashes or full transaction objects.

      <Expandable title="items">
        <ResponseField name="items[]" type="oneOf">
          Legacy transaction (pre-EIP-2718).

          <Expandable title="variants">
            <ResponseField name="variant1" type="object">
              Legacy transaction (pre-EIP-2718).

              <Expandable title="properties">
                <ResponseField name="hash" type="string">
                  32 Bytes - hash of the transaction.
                </ResponseField>

                <ResponseField name="nonce" type="integer">
                  Quantity - (optional) Integer of a nonce. This allows you to overwrite your own pending transactions that use the same nonce.
                </ResponseField>

                <ResponseField name="blockHash" type="string">
                  32 Bytes - hash of the block where this transaction was included. Null when pending.
                </ResponseField>

                <ResponseField name="blockNumber" type="oneOf">
                  Block number where this transaction was included. Null when pending.

                  <Expandable title="variants">
                    <ResponseField name="variant1" type="integer" />

                    <ResponseField name="variant2" type="string" />
                  </Expandable>
                </ResponseField>

                <ResponseField name="transactionIndex" type="integer">
                  The transaction's index position in the block. Null when pending.
                </ResponseField>

                <ResponseField name="from" type="string">
                  20 Bytes - The address the transaction is sent from.
                </ResponseField>

                <ResponseField name="to" type="string">
                  20 Bytes - The address the transaction is directed to. (Optional when creating new contract)
                </ResponseField>

                <ResponseField name="value" type="integer">
                  Quantity - (optional) Integer of the value sent with this transaction.
                </ResponseField>

                <ResponseField name="gasPrice" type="integer">
                  Quantity - (optional) Integer of the gas price used for each paid gas.
                </ResponseField>

                <ResponseField name="gas" type="integer">
                  Quantity - (optional) Integer of the gas provided for the transaction execution. (eth\_call consumes zero gas)
                </ResponseField>

                <ResponseField name="input" type="string">
                  The data sent along with the transaction.
                </ResponseField>

                <ResponseField name="v" type="integer">
                  The standardised V field of the signature.
                </ResponseField>

                <ResponseField name="standardV" type="integer">
                  The standardised V field of the signature (0 or 1). Only applicable to legacy transactions.
                </ResponseField>

                <ResponseField name="r" type="integer">
                  The R field of the signature.
                </ResponseField>

                <ResponseField name="raw" type="string">
                  Raw transaction data.
                </ResponseField>

                <ResponseField name="publicKey" type="string">
                  Public key of the signer.
                </ResponseField>

                <ResponseField name="chainId" type="integer">
                  The chain id of the transaction, if any.
                </ResponseField>

                <ResponseField name="creates" type="string">
                  Creates contract hash.
                </ResponseField>

                <ResponseField name="condition" type="oneOf">
                  Conditional submission of the transaction. Can be an object with a block number (\{ block: 1 }), a UTC timestamp in seconds (\{ time: 1491290692 }), or null.

                  <Expandable title="variants">
                    <ResponseField name="variant1" type="object">
                      <Expandable title="properties">
                        <ResponseField name="block" type="integer">
                          Block number condition
                        </ResponseField>
                      </Expandable>
                    </ResponseField>

                    <ResponseField name="variant2" type="object">
                      <Expandable title="properties">
                        <ResponseField name="time" type="integer">
                          UTC timestamp condition in seconds
                        </ResponseField>
                      </Expandable>
                    </ResponseField>
                  </Expandable>
                </ResponseField>
              </Expandable>
            </ResponseField>

            <ResponseField name="variant2" type="string">
              32-byte transaction hash.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="uncles" type="array">
      Array of uncle block hashes.

      <Expandable title="items">
        <ResponseField name="items[]" type="string" />
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash Curl theme={null}
  curl --request POST \
    --url https://api.uniblock.dev/uni/v1/json-rpc?chainId=1001 \
    --header 'content-type: application/json' \
    --data '{
      "id": 1,
      "jsonrpc": "2.0",
      "method": "kaia_getBlockByHash",
      "params": [
        "0x9a4e12c1b8ef6f2f726755efaf3f0b0f3788c2d9d11b9bd65d9f8c17e7a019d2",
        true
      ]
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json Success theme={null}
  {
    "jsonrpc": "2.0",
    "id": 1,
    "result": {}
  }
  ```
</ResponseExample>
