---
title: "POST /EXPERIMENTAL_light_client_proof"
method: POST
path: "/EXPERIMENTAL_light_client_proof"
---

# POST /EXPERIMENTAL_light_client_proof

`POST /EXPERIMENTAL_light_client_proof`

Returns the proofs for a transaction execution.

## Request body

- JsonRpcRequestForEXPERIMENTALLightClientProof
  - `id` string — JSON-RPC request id. Auto-populated; can be any string.
  - `jsonrpc` '2.0' — JSON-RPC protocol version. Always `2.0`.
  - `method` 'EXPERIMENTAL_light_client_proof', required
  - `params` union, required
    - object
      - `sender_id` string, required — NEAR Account Identifier. This is a unique, syntactically valid, human-readable account identifier on the NEAR network. [See the crate-level docs for information about validation.](index.html#account-id-rules) Also see [Error kind precedence](AccountId#error-kind-precedence). ## Examples ``` use near_account_id::AccountId; let alice: AccountId = "alice.near".parse().unwrap(); assert!("ƒelicia.near".parse::<AccountId>().is_err()); // (ƒ is not f) ```
      - `transaction_hash` string, required
      - `type` 'transaction', required
      - `light_client_head` string, required
    - object
      - `receipt_id` string, required
      - `receiver_id` string, required — NEAR Account Identifier. This is a unique, syntactically valid, human-readable account identifier on the NEAR network. [See the crate-level docs for information about validation.](index.html#account-id-rules) Also see [Error kind precedence](AccountId#error-kind-precedence). ## Examples ``` use near_account_id::AccountId; let alice: AccountId = "alice.near".parse().unwrap(); assert!("ƒelicia.near".parse::<AccountId>().is_err()); // (ƒ is not f) ```
      - `type` 'receipt', required
      - `light_client_head` string, required

## Response `200`

- union
  - object
    - `result` RpcLightClientExecutionProofResponse, required
      - `block_header_lite` LightClientBlockLiteView, required
        - `inner_lite` BlockHeaderInnerLiteView, required — A part of a state for the current head of a light client. More info [here](https://nomicon.io/ChainSpec/LightClient).
          - `block_merkle_root` string, required
          - `epoch_id` string, required
          - `height` integer, required
          - `next_bp_hash` string, required
          - `next_epoch_id` string, required
          - `outcome_root` string, required
          - `prev_state_root` string, required
          - `timestamp` integer, required — Legacy json number. Should not be used.
          - `timestamp_nanosec` string, required
        - `inner_rest_hash` string, required
        - `prev_block_hash` string, required
      - `block_proof` MerklePathItem[], required
        - `direction` 'Left' | 'Right', required
        - `hash` string, required
      - `outcome_proof` ExecutionOutcomeWithIdView, required
        - `block_hash` string, required
        - `id` string, required
        - `outcome` ExecutionOutcomeView, required
          - `executor_id` string, required — NEAR Account Identifier. This is a unique, syntactically valid, human-readable account identifier on the NEAR network. [See the crate-level docs for information about validation.](index.html#account-id-rules) Also see [Error kind precedence](AccountId#error-kind-precedence). ## Examples ``` use near_account_id::AccountId; let alice: AccountId = "alice.near".parse().unwrap(); assert!("ƒelicia.near".parse::<AccountId>().is_err()); // (ƒ is not f) ```
          - `gas_burnt` integer, required
          - `logs` string[], required — Logs from this transaction or receipt.
          - `metadata` ExecutionMetadataView
            - `contracts` union[], nullable — One entry per action in the receipt (V4+ only): the contract attached to the receiver account immediately before that action ran. The inner `Option` is `Some` (a tagged contract object) when the account had a contract and `None` (rendered as JSON `null`) when it did not (e.g. an account with no code, or one that did not yet exist). The outer `Option` is `None` for older metadata versions.
              - …
            - `gas_profile` CostGasUsed[], nullable
              - …
            - `version` integer, required
          - `receipt_ids` CryptoHash[], required — Receipt IDs generated by this transaction or receipt.
          - `status` union, required
            - 'Unknown' — The execution is pending or unknown.
            - object — The execution has failed.
              - …
            - object — The final action succeeded and returned some value or an empty vec encoded in base64.
              - …
            - object — The final action of the receipt returned a promise or the signed transaction was converted to a receipt. Contains the receipt_id of the generated receipt.
              - …
          - `tokens_burnt` string, required
        - `proof` MerklePathItem[], required
          - `direction` 'Left' | 'Right', required
          - `hash` string, required
      - `outcome_root_proof` MerklePathItem[], required
        - `direction` 'Left' | 'Right', required
        - `hash` string, required
    - `id` string, required
    - `jsonrpc` string, required
  - object
    - `error` union, required
      - object
        - `cause` union, required
          - object
            - `info` object, required
              - …
            - `name` 'METHOD_NOT_FOUND', required
          - object
            - `info` object, required
              - …
            - `name` 'PARSE_ERROR', required
        - `name` 'REQUEST_VALIDATION_ERROR', required
      - object
        - `cause` union, required
          - object
            - `info` object, required
            - `name` 'UNKNOWN_BLOCK', required
          - object
            - `info` object, required
              - …
            - `name` 'INCONSISTENT_STATE', required
          - object
            - `info` object, required
              - …
            - `name` 'NOT_CONFIRMED', required
          - object
            - `info` object, required
              - …
            - `name` 'UNKNOWN_TRANSACTION_OR_RECEIPT', required
          - object
            - `info` object, required
              - …
            - `name` 'UNAVAILABLE_SHARD', required
          - object
            - `info` object, required
              - …
            - `name` 'INTERNAL_ERROR', required
        - `name` 'HANDLER_ERROR', required
      - object
        - `cause` InternalError, required
          - `info` object, required
            - `error_message` string, required
          - `name` 'INTERNAL_ERROR', required
        - `name` 'INTERNAL_ERROR', required
    - `id` string, required
    - `jsonrpc` string, required

---

[API](https://skmtc.net/near/apis/near-protocol-json-rpc-api.md) · [All operations](https://skmtc.net/near/apis/near-protocol-json-rpc-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/near/near-protocol-json-rpc-api/versions/cb6bdde6167d/schema)
