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

# klay_getProof

> Returns Merkle proofs for account and storage slots at a specified block.

### 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="klay_getProof" required>
  JSON-RPC method name.
</ParamField>

<ParamField body="params" type="object" default={["",[],0]} placeholder="[&#x22;&#x22;,[],0]" required>
  Parameters: \[address, storageKeys, block parameter].

  Positional parameters for <code>klay\_getProof</code>:

  <ul>
    <li><code>params\[0]</code>: The address.</li>
    <li><code>params\[1]</code>: Storage slot keys to prove.</li>
    <li><code>params\[2]</code>: Block identifier. Can be an integer block number or a string tag: "latest", "earliest", or "pending".</li>
  </ul>
</ParamField>

### Returns

<ResponseField name="result" type="array">
  A trace call consisting of a transaction object and an array of trace types.

  <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="array">
          Array of trace types.

          <Expandable title="items">
            <ResponseField name="items[]" type="string" />
          </Expandable>
        </ResponseField>
      </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": "klay_getProof",
      "params": [
        "",
        [],
        0
      ]
    }'
  ```
</RequestExample>

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