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

# POST /chunk

`POST /chunk`

Returns details of a specific chunk. You can run a block details query to get a valid chunk hash.

## Request body

- JsonRpcRequestForChunk
  - `id` string — JSON-RPC request id. Auto-populated; can be any string.
  - `jsonrpc` '2.0' — JSON-RPC protocol version. Always `2.0`.
  - `method` 'chunk', required
  - `params` union, required
    - object
      - `block_id` union, required
        - integer
        - string
      - `shard_id` integer, required — The shard identifier. It may be an arbitrary number - it does not need to be a number in the range 0..NUM_SHARDS. The shard ids do not need to be sequential or contiguous. The shard id is wrapped in a new type to prevent the old pattern of using indices in range 0..NUM_SHARDS and casting to ShardId. Once the transition if fully complete it potentially may be simplified to a regular type alias.
    - object
      - `chunk_id` string, required

## Response `200`

- union
  - object
    - `result` RpcChunkResponse, required
      - `author` 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) ```
      - `header` ChunkHeaderView, required — Contains main info about the chunk.
        - `balance_burnt` string, required
        - `bandwidth_requests` union
          - BandwidthRequests — A list of shard's bandwidth requests. Describes how much the shard would like to send to other shards.
            - `V1` BandwidthRequestsV1, required — Version 1 of [`BandwidthRequest`].
              - …
          - unknown
        - `chunk_hash` string, required
        - `congestion_info` union
          - CongestionInfoView — Stores the congestion level of a shard. More info about congestion [here](https://near.github.io/nearcore/architecture/how/receipt-congestion.html?highlight=congestion#receipt-congestion)
            - `allowed_shard` integer, required
            - `buffered_receipts_gas` string, required
            - `delayed_receipts_gas` string, required
            - `receipt_bytes` integer, required
          - unknown
        - `encoded_length` integer, required
        - `encoded_merkle_root` string, required
        - `gas_limit` integer, required
        - `gas_used` integer, required
        - `height_created` integer, required
        - `height_included` integer, required
        - `outcome_root` string, required
        - `outgoing_receipts_root` string, required
        - `prev_block_hash` string, required
        - `prev_state_root` string, required
        - `proposed_split` union — Proposed trie split for dynamic resharding `None`: field missing (`ShardChunkHeaderInnerV4` or earlier) `Some(None)`: field present, but not set (`ChunkHeaderInnerV5` or later) `Some(Some(split))`: field present and set
          - TrieSplit — The result of splitting a memtrie into two possibly even parts, according to `memory_usage` stored in the trie nodes. **NOTE: This is an artificial value calculated according to `TRIE_COST`. Hence, it does not represent actual memory allocation, but the split ratio should be roughly consistent with that.**
            - `boundary_account` 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) ```
            - `left_memory` integer, required — Total `memory_usage` of the left part (excluding the split path)
            - `right_memory` integer, required — Total `memory_usage` of the right part (including the split path)
          - unknown
        - `rent_paid` string
        - `shard_id` integer, required — The shard identifier. It may be an arbitrary number - it does not need to be a number in the range 0..NUM_SHARDS. The shard ids do not need to be sequential or contiguous. The shard id is wrapped in a new type to prevent the old pattern of using indices in range 0..NUM_SHARDS and casting to ShardId. Once the transition if fully complete it potentially may be simplified to a regular type alias.
        - `signature` string, required
        - `tx_root` string, required
        - `validator_proposals` ValidatorStakeView[], required
          - `account_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) ```
          - `public_key` string, required
          - `stake` string, required
          - `validator_stake_struct_version` 'V1', required
        - `validator_reward` string
      - `receipts` ReceiptView[], required
        - `predecessor_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) ```
        - `priority` integer — Deprecated, retained for backward compatibility.
        - `receipt` union, required
          - object
            - `Action` object, required
              - …
          - object
            - `Data` object, required
              - …
          - object
            - `GlobalContractDistribution` object, required
              - …
        - `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) ```
      - `transactions` SignedTransactionView[], required
        - `actions` ActionView[], required
          - union
            - 'CreateAccount'
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
        - `hash` string, required
        - `nonce` integer, required
        - `nonce_index` integer, nullable
        - `nonce_mode` union
          - union — Controls how the transaction nonce is validated against the access key nonce.
            - 'monotonic' — Any nonce strictly greater than the current access key nonce (default behavior).
            - 'strict' — Nonce must be exactly `ak_nonce + 1` (sequential ordering).
          - unknown
        - `priority_fee` integer — Deprecated, retained for backward compatibility.
        - `public_key` 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) ```
        - `signature` string, required
        - `signer_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) ```
    - `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` 'INTERNAL_ERROR', required
          - object
            - `info` object, required
            - `name` 'UNKNOWN_BLOCK', required
          - object
            - `info` object, required
              - …
            - `name` 'INVALID_SHARD_ID', required
          - object
            - `info` object, required
              - …
            - `name` 'UNKNOWN_CHUNK', 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)
