openapi: 3.1.0
info:
  title: FastNEAR RPC
  description: |-
    NEAR Protocol JSON RPC

    Send your FastNEAR API key as an `Authorization: Bearer` header (preferred) or an `apiKey` query parameter. An unrecognized key is rejected with 403.

    For exhaustive list of endpoints, refer to the [NEAR documentation](https://docs.near.org/api/rpc/transactions).
  version: 1.0.0
servers:
  - url: https://rpc.mainnet.fastnear.com
    description: Mainnet
  - url: https://rpc.testnet.fastnear.com
    description: Testnet
  - url: https://archival-rpc.mainnet.fastnear.com
    description: Mainnet Archival
  - url: https://archival-rpc.testnet.fastnear.com
    description: Testnet Archival
security:
  - {}
  - BearerAuth: []
  - ApiKeyAuth: []
paths:
  /view_account:
    post:
      operationId: view_account
      summary: View account
      description: Fetch an account's balance, storage usage, and code hash at a chosen block or finality.
      x-fastnear-interaction:
        kind: rpc-view-account
      x-hideReplay: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - query
                params:
                  type: object
                  properties:
                    account_id:
                      type: string
                      description: NEAR account ID
                    request_type:
                      type: string
                      enum:
                        - view_account
                    finality:
                      type: string
                      enum:
                        - final
                        - near-final
                        - optimistic
                      description: Block finality
                  required:
                    - request_type
                    - account_id
                    - finality
            examples:
              mainnet:
                summary: View account (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: query
                  params:
                    account_id: root.near
                    request_type: view_account
                    finality: final
              testnet:
                summary: View account (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: query
                  params:
                    account_id: root.testnet
                    request_type: view_account
                    finality: final
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_view_account"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /view_access_key:
    post:
      operationId: view_access_key
      summary: View access key
      description: "Fetch one access key's permissions and nonce by public key on a given account. Pass the full public key with its type prefix. For an ML-DSA-65 key that is the full ml-dsa-65: key, not the ml-dsa-65-hash: handle that view_access_key_list reports; the handle is rejected with a parse error (unknown key type)."
      x-fastnear-interaction:
        kind: rpc-view-access-key
      x-hideReplay: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - query
                params:
                  type: object
                  properties:
                    account_id:
                      type: string
                      description: NEAR account ID
                    public_key:
                      type: string
                      description: "Public key with its type prefix: ed25519:, secp256k1:, or the full ml-dsa-65: key (never the ml-dsa-65-hash: handle)."
                    request_type:
                      type: string
                      enum:
                        - view_access_key
                    finality:
                      type: string
                      enum:
                        - final
                        - near-final
                        - optimistic
                      description: Block finality
                  required:
                    - request_type
                    - account_id
                    - public_key
                    - finality
            examples:
              mainnet:
                summary: View access key (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: query
                  params:
                    account_id: root.near
                    public_key: ed25519:6666666666666666666666666666666666666666666
                    request_type: view_access_key
                    finality: final
              testnet:
                summary: View access key (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: query
                  params:
                    account_id: root.testnet
                    public_key: ed25519:Bt6gx87fRm99KkkN1Q9UEA8vY9DBLkRSntqcLDuZt3S
                    request_type: view_access_key
                    finality: final
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_view_access_key"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /view_access_key_list:
    post:
      operationId: view_access_key_list
      summary: View access key list
      description: "Fetch every access key attached to an account, each with its permissions and nonce. ML-DSA-65 keys are listed by their ml-dsa-65-hash: handle; to query one with view_access_key, or to reference it in an action, use the full ml-dsa-65: public key instead."
      x-fastnear-interaction:
        kind: rpc-view-access-key-list
      x-hideReplay: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - query
                params:
                  type: object
                  properties:
                    account_id:
                      type: string
                      description: NEAR account ID
                    request_type:
                      type: string
                      enum:
                        - view_access_key_list
                    finality:
                      type: string
                      enum:
                        - final
                        - near-final
                        - optimistic
                      description: Block finality
                  required:
                    - request_type
                    - account_id
                    - finality
            examples:
              mainnet:
                summary: View access key list (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: query
                  params:
                    account_id: root.near
                    request_type: view_access_key_list
                    finality: final
              testnet:
                summary: View access key list (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: query
                  params:
                    account_id: root.testnet
                    request_type: view_access_key_list
                    finality: final
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_view_access_key_list"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /block_by_height:
    post:
      operationId: block_by_height
      summary: Get block by height
      description: Fetch a block's header and chunk summaries by its height in the chain.
      x-fastnear-interaction:
        kind: rpc-block-by-height
      x-hideReplay: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - block
                params:
                  type: object
                  required:
                    - block_id
                  properties:
                    block_id:
                      type: integer
                      description: Block height to query
            examples:
              mainnet:
                summary: Get block by height (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: block
                  params:
                    block_id: 9820210
              testnet:
                summary: Get block by height (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: block
                  params:
                    block_id: 245254793
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_block_by_height"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /block_by_id:
    post:
      operationId: block_by_id
      summary: Get block by hash
      description: Fetch a block's header and chunk summaries by its Base58-encoded SHA-256 hash.
      x-fastnear-interaction:
        kind: rpc-block-by-id
      x-hideReplay: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - block
                params:
                  type: object
                  required:
                    - block_id
                  properties:
                    block_id:
                      type: string
                      description: Base58-encoded block hash
            examples:
              mainnet:
                summary: Get block by hash (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: block
                  params:
                    block_id: EPnLgE7iEq9s7yTkos96M3cWymH5avBAPm3qx3NXqR8H
              testnet:
                summary: Get block by hash (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: block
                  params:
                    block_id: CoPszhGFqcx9L1HQYM62g3UjxMpuZD8RiZL6QdpBZXA4
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_block_by_id"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /block_effects:
    post:
      operationId: block_effects
      summary: Get block effects
      description: Summarize every state change in a block — which accounts, keys, and contract-state entries were touched.
      x-fastnear-interaction:
        kind: rpc-block-effects
      x-hideReplay: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - block_effects
                params:
                  type: object
                  properties:
                    block_id:
                      oneOf:
                        - type: integer
                          description: Block height
                        - type: string
                          description: Base58-encoded block hash
                      description: Block height (integer) or block hash (string)
                    finality:
                      type: string
                      enum:
                        - final
                        - near-final
                        - optimistic
                      description: Block finality
            examples:
              mainnet:
                summary: Get block effects (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: block_effects
                  params:
                    finality: final
              testnet:
                summary: Get block effects (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: block_effects
                  params:
                    finality: final
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_block_effects"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /call_function:
    post:
      operationId: call_function
      summary: Call contract function
      description: Invoke a contract view method without gas or state changes — reads computed values from contract logic.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - query
                params:
                  type: object
                  properties:
                    account_id:
                      type: string
                      description: NEAR account ID
                    args_base64:
                      type: string
                      description: Base64-encoded argument byte array passed to the method. JSON contracts expect the UTF-8 bytes of the JSON payload (`e30=` decodes to `{}`).
                    method_name:
                      type: string
                      description: Name of the contract view method to invoke.
                    request_type:
                      type: string
                      enum:
                        - call_function
                    finality:
                      type: string
                      enum:
                        - final
                        - near-final
                        - optimistic
                      description: Block finality
                  required:
                    - request_type
                    - account_id
                    - method_name
                    - args_base64
                    - finality
            examples:
              mainnet:
                summary: Call Mainnet Contract Function
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: query
                  params:
                    request_type: call_function
                    finality: final
                    account_id: contract.near
                    method_name: get_info
                    args_base64: e30=
              testnet:
                summary: Call Testnet Contract Function
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: query
                  params:
                    request_type: call_function
                    finality: final
                    account_id: contract.testnet
                    method_name: get_info
                    args_base64: e30=
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_call_function"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /view_state:
    post:
      operationId: view_state
      summary: View contract state
      description: Fetch the raw key-value state a contract has written, optionally filtered by key prefix.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - query
                params:
                  type: object
                  properties:
                    account_id:
                      type: string
                      description: NEAR account ID
                    after_key_base64:
                      type:
                        - string
                        - "null"
                      description: "Exclusive start cursor: returns only keys greater than this one. Set to the prior response's `last_key` to page forward; omit to scan from the start of the prefix range."
                    include_proof:
                      type: boolean
                      description: Include a Merkle proof for the queried state alongside the values.
                    limit:
                      type:
                        - integer
                        - "null"
                      format: uint32
                      minimum: 1
                      description: Maximum key/value entries per response (≥ 1). Omit for no client-set bound (subject to node limits).
                    prefix_base64:
                      type: string
                      description: Base64-encoded key prefix; returns only trie entries whose key begins with these bytes. Empty string (`""`) removes the filter and returns the entire contract state — expensive on large contracts.
                    request_type:
                      type: string
                      enum:
                        - view_state
                    finality:
                      type: string
                      enum:
                        - final
                        - near-final
                        - optimistic
                      description: Block finality
                  required:
                    - request_type
                    - account_id
                    - prefix_base64
                    - finality
            examples:
              mainnet:
                summary: View Mainnet Contract State
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: query
                  params:
                    request_type: view_state
                    finality: final
                    account_id: lockup.near
                    prefix_base64: U1RBVEU=
              testnet:
                summary: View Testnet Contract State
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: query
                  params:
                    request_type: view_state
                    finality: final
                    account_id: counter.testnet
                    prefix_base64: ""
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_view_state"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /view_code:
    post:
      operationId: view_code
      summary: View contract code
      description: Fetch the compiled WebAssembly bytes deployed directly to a single account.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - query
                params:
                  type: object
                  properties:
                    account_id:
                      type: string
                      description: NEAR account ID
                    request_type:
                      type: string
                      enum:
                        - view_code
                    finality:
                      type: string
                      enum:
                        - final
                        - near-final
                        - optimistic
                      description: Block finality
                  required:
                    - request_type
                    - account_id
                    - finality
            examples:
              mainnet:
                summary: View contract code (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: query
                  params:
                    account_id: intents.near
                    request_type: view_code
                    finality: final
              testnet:
                summary: View contract code (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: query
                  params:
                    account_id: guest-book.testnet
                    request_type: view_code
                    finality: final
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_view_code"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /view_global_contract_code:
    post:
      operationId: view_global_contract_code
      summary: View global contract code
      description: Look up a global contract's WebAssembly bytes by its Base58-encoded SHA-256 code hash.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - query
                params:
                  type: object
                  properties:
                    code_hash:
                      type: string
                      description: Base58-encoded hash
                    request_type:
                      type: string
                      enum:
                        - view_global_contract_code
                    finality:
                      type: string
                      enum:
                        - final
                        - near-final
                        - optimistic
                      description: Block finality
                  required:
                    - request_type
                    - code_hash
                    - finality
            examples:
              mainnet:
                summary: View global contract code (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: query
                  params:
                    code_hash: A2VxywASqbnarBAfTWobhDZjMXobjnYyJmkjhoXAiYBz
                    request_type: view_global_contract_code
                    finality: final
              testnet:
                summary: View global contract code (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: query
                  params:
                    code_hash: 3vaopJ7aRoivvzZLngPQRBEd8VJr2zPLTxQfnRCoFgNX
                    request_type: view_global_contract_code
                    finality: final
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_view_global_contract_code"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /view_global_contract_code_by_account_id:
    post:
      operationId: view_global_contract_code_by_account_id
      summary: View global contract code by account
      description: Look up a global contract's WebAssembly bytes by the account that registered it.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - query
                params:
                  type: object
                  properties:
                    account_id:
                      type: string
                      description: NEAR account ID
                    request_type:
                      type: string
                      enum:
                        - view_global_contract_code_by_account_id
                    finality:
                      type: string
                      enum:
                        - final
                        - near-final
                        - optimistic
                      description: Block finality
                  required:
                    - request_type
                    - account_id
                    - finality
            examples:
              mainnet:
                summary: View global contract code by account (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: query
                  params:
                    account_id: global-contract.nfts.tg
                    request_type: view_global_contract_code_by_account_id
                    finality: final
              testnet:
                summary: View global contract code by account (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: query
                  params:
                    account_id: ft.globals.primitives.testnet
                    request_type: view_global_contract_code_by_account_id
                    finality: final
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_view_global_contract_code_by_account_id"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /chunk_by_hash:
    post:
      operationId: chunk_by_hash
      summary: Get chunk by hash
      description: Fetch a single chunk's transactions and receipts by its Base58 content hash.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - chunk
                params:
                  type: object
                  required:
                    - chunk_id
                  properties:
                    chunk_id:
                      type: string
                      description: Base58-encoded chunk hash
            examples:
              mainnet:
                summary: Mainnet Chunk Example
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: chunk
                  params:
                    chunk_id: 349Wr5HMm2Bvyy8GuhExAZ4F353tXCChx1FfAsYnQTAn
              testnet:
                summary: Testnet Chunk Example
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: chunk
                  params:
                    chunk_id: FU9wVPLRwa34SSwA9KP83QLSni2bqXgqVijaejnqX4iv
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_chunk_by_hash"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /chunk_by_block_shard:
    post:
      operationId: chunk_by_block_shard
      summary: Get chunk by block and shard
      description: Fetch a single chunk's transactions and receipts by its parent block plus shard index.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - chunk
                params:
                  type: object
                  required:
                    - block_id
                    - shard_id
                  properties:
                    block_id:
                      oneOf:
                        - type: integer
                          description: Block height
                        - type: string
                          description: Base58-encoded block hash
                      description: Block height (integer) or block hash (string)
                    shard_id:
                      type: integer
                      description: Shard identifier
            examples:
              mainnet:
                summary: Mainnet Block/Shard Example
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: chunk
                  params:
                    block_id: 9XN7MtDywZvfGx6TKy1MT2iCZkKuHikJXmNazxdZ4x6T
                    shard_id: 10
              testnet:
                summary: Testnet Block/Shard Example
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: chunk
                  params:
                    block_id: 6JYj6i1FaUCzdoqy41CqUcZJxa5n9EmLEENRDH2gLm5u
                    shard_id: 10
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_chunk_by_block_shard"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /gas_price:
    post:
      operationId: gas_price
      summary: Get gas price
      description: Fetch the current chain-wide gas price for the most recent block.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - gas_price
                params:
                  type: array
                  items:
                    type: "null"
                  example:
                    - null
            examples:
              mainnet:
                summary: Get current gas price (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: gas_price
                  params:
                    - null
              testnet:
                summary: Get current gas price (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: gas_price
                  params:
                    - null
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_gas_price"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /gas_price_by_block:
    post:
      operationId: gas_price_by_block
      summary: Get gas price by block
      description: Fetch the chain-wide gas price at a chosen historical block, by height or hash.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - gas_price
                params:
                  type: object
                  required:
                    - block_id
                  properties:
                    block_id:
                      oneOf:
                        - type: integer
                          description: Block height
                        - type: string
                          description: Base58-encoded block hash
                      description: Block height (integer) or block hash (string)
            examples:
              mainnet:
                summary: Get gas price by block (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: gas_price
                  params:
                    block_id: 9XN7MtDywZvfGx6TKy1MT2iCZkKuHikJXmNazxdZ4x6T
              testnet:
                summary: Get gas price by block (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: gas_price
                  params:
                    block_id: 6JYj6i1FaUCzdoqy41CqUcZJxa5n9EmLEENRDH2gLm5u
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_gas_price_by_block"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /health:
    post:
      operationId: health
      summary: Check node health
      description: Ping a node for liveness — returns `null` on success, an error on unhealthy state.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - health
                params:
                  type: array
                  maxItems: 0
                  description: Empty array as this method takes no parameters
                  example: []
            examples:
              mainnet:
                summary: Mainnet Node Health
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: health
                  params: []
              testnet:
                summary: Testnet Node Health
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: health
                  params: []
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_health"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /latest_block:
    post:
      operationId: latest_block
      summary: Get latest block
      description: Fetch the latest final block — finality set automatically, no block ID needed.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - block
                params:
                  type: object
                  required:
                    - finality
                  properties:
                    finality:
                      type: string
                      enum:
                        - final
                        - near-final
                        - optimistic
                      description: Finality selector for the latest visible block
            examples:
              mainnet:
                summary: Mainnet Latest Block
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: block
                  params:
                    finality: optimistic
              testnet:
                summary: Testnet Latest Block
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: block
                  params:
                    finality: optimistic
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_latest_block"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /light_client_proof:
    post:
      operationId: light_client_proof
      summary: Get light client proof
      description: Fetch a Merkle proof — by Base58 transaction or receipt ID — that the item was included and executed, suitable for light-client verification.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - light_client_proof
                params:
                  type: object
                  properties:
                    light_client_head:
                      type: string
                      description: Base58-encoded hash
                    sender_id:
                      type: string
                      description: NEAR account ID
                    transaction_hash:
                      type: string
                      description: Base58-encoded hash
                    type:
                      type: string
                      enum:
                        - transaction
                        - receipt
                      description: Proof subject — `transaction` proves inclusion of the top-level transaction, `receipt` proves inclusion of a specific receipt produced during execution.
                    receipt_id:
                      type: string
                      description: Base58-encoded hash
                    receiver_id:
                      type: string
                      description: NEAR account ID
                  required:
                    - light_client_head
            examples:
              mainnet:
                summary: Mainnet Light Client Proof
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: light_client_proof
                  params:
                    type: transaction
                    transaction_hash: 34E7weKCDqXh3xPKdBgSWRqo44yTWjbka9deMK8JbAxx
                    sender_id: escrow.ai.near
                    light_client_head: 9XN7MtDywZvfGx6TKy1MT2iCZkKuHikJXmNazxdZ4x6T
              testnet:
                summary: Testnet Light Client Proof
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: light_client_proof
                  params:
                    type: transaction
                    transaction_hash: 9LPbkwJ26HYgda7KHrURc6jozBcpdA1kUMSEzwm81JPx
                    sender_id: near-mpc-staking4all-01.testnet
                    light_client_head: 6JYj6i1FaUCzdoqy41CqUcZJxa5n9EmLEENRDH2gLm5u
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_light_client_proof"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /metrics:
    get:
      operationId: metrics
      summary: Get node metrics
      description: Retrieves Prometheus-format node metrics from the HTTP `/metrics` endpoint. Requires an API key.
      responses:
        "200":
          description: Successful response
          content:
            text/plain:
              schema:
                type: string
                description: Prometheus exposition text
                example: |-
                  # HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
                  # TYPE process_cpu_seconds_total counter
                  process_cpu_seconds_total 12.34
        "403":
          description: Missing or invalid API key
          content:
            text/plain:
              schema:
                type: string
                example: Forbidden
  /network_info:
    post:
      operationId: network_info
      summary: Get network info
      description: List the node's active peer connections and the block producers it currently tracks.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - network_info
                params:
                  type: array
                  maxItems: 0
                  description: Empty array as this method takes no parameters
                  example: []
            examples:
              mainnet:
                summary: Mainnet Network Information
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: network_info
                  params: []
              testnet:
                summary: Testnet Network Information
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: network_info
                  params: []
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_network_info"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /status:
    post:
      operationId: status
      summary: Get node status
      description: Fetch a node's binary version, sync progress, and head block in one snapshot.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - status
                params:
                  type: array
                  maxItems: 0
                  description: Empty array as this method takes no parameters
                  example: []
            examples:
              mainnet:
                summary: Mainnet Node Status
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: status
                  params: []
              testnet:
                summary: Testnet Node Status
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: status
                  params: []
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_status"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /genesis_config:
    post:
      operationId: genesis_config
      summary: Get genesis config
      description: Fetch the chain's immutable genesis config — initial records, protocol settings, and epoch length at block 0.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - genesis_config
                params:
                  type: array
                  maxItems: 0
                  description: Empty array as this method takes no parameters
                  example: []
            examples:
              mainnet:
                summary: Get genesis config (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: genesis_config
                  params: []
              testnet:
                summary: Get genesis config (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: genesis_config
                  params: []
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_genesis_config"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /client_config:
    post:
      operationId: client_config
      summary: Get client config
      description: Fetch the node's own local client config — timeouts, retry settings, and operator-chosen parameters.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - client_config
                params:
                  type: array
                  maxItems: 0
                  description: Empty array as this method takes no parameters
                  example: []
            examples:
              mainnet:
                summary: Get client config (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: client_config
                  params: []
              testnet:
                summary: Get client config (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: client_config
                  params: []
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_client_config"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /changes:
    post:
      operationId: changes
      summary: Get state changes
      description: Fetch detailed state changes in a block — filter by account, key prefix, or change type.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - changes
                params:
                  type: object
                  description: One of multiple possible types
            examples:
              mainnet:
                summary: Get state changes (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: changes
                  params:
                    finality: final
                    changes_type: account_changes
                    account_ids:
                      - root.near
              testnet:
                summary: Get state changes (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: changes
                  params:
                    finality: final
                    changes_type: account_changes
                    account_ids:
                      - root.testnet
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_changes"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /maintenance_windows:
    post:
      operationId: maintenance_windows
      summary: Get maintenance windows
      description: Find upcoming block ranges where a validator can safely restart without missing block production.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - maintenance_windows
                params:
                  type: object
                  properties:
                    account_id:
                      type: string
                      description: NEAR account ID
                  required:
                    - account_id
            examples:
              mainnet:
                summary: Get maintenance windows (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: maintenance_windows
                  params:
                    account_id: root.near
              testnet:
                summary: Get maintenance windows (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: maintenance_windows
                  params:
                    account_id: root.testnet
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_maintenance_windows"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /next_light_client_block:
    post:
      operationId: next_light_client_block
      summary: Get next light client block
      description: Advance a light client's verified chain by fetching the next block header after a known Base58 head hash.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - next_light_client_block
                params:
                  type: object
                  properties:
                    last_block_hash:
                      type: string
                      description: Base58-encoded hash
                  required:
                    - last_block_hash
            examples:
              mainnet:
                summary: Get next light client block (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: next_light_client_block
                  params:
                    last_block_hash: 9XN7MtDywZvfGx6TKy1MT2iCZkKuHikJXmNazxdZ4x6T
              testnet:
                summary: Get next light client block (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: next_light_client_block
                  params:
                    last_block_hash: 6JYj6i1FaUCzdoqy41CqUcZJxa5n9EmLEENRDH2gLm5u
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_next_light_client_block"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /EXPERIMENTAL_protocol_config:
    post:
      operationId: EXPERIMENTAL_protocol_config
      summary: Get protocol config
      description: Fetch the runtime protocol config at a chosen block — gas costs, storage prices, and limits currently in force.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - EXPERIMENTAL_protocol_config
                params:
                  type: object
                  description: One of multiple possible types
            examples:
              mainnet:
                summary: Get protocol config (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: EXPERIMENTAL_protocol_config
                  params:
                    finality: final
              testnet:
                summary: Get protocol config (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: EXPERIMENTAL_protocol_config
                  params:
                    finality: final
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_EXPERIMENTAL_protocol_config"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /EXPERIMENTAL_congestion_level:
    post:
      operationId: EXPERIMENTAL_congestion_level
      summary: Get congestion level
      description: Measure a single shard's congestion pressure at a chosen block — a 0.0-to-1.0 saturation score.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - EXPERIMENTAL_congestion_level
                params:
                  type:
                    - object
                    - "null"
                  properties:
                    block_id:
                      oneOf:
                        - type: integer
                          description: Block height
                        - type: string
                          description: Base58-encoded block hash
                      description: Block height (integer) or block hash (string)
                    shard_id:
                      type: integer
                      description: Shard identifier
                  required:
                    - block_id
                    - shard_id
            examples:
              mainnet:
                summary: Get congestion level (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: EXPERIMENTAL_congestion_level
                  params:
                    block_id: 9XN7MtDywZvfGx6TKy1MT2iCZkKuHikJXmNazxdZ4x6T
                    shard_id: 10
              testnet:
                summary: Get congestion level (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: EXPERIMENTAL_congestion_level
                  params:
                    block_id: 6JYj6i1FaUCzdoqy41CqUcZJxa5n9EmLEENRDH2gLm5u
                    shard_id: 10
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_EXPERIMENTAL_congestion_level"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /EXPERIMENTAL_light_client_block_proof:
    post:
      operationId: EXPERIMENTAL_light_client_block_proof
      summary: Get light client block proof
      description: Fetch a Merkle proof — by Base58 block and light-client-head hashes — that the block is included in the light client's verified chain.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - EXPERIMENTAL_light_client_block_proof
                params:
                  type: object
                  properties:
                    block_hash:
                      type: string
                      description: Base58-encoded hash
                    light_client_head:
                      type: string
                      description: Base58-encoded hash
                  required:
                    - block_hash
                    - light_client_head
            examples:
              mainnet:
                summary: Get light client block proof (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: EXPERIMENTAL_light_client_block_proof
                  params:
                    block_hash: 64utzv4G8AwNSxVnj23KPwU46VL435jQbQokbaYFtZ6V
                    light_client_head: 9XN7MtDywZvfGx6TKy1MT2iCZkKuHikJXmNazxdZ4x6T
              testnet:
                summary: Get light client block proof (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: EXPERIMENTAL_light_client_block_proof
                  params:
                    block_hash: GTnMamkzwhsTdaZ48g7BvFALJ4ECZYJZA9aagejnAinp
                    light_client_head: 6JYj6i1FaUCzdoqy41CqUcZJxa5n9EmLEENRDH2gLm5u
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_EXPERIMENTAL_light_client_block_proof"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /EXPERIMENTAL_split_storage_info:
    post:
      operationId: EXPERIMENTAL_split_storage_info
      summary: Get split storage info
      description: Inspect a node's split-storage layout — the boundary between hot recent data and cold archival data.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - EXPERIMENTAL_split_storage_info
                params:
                  type: array
                  maxItems: 0
                  description: Empty array as this method takes no parameters
                  example: []
            examples:
              mainnet:
                summary: Get split storage info (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: EXPERIMENTAL_split_storage_info
                  params: []
              testnet:
                summary: Get split storage info (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: EXPERIMENTAL_split_storage_info
                  params: []
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_EXPERIMENTAL_split_storage_info"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /EXPERIMENTAL_light_client_proof:
    post:
      operationId: EXPERIMENTAL_light_client_proof
      summary: Get light client execution proof
      description: Fetch a Merkle proof of transaction or receipt inclusion by Base58 ID — the EXPERIMENTAL alias of `light_client_proof`.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - EXPERIMENTAL_light_client_proof
                params:
                  type: object
                  properties:
                    light_client_head:
                      type: string
                      description: Base58-encoded hash
                    sender_id:
                      type: string
                      description: NEAR account ID
                    transaction_hash:
                      type: string
                      description: Base58-encoded hash
                    type:
                      type: string
                      enum:
                        - transaction
                        - receipt
                      description: Proof subject — `transaction` proves inclusion of the top-level transaction, `receipt` proves inclusion of a specific receipt produced during execution.
                    receipt_id:
                      type: string
                      description: Base58-encoded hash
                    receiver_id:
                      type: string
                      description: NEAR account ID
                  required:
                    - light_client_head
            examples:
              mainnet:
                summary: Get light client execution proof (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: EXPERIMENTAL_light_client_proof
                  params:
                    light_client_head: 9XN7MtDywZvfGx6TKy1MT2iCZkKuHikJXmNazxdZ4x6T
                    sender_id: escrow.ai.near
                    transaction_hash: 34E7weKCDqXh3xPKdBgSWRqo44yTWjbka9deMK8JbAxx
                    type: transaction
              testnet:
                summary: Get light client execution proof (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: EXPERIMENTAL_light_client_proof
                  params:
                    light_client_head: 6JYj6i1FaUCzdoqy41CqUcZJxa5n9EmLEENRDH2gLm5u
                    sender_id: near-mpc-staking4all-01.testnet
                    transaction_hash: 9LPbkwJ26HYgda7KHrURc6jozBcpdA1kUMSEzwm81JPx
                    type: transaction
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_EXPERIMENTAL_light_client_proof"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /broadcast_tx_async:
    post:
      operationId: broadcast_tx_async
      summary: Send transaction asynchronously
      description: Broadcast a base64-encoded `SignedTransaction`; returns the transaction hash without awaiting inclusion or execution. Example payloads are placeholders and cannot be replayed.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - broadcast_tx_async
                params:
                  type: object
                  properties:
                    signed_tx_base64:
                      type: string
                      description: Base64-encoded signed transaction
                    wait_until:
                      type: string
                      enum:
                        - NONE
                        - INCLUDED
                        - INCLUDED_FINAL
                        - EXECUTED
                        - EXECUTED_OPTIMISTIC
                        - FINAL
                      description: Desired level of execution status guarantee
                      default: EXECUTED_OPTIMISTIC
                  required:
                    - signed_tx_base64
            examples:
              mainnet:
                summary: Mainnet Example
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: broadcast_tx_async
                  params:
                    signed_tx_base64: CQAAAG1pa2UubmVhcgCCy5RvHN/3t5Oejtf0aWKCCwJIxXkWWCQKxnaU9nr4nAEAAAAAAAAADQAAAG1pa2V0ZXN0Lm5lYXL6UXoKlIC/UXiHRkiBCYVW69w6N/+7ZXy0+gPAs9TQ5wEAAAADAQAAAAAAAAAAAAAAAAAAAABv/f+CgT7byEQUzraUd1LDQ7ELv5ld7bhFGUYNaxWWRMzl5rAuRhcfkV2jHIqJgu0sfw7B9/npIH69aqsm/GIM
              testnet:
                summary: Testnet Example
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: broadcast_tx_async
                  params:
                    signed_tx_base64: DAAAAG1pa2UudGVzdG5ldAD7f6gOSLbFPadEDmehA6rmcy+EOXYRGly1GK0ponIwDgEAAAAAAAAAEAAAAG1pa2V0ZXN0LnRlc3RuZXTmqC62j/JHfs1+RJFA5+kaPJY8rDAfhHuh2G548XJ6GQEAAAADAQAAAAAAAAAAAAAAAAAAAADq6qRsj8FW73GukqS5yqwXYL7riy7EcIaZrhZy40hMq4Kux+lp+AsMLtVPqic5xAfX5dlLaFRJ6Nbi2Th185UI
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_broadcast_tx_async"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /broadcast_tx_commit:
    post:
      operationId: broadcast_tx_commit
      summary: Send transaction and wait
      description: Broadcast a base64-encoded `SignedTransaction`; blocks until execution completes or a 10-second timeout elapses. Deprecated — use `send_tx`. Example payloads are placeholders and cannot be replayed.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - broadcast_tx_commit
                params:
                  type: object
                  properties:
                    signed_tx_base64:
                      type: string
                      description: Base64-encoded signed transaction
                    wait_until:
                      type: string
                      enum:
                        - NONE
                        - INCLUDED
                        - INCLUDED_FINAL
                        - EXECUTED
                        - EXECUTED_OPTIMISTIC
                        - FINAL
                      description: Desired level of execution status guarantee
                      default: EXECUTED_OPTIMISTIC
                  required:
                    - signed_tx_base64
            examples:
              mainnet:
                summary: Mainnet Example
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: broadcast_tx_commit
                  params:
                    signed_tx_base64: CQAAAG1pa2UubmVhcgD64cHVt7yB8HSzql1e8RLKSv2riwv7+vNviWHD/y95EgEAAAAAAAAADQAAAG1pa2V0ZXN0Lm5lYXJBM1Y72BJnk/V7dlrTRBxxxUxyB/JXo+hODCyF0woAEAEAAAADAQAAAAAAAAAAAAAAAAAAAADiGG3IJC5QsOBN70h+glB+U9nBYEXObdaPHMjXyu2YQbQUvALIWbdBBxhuR9VQ/fEXg7L0vGSCd9wCCrq0CFIF
              testnet:
                summary: Testnet Example
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: broadcast_tx_commit
                  params:
                    signed_tx_base64: DAAAAG1pa2UudGVzdG5ldAAnrCNE2/YvBtldmNpxP3k7ego/A6RxrtUvzhp3ngJJTQEAAAAAAAAAEAAAAG1pa2V0ZXN0LnRlc3RuZXTIRL9kr4DAnxTBWcN/e5852wyOE353mPf+XnCN73Z/hwEAAAADAQAAAAAAAAAAAAAAAAAAAADMWuZ8agklUGXpr759mp4DIsPFKgc+ZYFMjR6hjoPrNR9vPxFeLVm8jpLqr6+U9BnlQU7chIfUkeppU1YFvHsO
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_broadcast_tx_commit"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /tx_status:
    post:
      operationId: tx_status
      summary: Get transaction status
      description: Check a transaction's final outcome by Base58 hash — succeeded, failed, or still unresolved.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - tx
                params:
                  type: object
                  properties:
                    wait_until:
                      type: string
                      enum:
                        - NONE
                        - INCLUDED
                        - INCLUDED_FINAL
                        - EXECUTED
                        - EXECUTED_OPTIMISTIC
                        - FINAL
                      description: Desired level of execution status guarantee
                      default: EXECUTED_OPTIMISTIC
                    signed_tx_base64:
                      type: string
                      description: Base64-encoded Borsh serialization of a `SignedTransaction`; must be freshly signed (nonce above the access key's current value).
                    sender_account_id:
                      type: string
                      description: NEAR account ID
                    tx_hash:
                      type: string
                      description: Base58-encoded hash
            examples:
              mainnet:
                summary: Mainnet Example
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: tx
                  params:
                    tx_hash: 34E7weKCDqXh3xPKdBgSWRqo44yTWjbka9deMK8JbAxx
                    sender_account_id: escrow.ai.near
              testnet:
                summary: Testnet Example
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: tx
                  params:
                    tx_hash: 9LPbkwJ26HYgda7KHrURc6jozBcpdA1kUMSEzwm81JPx
                    sender_account_id: near-mpc-staking4all-01.testnet
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_tx_status"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /send_tx:
    post:
      operationId: send_tx
      summary: Send transaction
      description: Broadcast a base64-encoded `SignedTransaction`; blocks until the execution outcome specified by `wait_until`. Example payloads are placeholders and cannot be replayed.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - send_tx
                params:
                  type: object
                  properties:
                    signed_tx_base64:
                      type: string
                      description: Base64-encoded signed transaction
                    wait_until:
                      type: string
                      enum:
                        - NONE
                        - INCLUDED
                        - INCLUDED_FINAL
                        - EXECUTED
                        - EXECUTED_OPTIMISTIC
                        - FINAL
                      description: Desired level of execution status guarantee
                      default: EXECUTED_OPTIMISTIC
                  required:
                    - signed_tx_base64
            examples:
              mainnet:
                summary: Send transaction (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: send_tx
                  params:
                    signed_tx_base64: CQAAAG1pa2UubmVhcgBPiSiO5F7KYuZ9VQ2eF6/b9dXqrBUBxDs2AuXiQZw8DgEAAAAAAAAADQAAAG1pa2V0ZXN0Lm5lYXKwzpn8eLLqwzoVC5PlcvpzSXj65ke9WN3TLsRpndusbgEAAAADAQAAAAAAAAAAAAAAAAAAAAC7RkXLWjBx/qplpt/RT2uwQWvrovT3+6ef0BG1LU5OahlAsFmjEsuOv8rg4JI8TXOkg16oXljReiM4KU41yHYM
                    wait_until: EXECUTED_OPTIMISTIC
              testnet:
                summary: Send transaction (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: send_tx
                  params:
                    signed_tx_base64: DAAAAG1pa2UudGVzdG5ldABpWDhNQVV7BkV62S5Hbdm5jBNjKhV1eGJAHSwC6iwNqgEAAAAAAAAAEAAAAG1pa2V0ZXN0LnRlc3RuZXQlxP80whXgLsNL4raSbYLM3YKFSTxZTp6FZcg8ExwGpwEAAAADAQAAAAAAAAAAAAAAAAAAAADLrZ/qNwNTZoXF4ALlKxLeC0nfTZol2HyyY0XoChnSNATaQ27bP5HM90mAhgq4OI7Zo+k3GQ1CxC3bGUqbhMcD
                    wait_until: EXECUTED_OPTIMISTIC
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_send_tx"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /EXPERIMENTAL_tx_status:
    post:
      operationId: EXPERIMENTAL_tx_status
      summary: Get detailed transaction status
      description: Fetch a transaction's full receipt tree and per-receipt outcomes by Base58 hash — richer than `tx_status`.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - EXPERIMENTAL_tx_status
                params:
                  type: object
                  properties:
                    wait_until:
                      type: string
                      enum:
                        - NONE
                        - INCLUDED
                        - INCLUDED_FINAL
                        - EXECUTED
                        - EXECUTED_OPTIMISTIC
                        - FINAL
                      description: Desired level of execution status guarantee
                      default: EXECUTED_OPTIMISTIC
                    signed_tx_base64:
                      type: string
                      description: Base64-encoded Borsh serialization of a `SignedTransaction`; must be freshly signed (nonce above the access key's current value).
                    sender_account_id:
                      type: string
                      description: NEAR account ID
                    tx_hash:
                      type: string
                      description: Base58-encoded hash
            examples:
              mainnet:
                summary: Get detailed transaction status (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: EXPERIMENTAL_tx_status
                  params:
                    wait_until: EXECUTED_OPTIMISTIC
                    sender_account_id: escrow.ai.near
                    tx_hash: 34E7weKCDqXh3xPKdBgSWRqo44yTWjbka9deMK8JbAxx
              testnet:
                summary: Get detailed transaction status (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: EXPERIMENTAL_tx_status
                  params:
                    wait_until: EXECUTED_OPTIMISTIC
                    sender_account_id: near-mpc-staking4all-01.testnet
                    tx_hash: 9LPbkwJ26HYgda7KHrURc6jozBcpdA1kUMSEzwm81JPx
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_EXPERIMENTAL_tx_status"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /EXPERIMENTAL_receipt:
    post:
      operationId: EXPERIMENTAL_receipt
      summary: Get receipt by ID
      description: Fetch a single receipt by Base58 ID — the cross-shard execution unit a transaction produces.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - EXPERIMENTAL_receipt
                params:
                  type: object
                  properties:
                    receipt_id:
                      type: string
                      description: Base58-encoded hash
                  required:
                    - receipt_id
            examples:
              mainnet:
                summary: Get receipt by ID (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: EXPERIMENTAL_receipt
                  params:
                    receipt_id: ETMK9HmPsAYcNxfSXBejMWQs57W4Ph5HDYoYhDMpotQn
              testnet:
                summary: Get receipt by ID (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: EXPERIMENTAL_receipt
                  params:
                    receipt_id: 9uJmhNCLRgsFncH3anffPLE1YsZCPTyAZrBdekc3vTaZ
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_EXPERIMENTAL_receipt"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /EXPERIMENTAL_receipt_to_tx:
    post:
      operationId: EXPERIMENTAL_receipt_to_tx
      summary: Resolve receipt to transaction
      description: Resolve a receipt ID to the transaction hash and signer that produced it. Requires a node with `save_receipt_to_tx` enabled; unindexed receipts return `UNKNOWN_RECEIPT`.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - EXPERIMENTAL_receipt_to_tx
                params:
                  type: object
                  properties:
                    block_height:
                      type:
                        - integer
                        - "null"
                      description: "Optional hint: block height near where the receipt was created, to bound the fallback scan."
                      format: uint64
                      minimum: 0
                    receipt_id:
                      type: string
                      description: Base58-encoded receipt ID to resolve to its originating transaction.
                    shard_id:
                      type:
                        - integer
                        - "null"
                      description: "Optional hint: shard to scan at the hint height; omit to scan all tracked shards."
                    window:
                      type:
                        - integer
                        - "null"
                      description: "Optional hint: ± block-height window scanned around the hint before walking ancestor blocks."
                      format: uint64
                      minimum: 0
                  required:
                    - receipt_id
            examples:
              mainnet:
                summary: Resolve receipt to transaction (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: EXPERIMENTAL_receipt_to_tx
                  params:
                    receipt_id: ETMK9HmPsAYcNxfSXBejMWQs57W4Ph5HDYoYhDMpotQn
                    block_height: 194263442
              testnet:
                summary: Resolve receipt to transaction (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: EXPERIMENTAL_receipt_to_tx
                  params:
                    receipt_id: 9uJmhNCLRgsFncH3anffPLE1YsZCPTyAZrBdekc3vTaZ
                    block_height: 246016180
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_EXPERIMENTAL_receipt_to_tx"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /validators_current:
    post:
      operationId: validators_current
      summary: Get current validators
      description: Fetch the active validator set for the current epoch, with stakes and performance stats.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - validators
                params:
                  type: array
                  items:
                    type: "null"
                  maxItems: 1
                  minItems: 1
                  example:
                    - null
            examples:
              mainnet:
                summary: Get current validators (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: validators
                  params:
                    - null
              testnet:
                summary: Get current validators (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: validators
                  params:
                    - null
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_validators_current"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /validators_by_epoch:
    post:
      operationId: validators_by_epoch
      summary: Get validators by epoch
      description: Fetch the validator set for a chosen past epoch, selected by epoch-start block height or Base58 epoch-id hash.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - validators
                params:
                  type: object
                  required:
                    - epoch_id
                  properties:
                    epoch_id:
                      type: string
                      description: Base58-encoded epoch identifier hash
            examples:
              mainnet:
                summary: Get validators by epoch (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: validators
                  params:
                    epoch_id: 4cPDvNDzf3zbKvAxPNWnNGGz8x2tty6xhowmsugAm3fo
              testnet:
                summary: Get validators by epoch (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: validators
                  params:
                    epoch_id: BARiarhzfSL7G737ik4AukX9sFYH1iR3dYU3KNUAvF3e
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_validators_by_epoch"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
  /EXPERIMENTAL_validators_ordered:
    post:
      operationId: EXPERIMENTAL_validators_ordered
      summary: Get validators ordered
      description: List validators ordered by stake size at a chosen block — broader than just the current active set.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - EXPERIMENTAL_validators_ordered
                params:
                  type: object
                  properties:
                    block_id:
                      oneOf:
                        - type: integer
                          description: Block height
                        - type: string
                          description: Base58-encoded block hash
                        - type: "null"
                      description: Block height (integer) or block hash (string)
            examples:
              mainnet:
                summary: Get validators ordered (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: EXPERIMENTAL_validators_ordered
                  params:
                    block_id: 194263739
              testnet:
                summary: Get validators ordered (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: EXPERIMENTAL_validators_ordered
                  params:
                    block_id: 246016197
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse_EXPERIMENTAL_validators_ordered"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: "FastNEAR API key as an `Authorization: Bearer` header. Preferred for backends, workers, and proxies because it keeps the key out of URLs and logs."
    ApiKeyAuth:
      type: apiKey
      in: query
      name: apiKey
      description: FastNEAR API key as the `apiKey` query parameter. Handy for curl or clients that cannot set headers, but the key can end up in URLs, logs, and shell history.
  schemas:
    JsonRpcResponse_view_account:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          description: A view of the account
          properties:
            amount:
              type: string
              description: Amount in yoctoNEAR
            code_hash:
              type: string
              description: Base58-encoded hash
            global_contract_account_id:
              type:
                - string
                - "null"
              description: NEAR account ID
            global_contract_hash:
              type:
                - string
                - "null"
              description: Base58-encoded hash
            locked:
              type: string
              description: Amount in yoctoNEAR
            storage_paid_at:
              type: integer
              description: "TODO(2271): deprecated."
              format: uint64
              default: 0
              minimum: 0
            storage_usage:
              type: integer
              format: uint64
              minimum: 0
          required:
            - amount
            - locked
            - code_hash
            - storage_usage
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_view_access_key:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          description: Describes access key permission scope and nonce.
          properties:
            nonce:
              type: integer
              format: uint64
              minimum: 0
            permission:
              type: object
              description: One of multiple possible types
          required:
            - nonce
            - permission
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_view_access_key_list:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          description: Lists access keys
          properties:
            keys:
              type: array
              items:
                type: object
                description: |-
                  Describes information about an access key including its on-trie
                  identifier. For ed25519/secp256k1 access keys the `public_key` field
                  is the full public key (string form unchanged from before); for
                  ML-DSA-65 access keys it is a `ml-dsa-65-hash:...` SHA3-256 digest
                  (the full pubkey is not stored on-chain).
          required:
            - keys
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_block_by_height:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_block_by_id:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_block_effects:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            block_hash:
              type: string
              description: Base58-encoded hash
            changes:
              type: array
              items:
                type: object
                description: One of multiple possible types
          required:
            - block_hash
            - changes
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_call_function:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          description: A result returned by contract method
          properties:
            logs:
              type: array
              items:
                type: string
            result:
              type: array
              items:
                type: integer
                format: uint8
                minimum: 0
          required:
            - result
            - logs
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_view_state:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          description: Resulting state values for a view state query request
          properties:
            last_key:
              type:
                - string
                - "null"
              description: Continuation cursor — the last key returned. Pass as `after_key_base64` to fetch the next page; absent when the result set is exhausted.
            proof:
              type: array
              items:
                type: string
            values:
              type: array
              items:
                type: object
                description: Item of the state, key and value are serialized in base64 and proof for inclusion of given state item.
          required:
            - values
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_view_code:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          description: A view of the contract code.
          properties:
            code_base64:
              type: string
            hash:
              type: string
              description: Base58-encoded hash
          required:
            - code_base64
            - hash
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_view_global_contract_code:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          description: A view of the contract code.
          properties:
            code_base64:
              type: string
            hash:
              type: string
              description: Base58-encoded hash
          required:
            - code_base64
            - hash
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_view_global_contract_code_by_account_id:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          description: A view of the contract code.
          properties:
            code_base64:
              type: string
            hash:
              type: string
              description: Base58-encoded hash
          required:
            - code_base64
            - hash
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_chunk_by_hash:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            author:
              type: string
              description: NEAR account ID
            header:
              type: object
              description: Contains main info about the chunk.
              properties:
                balance_burnt:
                  type: string
                  description: Amount in yoctoNEAR
                bandwidth_requests:
                  type:
                    - object
                    - "null"
                  description: One of multiple possible types
                chunk_hash:
                  type: string
                  description: Base58-encoded hash
                congestion_info:
                  type:
                    - object
                    - "null"
                  description: 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)
                encoded_length:
                  type: integer
                  format: uint64
                  minimum: 0
                encoded_merkle_root:
                  type: string
                  description: Base58-encoded hash
                gas_limit:
                  type: string
                  description: Gas amount
                gas_used:
                  type: string
                  description: Gas amount
                height_created:
                  type: integer
                  format: uint64
                  minimum: 0
                height_included:
                  type: integer
                  format: uint64
                  minimum: 0
                outcome_root:
                  type: string
                  description: Base58-encoded hash
                outgoing_receipts_root:
                  type: string
                  description: Base58-encoded hash
                prev_block_hash:
                  type: string
                  description: Base58-encoded hash
                prev_state_root:
                  type: string
                  description: Base58-encoded hash
                rent_paid:
                  type: string
                  description: Amount in yoctoNEAR
                  default: "0"
                shard_id:
                  type: integer
                  description: Shard identifier
                signature:
                  type: string
                  description: Base58-encoded cryptographic signature
                tx_root:
                  type: string
                  description: Base58-encoded hash
                validator_proposals:
                  type: array
                  items:
                    type: object
                validator_reward:
                  type: string
                  description: Amount in yoctoNEAR
                  default: "0"
              required:
                - chunk_hash
                - prev_block_hash
                - outcome_root
                - prev_state_root
                - encoded_merkle_root
                - encoded_length
                - height_created
                - height_included
                - shard_id
                - gas_used
                - gas_limit
                - balance_burnt
                - outgoing_receipts_root
                - tx_root
                - validator_proposals
                - signature
            receipts:
              type: array
              items:
                type: object
            transactions:
              type: array
              items:
                type: object
          required:
            - author
            - header
            - transactions
            - receipts
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_chunk_by_block_shard:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            author:
              type: string
              description: NEAR account ID
            header:
              type: object
              description: Contains main info about the chunk.
              properties:
                balance_burnt:
                  type: string
                  description: Amount in yoctoNEAR
                bandwidth_requests:
                  type:
                    - object
                    - "null"
                  description: One of multiple possible types
                chunk_hash:
                  type: string
                  description: Base58-encoded hash
                congestion_info:
                  type:
                    - object
                    - "null"
                  description: 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)
                encoded_length:
                  type: integer
                  format: uint64
                  minimum: 0
                encoded_merkle_root:
                  type: string
                  description: Base58-encoded hash
                gas_limit:
                  type: string
                  description: Gas amount
                gas_used:
                  type: string
                  description: Gas amount
                height_created:
                  type: integer
                  format: uint64
                  minimum: 0
                height_included:
                  type: integer
                  format: uint64
                  minimum: 0
                outcome_root:
                  type: string
                  description: Base58-encoded hash
                outgoing_receipts_root:
                  type: string
                  description: Base58-encoded hash
                prev_block_hash:
                  type: string
                  description: Base58-encoded hash
                prev_state_root:
                  type: string
                  description: Base58-encoded hash
                rent_paid:
                  type: string
                  description: Amount in yoctoNEAR
                  default: "0"
                shard_id:
                  type: integer
                  description: Shard identifier
                signature:
                  type: string
                  description: Base58-encoded cryptographic signature
                tx_root:
                  type: string
                  description: Base58-encoded hash
                validator_proposals:
                  type: array
                  items:
                    type: object
                validator_reward:
                  type: string
                  description: Amount in yoctoNEAR
                  default: "0"
              required:
                - chunk_hash
                - prev_block_hash
                - outcome_root
                - prev_state_root
                - encoded_merkle_root
                - encoded_length
                - height_created
                - height_included
                - shard_id
                - gas_used
                - gas_limit
                - balance_burnt
                - outgoing_receipts_root
                - tx_root
                - validator_proposals
                - signature
            receipts:
              type: array
              items:
                type: object
            transactions:
              type: array
              items:
                type: object
          required:
            - author
            - header
            - transactions
            - receipts
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_gas_price:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            gas_price:
              type: string
              description: Amount in yoctoNEAR
          required:
            - gas_price
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_gas_price_by_block:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            gas_price:
              type: string
              description: Amount in yoctoNEAR
          required:
            - gas_price
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_health:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          description: Health status of the node
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_latest_block:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_light_client_proof:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            block_header_lite:
              type: object
              properties:
                inner_lite:
                  type: object
                  description: A part of a state for the current head of a light client. More info [here](https://nomicon.io/ChainSpec/LightClient).
                inner_rest_hash:
                  type: string
                  description: Base58-encoded hash
                prev_block_hash:
                  type: string
                  description: Base58-encoded hash
              required:
                - prev_block_hash
                - inner_rest_hash
                - inner_lite
            block_proof:
              type: array
              items:
                type: object
            outcome_proof:
              type: object
              properties:
                block_hash:
                  type: string
                  description: Base58-encoded hash
                id:
                  type: string
                  description: Base58-encoded hash
                outcome:
                  type: object
                proof:
                  type: array
                  items:
                    type: object
              required:
                - proof
                - block_hash
                - id
                - outcome
            outcome_root_proof:
              type: array
              items:
                type: object
          required:
            - outcome_proof
            - outcome_root_proof
            - block_header_lite
            - block_proof
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_network_info:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            active_peers:
              type: array
              items:
                type: object
            known_producers:
              type: array
              items:
                type: object
              description: Accounts of known block and chunk producers from routing table.
            num_active_peers:
              type: integer
              format: uint
              minimum: 0
            peer_max_count:
              type: integer
              format: uint32
              minimum: 0
            received_bytes_per_sec:
              type: integer
              format: uint64
              minimum: 0
            sent_bytes_per_sec:
              type: integer
              format: uint64
              minimum: 0
          required:
            - active_peers
            - num_active_peers
            - peer_max_count
            - sent_bytes_per_sec
            - received_bytes_per_sec
            - known_producers
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_status:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            chain_id:
              type: string
              description: Unique chain id.
            detailed_debug_status:
              type:
                - object
                - "null"
              properties:
                block_production_delay_millis:
                  type: integer
                  format: uint64
                  minimum: 0
                catchup_status:
                  type: array
                  items:
                    type: object
                current_head_status:
                  type: object
                  description: Height and hash of a block
                current_header_head_status:
                  type: object
                  description: Height and hash of a block
                network_info:
                  type: object
                sync_status:
                  type: string
              required:
                - network_info
                - sync_status
                - catchup_status
                - current_head_status
                - current_header_head_status
                - block_production_delay_millis
            genesis_hash:
              type: string
              description: Base58-encoded hash
            latest_protocol_version:
              type: integer
              description: Latest protocol version that this client supports.
              format: uint32
              minimum: 0
            node_key:
              type:
                - string
                - "null"
              description: "Public key with its type prefix: ed25519:, secp256k1:, or the full ml-dsa-65: key (never the ml-dsa-65-hash: handle)."
            node_public_key:
              type: string
              description: "Public key with its type prefix: ed25519:, secp256k1:, or the full ml-dsa-65: key (never the ml-dsa-65-hash: handle)."
            protocol_version:
              type: integer
              description: Currently active protocol version.
              format: uint32
              minimum: 0
            rpc_addr:
              type:
                - string
                - "null"
              description: Address for RPC server.  None if node doesn't have RPC endpoint enabled.
            sync_info:
              type: object
              properties:
                earliest_block_hash:
                  type:
                    - string
                    - "null"
                  description: Base58-encoded hash
                earliest_block_height:
                  type:
                    - integer
                    - "null"
                  format: uint64
                  minimum: 0
                earliest_block_time:
                  type:
                    - string
                    - "null"
                epoch_id:
                  type:
                    - string
                    - "null"
                  description: Base58-encoded epoch identifier hash
                epoch_start_height:
                  type:
                    - integer
                    - "null"
                  format: uint64
                  minimum: 0
                latest_block_hash:
                  type: string
                  description: Base58-encoded hash
                latest_block_height:
                  type: integer
                  format: uint64
                  minimum: 0
                latest_block_time:
                  type: string
                latest_state_root:
                  type: string
                  description: Base58-encoded hash
                syncing:
                  type: boolean
              required:
                - latest_block_hash
                - latest_block_height
                - latest_state_root
                - latest_block_time
                - syncing
              description: Sync status of the node.
            uptime_sec:
              type: integer
              description: Uptime of the node.
              format: int64
            validator_account_id:
              type:
                - string
                - "null"
              description: NEAR account ID
            validator_public_key:
              type:
                - string
                - "null"
              description: "Public key with its type prefix: ed25519:, secp256k1:, or the full ml-dsa-65: key (never the ml-dsa-65-hash: handle)."
            validators:
              type: array
              items:
                type: object
              description: Current epoch validators.
            version:
              type: object
              description: Data structure for semver version and github tag or commit.
              properties:
                build:
                  type: string
                commit:
                  type: string
                rustc_version:
                  type: string
                  default: ""
                version:
                  type: string
              required:
                - version
                - build
                - commit
          required:
            - version
            - chain_id
            - protocol_version
            - latest_protocol_version
            - validators
            - sync_info
            - node_public_key
            - uptime_sec
            - genesis_hash
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_genesis_config:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            block_producer_kickout_threshold:
              type: integer
              description: Threshold for kicking out block producers, between 0 and 100.
              format: uint8
              minimum: 0
            chain_id:
              type: string
              description: |-
                ID of the blockchain. This must be unique for every blockchain.
                If your testnet blockchains do not have unique chain IDs, you will have a bad time.
            chunk_producer_assignment_changes_limit:
              type: integer
              description: |-
                Limits the number of shard changes in chunk producer assignments,
                if algorithm is able to choose assignment with better balance of
                number of chunk producers for shards.
              format: uint64
              default: 5
              minimum: 0
            chunk_producer_kickout_threshold:
              type: integer
              description: Threshold for kicking out chunk producers, between 0 and 100.
              format: uint8
              minimum: 0
            chunk_validator_only_kickout_threshold:
              type: integer
              description: Threshold for kicking out nodes which are only chunk validators, between 0 and 100.
              format: uint8
              default: 80
              minimum: 0
            dynamic_resharding:
              type: boolean
              description: Enable dynamic re-sharding.
            epoch_length:
              type: integer
              description: Epoch length counted in block heights.
              format: uint64
              minimum: 0
            fishermen_threshold:
              type: string
              description: Amount in yoctoNEAR
            gas_limit:
              type: string
              description: Gas amount
            gas_price_adjustment_rate:
              type: array
              items:
                type: integer
                format: int32
              description: Gas price adjustment rate
            genesis_height:
              type: integer
              description: Height of genesis block.
              format: uint64
              minimum: 0
            genesis_time:
              type: string
              description: Official time of blockchain start.
              format: date-time
            max_gas_price:
              type: string
              description: Amount in yoctoNEAR
            max_inflation_rate:
              type: array
              items:
                type: integer
                format: int32
              description: Maximum inflation on the total supply every epoch.
            max_kickout_stake_perc:
              type: integer
              description: Max stake percentage of the validators we will kick out.
              format: uint8
              default: 100
              minimum: 0
            min_gas_price:
              type: string
              description: Amount in yoctoNEAR
            minimum_stake_divisor:
              type: integer
              description: The minimum stake required for staking is last seat price divided by this number.
              format: uint64
              default: 10
              minimum: 0
            minimum_stake_ratio:
              type: array
              items:
                type: integer
                format: int32
              description: |-
                The lowest ratio s/s_total any block producer can have.
                See <https://github.com/near/NEPs/pull/167> for details
            minimum_validators_per_shard:
              type: integer
              description: The minimum number of validators each shard must have
              format: uint64
              default: 1
              minimum: 0
            num_block_producer_seats:
              type: integer
              description: Number of block producer seats at genesis.
              format: uint64
              minimum: 0
            num_blocks_per_year:
              type: integer
              description: Expected number of blocks per year
              format: uint64
              minimum: 0
            num_chunk_producer_seats:
              type: integer
              description: |-
                Number of chunk producers.
                Don't mess it up with chunk-only producers feature which is deprecated.
              format: uint64
              default: 100
              minimum: 0
            num_chunk_validator_seats:
              type: integer
              format: uint64
              default: 300
              minimum: 0
            online_max_threshold:
              type: array
              items:
                type: integer
                format: int32
              description: Online maximum threshold above which validator gets full reward.
            online_min_threshold:
              type: array
              items:
                type: integer
                format: int32
              description: Online minimum threshold below which validator doesn't receive reward.
            protocol_reward_rate:
              type: array
              items:
                type: integer
                format: int32
              description: Protocol treasury rate
            protocol_treasury_account:
              type: string
              description: NEAR account ID
            protocol_upgrade_stake_threshold:
              type: array
              items:
                type: integer
                format: int32
              description: Threshold of stake that needs to indicate that they ready for upgrade.
            protocol_version:
              type: integer
              description: Protocol version that this genesis works with.
              format: uint32
              minimum: 0
            shard_layout:
              type: object
              description: One of multiple possible types
              default:
                V2:
                  boundary_accounts: []
                  id_to_index_map:
                    "0": 0
                  index_to_id_map:
                    "0": 0
                  shard_ids:
                    - 0
                  version: 0
            shuffle_shard_assignment_for_chunk_producers:
              type: boolean
              description: |-
                If true, shuffle the chunk producers across shards. In other words, if
                the shard assignments were `[S_0, S_1, S_2, S_3]` where `S_i` represents
                the set of chunk producers for shard `i`, if this flag were true, the
                shard assignments might become, for example, `[S_2, S_0, S_3, S_1]`.
              default: false
            target_validator_mandates_per_shard:
              type: integer
              description: Number of target chunk validator mandates for each shard.
              format: uint64
              default: 68
              minimum: 0
            total_supply:
              type: string
              description: Amount in yoctoNEAR
            transaction_validity_period:
              type: integer
              description: Number of blocks for which a given transaction is valid
              format: uint64
              minimum: 0
            use_production_config:
              type: boolean
              description: |-
                This is only for test purposes. We hard code some configs for mainnet and testnet
                in AllEpochConfig, and we want to have a way to test that code path. This flag is for that.
                If set to true, the node will use the same config override path as mainnet and testnet.
              default: false
            validators:
              type: array
              items:
                type: object
                description: Account info for validators
              description: List of initial validators.
            avg_hidden_validator_seats_per_shard:
              type: array
              items:
                type: integer
                format: uint64
                minimum: 0
              description: Expected number of hidden validators per shard.
            num_block_producer_seats_per_shard:
              type: array
              items:
                type: integer
                format: uint64
                minimum: 0
              description: |-
                Defines number of shards and number of block producer seats per each shard at genesis.
                Note: not used with protocol_feature_chunk_only_producers -- replaced by minimum_validators_per_shard
                Note: not used before as all block producers produce chunks for all shards
            num_chunk_only_producer_seats:
              type: integer
              description: Deprecated.
              format: uint64
              default: 300
              minimum: 0
          required:
            - protocol_version
            - genesis_time
            - chain_id
            - genesis_height
            - num_block_producer_seats
            - dynamic_resharding
            - epoch_length
            - gas_limit
            - min_gas_price
            - max_gas_price
            - block_producer_kickout_threshold
            - chunk_producer_kickout_threshold
            - gas_price_adjustment_rate
            - validators
            - transaction_validity_period
            - protocol_reward_rate
            - max_inflation_rate
            - total_supply
            - num_blocks_per_year
            - protocol_treasury_account
            - fishermen_threshold
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_client_config:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          description: ClientConfig where some fields can be updated at runtime.
          properties:
            archive:
              type: boolean
              description: Not clear old data, set `true` for archive nodes.
            block_header_fetch_horizon:
              type: integer
              description: Behind this horizon header fetch kicks in.
              format: uint64
              minimum: 0
            block_production_tracking_delay:
              type: string
              description: Duration to check for producing / skipping block.
            catchup_step_period:
              type: array
              items:
                type: integer
                format: uint64
                minimum: 0
              description: Time between check to perform catchup.
            chain_id:
              type: string
              description: Chain id for status.
            chunk_distribution_network:
              type:
                - object
                - "null"
              description: |-
                Config for the Chunk Distribution Network feature.
                This allows nodes to push and pull chunks from a central stream.
                The two benefits of this approach are: (1) less request/response traffic
                on the peer-to-peer network and (2) lower latency for RPC nodes indexing the chain.
              properties:
                enabled:
                  type: boolean
                uris:
                  type: object
                  description: URIs for the Chunk Distribution Network feature.
            chunk_request_retry_period:
              type: array
              items:
                type: integer
                format: uint64
                minimum: 0
              description: Time between checking to re-request chunks.
            chunk_validation_threads:
              type: integer
              description: Number of threads for ChunkValidationActor pool.
              format: uint
              minimum: 0
            chunk_wait_mult:
              type: string
              description: Multiplier for the wait time for all chunks to be received.
            chunks_cache_height_horizon:
              type: integer
              description: |-
                Height horizon for the chunk cache. A chunk is removed from the cache
                if its height + chunks_cache_height_horizon < largest_seen_height.
                The default value is given by default_chunks_cache_height_horizon().
              format: uint64
              minimum: 0
            client_background_migration_threads:
              type: integer
              description: Number of threads to execute background migration work in client.
              format: uint
              minimum: 0
            cloud_archival_writer:
              type:
                - object
                - "null"
              description: |-
                Configuration for a cloud-based archival writer. If this config is present, the writer is enabled and
                writes chunk-related data based on the tracked shards. This config also controls additional archival
                behavior such as block data and polling interval.
              properties:
                archive_block_data:
                  type: boolean
                  description: Determines whether block-related data should be written to cloud storage.
                  default: false
                polling_interval:
                  type: object
                  default:
                    nanos: 0
                    secs: 1
                  description: Interval at which the system checks for new blocks or chunks to archive.
                snapshot_every_n_epochs:
                  type: integer
                  description: |-
                    Cadence of state snapshots, in epochs. Higher values reduce bucket cost at
                    the expense of potentially longer delta replay during reader bootstrap.
                  format: uint64
                  default: 10
                  minimum: 0
            disable_tx_routing:
              type: boolean
              description: If true, the node won't forward transactions to next the chunk producers.
            doomslug_step_period:
              type: string
              description: Time between running doomslug timer.
            enable_early_prepare_transactions:
              type: boolean
              description: |-
                If true, transactions for the next chunk will be prepared early, right after the previous chunk's
                post-state is ready. This can help produce chunks faster, for high-throughput chains.
                The current implementation increases latency on low-load chains, which will be fixed in the future.
                The default is disabled.
            enable_multiline_logging:
              type: boolean
            enable_statistics_export:
              type: boolean
              description: Re-export storage layer statistics as prometheus metrics.
            epoch_length:
              type: integer
              description: Epoch length.
              format: uint64
              minimum: 0
            epoch_sync:
              type: object
              properties:
                epoch_sync_horizon_num_epochs:
                  type: integer
                  description: |-
                    Number of epochs behind the network head beyond which the node will use
                    epoch sync instead of header sync. At the consumption site, this is
                    multiplied by epoch_length to get the horizon in blocks.
                  format: uint64
                  default: 2
                  minimum: 0
                timeout_for_epoch_sync:
                  type: object
                  description: |-
                    Timeout for epoch sync requests. The node will continue retrying indefinitely even
                    if this timeout is exceeded.
              description: Options for epoch sync.
            expected_shutdown:
              type: string
              description: Graceful shutdown at expected block height.
            gc:
              type: object
              description: Configuration for garbage collection.
              properties:
                gc_blocks_limit:
                  type: integer
                  description: |-
                    Maximum number of blocks to garbage collect at every garbage collection
                    call.
                  format: uint64
                  default: 2
                  minimum: 0
                gc_fork_clean_step:
                  type: integer
                  description: |-
                    Maximum number of height to go through at each garbage collection step
                    when cleaning forks during garbage collection.
                  format: uint64
                  default: 100
                  minimum: 0
                gc_num_epochs_to_keep:
                  type: integer
                  description: Number of epochs for which we keep store data.
                  format: uint64
                  default: 5
                  minimum: 0
                gc_step_period:
                  type: object
                  default:
                    nanos: 500000000
                    secs: 0
                  description: How often gc should be run
            header_sync_expected_height_per_second:
              type: integer
              description: Expected increase of header head height per second during header sync
              format: uint64
              minimum: 0
            header_sync_initial_timeout:
              type: array
              items:
                type: integer
                format: uint64
                minimum: 0
              description: How much time to wait after initial header sync
            header_sync_progress_timeout:
              type: array
              items:
                type: integer
                format: uint64
                minimum: 0
              description: How much time to wait after some progress is made in header sync
            header_sync_stall_ban_timeout:
              type: array
              items:
                type: integer
                format: uint64
                minimum: 0
              description: How much time to wait before banning a peer in header sync if sync is too slow
            log_summary_period:
              type: array
              items:
                type: integer
                format: uint64
                minimum: 0
              description: Period between logging summary information.
            log_summary_style:
              type: string
              enum:
                - plain
                - colored
              description: Enable coloring of the logs
            max_block_production_delay:
              type: string
              description: Maximum wait for approvals before producing block.
            max_block_wait_delay:
              type: string
              description: Maximum duration before skipping given height.
            max_gas_burnt_view:
              type:
                - string
                - "null"
              description: Gas amount
            min_block_production_delay:
              type: string
              description: Minimum duration before producing block.
            min_num_peers:
              type: integer
              description: Minimum number of peers to start syncing.
              format: uint
              minimum: 0
            num_block_producer_seats:
              type: integer
              description: Number of block producer seats
              format: uint64
              minimum: 0
            orphan_state_witness_max_size:
              type: integer
              description: |-
                Maximum size of state witnesses in the OrphanStateWitnessPool.
                We keep only orphan witnesses which are smaller than this size.
                This limits the maximum memory usage of OrphanStateWitnessPool.
              format: uint64
              minimum: 0
            orphan_state_witness_pool_size:
              type: integer
              description: |-
                OrphanStateWitnessPool keeps instances of ChunkStateWitness which can't be processed
                because the previous block isn't available. The witnesses wait in the pool until the
                required block appears. This variable controls how many witnesses can be stored in the pool.
              format: uint
              minimum: 0
            produce_chunk_add_transactions_time_limit:
              type: string
              description: |-
                Limit the time of adding transactions to a chunk.
                A node produces a chunk by adding transactions from the transaction pool until
                some limit is reached. This time limit ensures that adding transactions won't take
                longer than the specified duration, which helps to produce the chunk quickly.
            produce_empty_blocks:
              type: boolean
              description: Produce empty blocks, use `false` for testing.
            protocol_version_check:
              type: string
              enum:
                - Next
                - NextNext
              description: Configures whether the node checks the next or the next next epoch for network version compatibility.
            receipt_to_tx_max_hint_window:
              type: integer
              description: |-
                Max `±window` accepted on `EXPERIMENTAL_receipt_to_tx` requests.
                Caps caller's `window`. Applies to pre-first-scan `CenterOut`
                against caller's literal hint; ancestor scans use
                `receipt_to_tx_max_hop_distance` instead. Operators raising this
                should also raise `receipt_to_tx_max_hop_distance` so backward reach
                matches caller's wider hint scope. Requests with `window` over this
                rejected with `WindowTooLarge`.
              format: uint64
              minimum: 0
            receipt_to_tx_max_hop_distance:
              type: integer
              description: |-
                Max block-distance ancestor scan walks per hop once any scan in
                walk refreshed `current_height`. Subsequent column-miss scans visit
                `h, h-1, ..., h-max_hop_distance` from most-recent scan-refreshed
                anchor, regardless of column hits between. Anchor included —
                same-shard local receipts execute in same block as producing
                outcome. Raise if cold archival traffic shows ancestor misses —
                gap = scan-refreshed anchor to producer-outcome height of receipt
                with missing column row (column hits don't reset anchor). Default
                20 (matches `receipt_to_tx_max_hint_window`).
              format: uint64
              minimum: 0
            receipt_to_tx_max_outcomes_per_request:
              type: integer
              description: |-
                Per-request ceiling on outcome rows the `EXPERIMENTAL_receipt_to_tx`
                hint-fallback scanner reads across hops + shards. Caps cold-RocksDB
                worst case on unauthenticated public endpoint. Default 20_000.
                Operators serving cold archival traffic with deep walks or sparse
                outcomes may raise; benchmark first (see TODO in
                `view_client_actor.rs`). Mid-scan exhaustion fails with
                `BudgetExceeded { scanned, limit }`.
              format: uint64
              minimum: 0
            resharding_config:
              type: string
            rpc_addr:
              type:
                - string
                - "null"
              description: Listening rpc port for status.
            save_invalid_witnesses:
              type: boolean
              description: |-
                Save observed instances of invalid ChunkStateWitness to the database in DBCol::InvalidChunkStateWitnesses.
                Saving invalid witnesses is useful for analysis and debugging.
                This option can cause extra load on the database and is not recommended for production use.
            save_latest_witnesses:
              type: boolean
              description: |-
                Save observed instances of ChunkStateWitness to the database in DBCol::LatestChunkStateWitnesses.
                Saving the latest witnesses is useful for analysis and debugging.
                This option can cause extra load on the database and is not recommended for production use.
            save_receipt_to_tx:
              type: boolean
              description: Whether to persist receipt-to-tx origin mappings to disk or not.
            save_state_changes:
              type: boolean
              description: Whether to persist state changes on disk or not.
            save_trie_changes:
              type: boolean
              description: |-
                save_trie_changes should be set to true iff
                - archive if false - non-archival nodes need trie changes to perform garbage collection
                - archive is true, cold_store is configured and migration to split_storage is finished - node
                working in split storage mode needs trie changes in order to do garbage collection on hot.
            save_tx_outcomes:
              type: boolean
              description: Whether to persist transaction outcomes to disk or not.
            save_untracked_partial_chunks_parts:
              type: boolean
              description: Whether to persist partial chunk parts for untracked shards or not.
            skip_sync_wait:
              type: boolean
              description: Skip waiting for sync (for testing or single node testnet).
            state_request_server_threads:
              type: integer
              description: Number of threads for StateRequestActor pool.
              format: uint
              minimum: 0
            state_request_throttle_period:
              type: array
              items:
                type: integer
                format: uint64
                minimum: 0
              description: |-
                Number of seconds between state requests for view client.
                Throttling window for state requests (headers and parts).
            state_requests_per_throttle_period:
              type: integer
              description: Maximum number of state requests served per throttle period
              format: uint
              minimum: 0
            state_sync:
              type: object
              properties:
                concurrency:
                  type: object
                dump:
                  type:
                    - object
                    - "null"
                  description: Configures how to dump state to external storage.
                parts_compression_lvl:
                  type: integer
                  description: Zstd compression level for state parts.
                  format: int32
                  default: 1
                sync:
                  type:
                    - string
                    - "null"
                  enum:
                    - Peers
                  description: Syncs state from the peers without reading anything from external storage.
              description: Options for syncing state.
            state_sync_external_backoff:
              type: array
              items:
                type: integer
                format: uint64
                minimum: 0
              description: Additional waiting period after a failed request to external storage
            state_sync_external_timeout:
              type: array
              items:
                type: integer
                format: uint64
                minimum: 0
              description: How long to wait for a response from centralized state sync
            state_sync_p2p_timeout:
              type: array
              items:
                type: integer
                format: uint64
                minimum: 0
              description: How long to wait for a response from p2p state sync
            state_sync_retry_backoff:
              type: array
              items:
                type: integer
                format: uint64
                minimum: 0
              description: How long to wait after a failed state sync request
            sync_check_period:
              type: array
              items:
                type: integer
                format: uint64
                minimum: 0
              description: How often to check that we are not out of sync.
            sync_height_threshold:
              type: integer
              description: "Sync height threshold: below this difference in height don't start syncing."
              format: uint64
              minimum: 0
            sync_max_block_requests:
              type: integer
              description: Maximum number of block requests to send to peers to sync
              format: uint
              minimum: 0
            sync_step_period:
              type: array
              items:
                type: integer
                format: uint64
                minimum: 0
              description: While syncing, how long to check for each step.
            tracked_shards_config:
              type: object
              description: One of multiple possible types
            transaction_pool_size_limit:
              type:
                - integer
                - "null"
              description: |-
                Limit of the size of per-shard transaction pool measured in bytes. If not set, the size
                will be unbounded.
              format: uint64
              minimum: 0
            transaction_pool_strict_nonce_ttl_blocks:
              type: integer
              description: |-
                TTL in blocks for gapped strict-nonce transactions in the pool. Transactions with a
                nonce gap whose block_hash is older than this many blocks are evicted during
                prepare_transactions.
              format: uint64
              minimum: 0
            transaction_request_handler_threads:
              type: integer
              format: uint
              minimum: 0
            trie_viewer_state_size_limit:
              type:
                - integer
                - "null"
              description: Upper bound of the byte size of contract state that is still viewable. None is no limit
              format: uint64
              minimum: 0
            ttl_account_id_router:
              type: array
              items:
                type: integer
                format: uint64
                minimum: 0
              description: Time to persist Accounts Id in the router without removing them.
            tx_routing_height_horizon:
              type: integer
              description: |-
                If the node is not a chunk producer within that many blocks, then route
                to upcoming chunk producers.
              format: uint64
              minimum: 0
            version:
              type: object
              description: Data structure for semver version and github tag or commit.
              properties:
                build:
                  type: string
                commit:
                  type: string
                rustc_version:
                  type: string
                  default: ""
                version:
                  type: string
              required:
                - version
                - build
                - commit
            view_client_threads:
              type: integer
              description: Number of threads for ViewClientActor pool.
              format: uint
              minimum: 0
            block_fetch_horizon:
              type: integer
              description: Horizon at which instead of fetching block, fetch full state.
              format: uint64
              minimum: 0
            state_sync_enabled:
              type: boolean
              description: |-
                Whether to use the State Sync mechanism.
                If disabled, the node will do Block Sync instead of State Sync.
            dynamic_resharding_dry_run:
              type: boolean
              description: |-
                If true, the runtime will do a dynamic resharding 'dry run' at the last block of each epoch.
                This means calculating tentative boundary accounts for splitting the tracked shards.
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_changes:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            block_hash:
              type: string
              description: Base58-encoded hash
            changes:
              type: array
              items:
                type: object
                properties:
                  cause:
                    type: object
                    description: One of multiple possible types
                required:
                  - cause
          required:
            - block_hash
            - changes
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_maintenance_windows:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: array
          items:
            type: object
            properties:
              end:
                type: integer
                format: uint64
                minimum: 0
              start:
                type: integer
                format: uint64
                minimum: 0
            required:
              - start
              - end
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_next_light_client_block:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          description: A state for the current head of a light client. More info [here](https://nomicon.io/ChainSpec/LightClient).
          properties:
            approvals_after_next:
              type: array
              items:
                type:
                  - string
                  - "null"
                description: Base58-encoded cryptographic signature
            inner_lite:
              type: object
              description: A part of a state for the current head of a light client. More info [here](https://nomicon.io/ChainSpec/LightClient).
              properties:
                block_merkle_root:
                  type: string
                  description: Base58-encoded hash
                epoch_id:
                  type: string
                  description: Base58-encoded hash
                height:
                  type: integer
                  format: uint64
                  minimum: 0
                next_bp_hash:
                  type: string
                  description: Base58-encoded hash
                next_epoch_id:
                  type: string
                  description: Base58-encoded hash
                outcome_root:
                  type: string
                  description: Base58-encoded hash
                prev_state_root:
                  type: string
                  description: Base58-encoded hash
                timestamp:
                  type: integer
                  description: Legacy json number. Should not be used.
                  format: uint64
                  minimum: 0
                timestamp_nanosec:
                  type: string
              required:
                - height
                - epoch_id
                - next_epoch_id
                - prev_state_root
                - outcome_root
                - timestamp
                - timestamp_nanosec
                - next_bp_hash
                - block_merkle_root
            inner_rest_hash:
              type: string
              description: Base58-encoded hash
            next_block_inner_hash:
              type: string
              description: Base58-encoded hash
            next_bps:
              type: array
              items:
                type: object
                description: One of multiple possible types
            prev_block_hash:
              type: string
              description: Base58-encoded hash
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_EXPERIMENTAL_protocol_config:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            block_producer_kickout_threshold:
              type: integer
              description: Threshold for kicking out block producers, between 0 and 100.
              format: uint8
              minimum: 0
            chain_id:
              type: string
              description: |-
                ID of the blockchain. This must be unique for every blockchain.
                If your testnet blockchains do not have unique chain IDs, you will have a bad time.
            chunk_producer_kickout_threshold:
              type: integer
              description: Threshold for kicking out chunk producers, between 0 and 100.
              format: uint8
              minimum: 0
            chunk_validator_only_kickout_threshold:
              type: integer
              description: Threshold for kicking out nodes which are only chunk validators, between 0 and 100.
              format: uint8
              minimum: 0
            dynamic_resharding:
              type: boolean
              description: Enable dynamic re-sharding.
            epoch_length:
              type: integer
              description: Epoch length counted in block heights.
              format: uint64
              minimum: 0
            fishermen_threshold:
              type: string
              description: Amount in yoctoNEAR
            gas_limit:
              type: string
              description: Gas amount
            gas_price_adjustment_rate:
              type: array
              items:
                type: integer
                format: int32
              description: Gas price adjustment rate
            genesis_height:
              type: integer
              description: Height of genesis block.
              format: uint64
              minimum: 0
            genesis_time:
              type: string
              description: Official time of blockchain start.
              format: date-time
            max_gas_price:
              type: string
              description: Amount in yoctoNEAR
            max_inflation_rate:
              type: array
              items:
                type: integer
                format: int32
              description: Maximum inflation on the total supply every epoch.
            max_kickout_stake_perc:
              type: integer
              description: Max stake percentage of the validators we will kick out.
              format: uint8
              minimum: 0
            min_gas_price:
              type: string
              description: Amount in yoctoNEAR
            minimum_stake_divisor:
              type: integer
              description: The minimum stake required for staking is last seat price divided by this number.
              format: uint64
              minimum: 0
            minimum_stake_ratio:
              type: array
              items:
                type: integer
                format: int32
              description: |-
                The lowest ratio s/s_total any block producer can have.
                See <https://github.com/near/NEPs/pull/167> for details
            minimum_validators_per_shard:
              type: integer
              description: The minimum number of validators each shard must have
              format: uint64
              minimum: 0
            num_block_producer_seats:
              type: integer
              description: Number of block producer seats at genesis.
              format: uint64
              minimum: 0
            num_blocks_per_year:
              type: integer
              description: Expected number of blocks per year
              format: uint64
              minimum: 0
            online_max_threshold:
              type: array
              items:
                type: integer
                format: int32
              description: Online maximum threshold above which validator gets full reward.
            online_min_threshold:
              type: array
              items:
                type: integer
                format: int32
              description: Online minimum threshold below which validator doesn't receive reward.
            protocol_reward_rate:
              type: array
              items:
                type: integer
                format: int32
              description: Protocol treasury rate
            protocol_treasury_account:
              type: string
              description: NEAR account ID
            protocol_upgrade_stake_threshold:
              type: array
              items:
                type: integer
                format: int32
              description: Threshold of stake that needs to indicate that they ready for upgrade.
            protocol_version:
              type: integer
              description: Current Protocol Version
              format: uint32
              minimum: 0
            runtime_config:
              type: object
              description: View that preserves JSON format of the runtime config.
              properties:
                account_creation_charge:
                  type: string
                  description: Amount in yoctoNEAR
                  default: "0"
                account_creation_config:
                  type: object
                  description: The structure describes configuration for creation of new accounts.
                congestion_control_config:
                  type: object
                  description: The configuration for congestion control. More info about congestion [here](https://near.github.io/nearcore/architecture/how/receipt-congestion.html?highlight=congestion#receipt-congestion)
                min_gas_purchase_price:
                  type: string
                  description: Amount in yoctoNEAR
                  default: "0"
                storage_amount_per_byte:
                  type: string
                  description: Amount in yoctoNEAR
                transaction_costs:
                  type: object
                  description: Describes different fees for the runtime
                wasm_config:
                  type: object
                  description: Config of wasm operations.
                witness_config:
                  type: object
                  description: Configuration specific to ChunkStateWitness.
            shard_layout:
              type: object
              description: One of multiple possible types
            shuffle_shard_assignment_for_chunk_producers:
              type: boolean
              description: |-
                If true, shuffle the chunk producers across shards. In other words, if
                the shard assignments were `[S_0, S_1, S_2, S_3]` where `S_i` represents
                the set of chunk producers for shard `i`, if this flag were true, the
                shard assignments might become, for example, `[S_2, S_0, S_3, S_1]`.
            target_validator_mandates_per_shard:
              type: integer
              description: Number of target chunk validator mandates for each shard.
              format: uint64
              minimum: 0
            transaction_validity_period:
              type: integer
              description: Number of blocks for which a given transaction is valid
              format: uint64
              minimum: 0
            avg_hidden_validator_seats_per_shard:
              type: array
              items:
                type: integer
                format: uint64
                minimum: 0
              description: Expected number of hidden validators per shard.
            num_block_producer_seats_per_shard:
              type: array
              items:
                type: integer
                format: uint64
                minimum: 0
              description: Defines number of shards and number of block producer seats per each shard at genesis.
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_EXPERIMENTAL_congestion_level:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            congestion_level:
              type: number
              format: double
          required:
            - congestion_level
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_EXPERIMENTAL_light_client_block_proof:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            block_header_lite:
              type: object
              properties:
                inner_lite:
                  type: object
                  description: A part of a state for the current head of a light client. More info [here](https://nomicon.io/ChainSpec/LightClient).
                inner_rest_hash:
                  type: string
                  description: Base58-encoded hash
                prev_block_hash:
                  type: string
                  description: Base58-encoded hash
              required:
                - prev_block_hash
                - inner_rest_hash
                - inner_lite
            block_proof:
              type: array
              items:
                type: object
          required:
            - block_header_lite
            - block_proof
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_EXPERIMENTAL_split_storage_info:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          description: Contains the split storage information.
          properties:
            cold_head_height:
              type:
                - integer
                - "null"
              format: uint64
              minimum: 0
            final_head_height:
              type:
                - integer
                - "null"
              format: uint64
              minimum: 0
            head_height:
              type:
                - integer
                - "null"
              format: uint64
              minimum: 0
            hot_db_kind:
              type:
                - string
                - "null"
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_EXPERIMENTAL_light_client_proof:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            block_header_lite:
              type: object
              properties:
                inner_lite:
                  type: object
                  description: A part of a state for the current head of a light client. More info [here](https://nomicon.io/ChainSpec/LightClient).
                inner_rest_hash:
                  type: string
                  description: Base58-encoded hash
                prev_block_hash:
                  type: string
                  description: Base58-encoded hash
              required:
                - prev_block_hash
                - inner_rest_hash
                - inner_lite
            block_proof:
              type: array
              items:
                type: object
            outcome_proof:
              type: object
              properties:
                block_hash:
                  type: string
                  description: Base58-encoded hash
                id:
                  type: string
                  description: Base58-encoded hash
                outcome:
                  type: object
                proof:
                  type: array
                  items:
                    type: object
              required:
                - proof
                - block_hash
                - id
                - outcome
            outcome_root_proof:
              type: array
              items:
                type: object
          required:
            - outcome_proof
            - outcome_root_proof
            - block_header_lite
            - block_proof
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_broadcast_tx_async:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: string
          description: Base58-encoded hash
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_broadcast_tx_commit:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            final_execution_status:
              type: string
              enum:
                - NONE
                - INCLUDED
                - INCLUDED_FINAL
                - EXECUTED
                - EXECUTED_OPTIMISTIC
                - FINAL
              description: Desired level of execution status guarantee
            receipts:
              type: array
              items:
                type: object
              description: Receipts generated from the transaction
            receipts_outcome:
              type: array
              items:
                type: object
              description: The execution outcome of receipts.
            status:
              type: object
              description: One of multiple possible types
            transaction:
              type: object
              description: Signed Transaction
            transaction_outcome:
              type: object
              description: The execution outcome of the signed transaction.
          required:
            - final_execution_status
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_tx_status:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            final_execution_status:
              type: string
              enum:
                - NONE
                - INCLUDED
                - INCLUDED_FINAL
                - EXECUTED
                - EXECUTED_OPTIMISTIC
                - FINAL
              description: Desired level of execution status guarantee
            receipts:
              type: array
              items:
                type: object
              description: Receipts generated from the transaction
            receipts_outcome:
              type: array
              items:
                type: object
              description: The execution outcome of receipts.
            status:
              type: object
              description: One of multiple possible types
            transaction:
              type: object
              description: Signed Transaction
            transaction_outcome:
              type: object
              description: The execution outcome of the signed transaction.
          required:
            - final_execution_status
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_send_tx:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            final_execution_status:
              type: string
              enum:
                - NONE
                - INCLUDED
                - INCLUDED_FINAL
                - EXECUTED
                - EXECUTED_OPTIMISTIC
                - FINAL
              description: Desired level of execution status guarantee
            receipts:
              type: array
              items:
                type: object
              description: Receipts generated from the transaction
            receipts_outcome:
              type: array
              items:
                type: object
              description: The execution outcome of receipts.
            status:
              type: object
              description: One of multiple possible types
            transaction:
              type: object
              description: Signed Transaction
            transaction_outcome:
              type: object
              description: The execution outcome of the signed transaction.
          required:
            - final_execution_status
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_EXPERIMENTAL_tx_status:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            final_execution_status:
              type: string
              enum:
                - NONE
                - INCLUDED
                - INCLUDED_FINAL
                - EXECUTED
                - EXECUTED_OPTIMISTIC
                - FINAL
              description: Desired level of execution status guarantee
            receipts:
              type: array
              items:
                type: object
              description: Receipts generated from the transaction
            receipts_outcome:
              type: array
              items:
                type: object
              description: The execution outcome of receipts.
            status:
              type: object
              description: One of multiple possible types
            transaction:
              type: object
              description: Signed Transaction
            transaction_outcome:
              type: object
              description: The execution outcome of the signed transaction.
          required:
            - final_execution_status
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_EXPERIMENTAL_receipt:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            predecessor_id:
              type: string
              description: NEAR account ID
            priority:
              type: integer
              description: Deprecated, retained for backward compatibility.
              format: uint64
              default: 0
              minimum: 0
            receipt:
              type: object
              description: One of multiple possible types
            receipt_id:
              type: string
              description: Base58-encoded hash
            receiver_id:
              type: string
              description: NEAR account ID
          required:
            - predecessor_id
            - receiver_id
            - receipt_id
            - receipt
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_EXPERIMENTAL_receipt_to_tx:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            sender_account_id:
              type: string
              description: NEAR account ID
            transaction_hash:
              type: string
              description: Base58-encoded hash
          required:
            - transaction_hash
            - sender_account_id
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_validators_current:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          description: Information about this epoch validators and next epoch validators
          properties:
            current_fishermen:
              type: array
              items:
                type: object
                description: One of multiple possible types
              description: Fishermen for the current epoch
            current_proposals:
              type: array
              items:
                type: object
                description: One of multiple possible types
              description: Proposals in the current epoch
            current_validators:
              type: array
              items:
                type: object
                description: Describes information about the current epoch validator
              description: Validators for the current epoch
            epoch_height:
              type: integer
              description: Epoch height
              format: uint64
              minimum: 0
            epoch_start_height:
              type: integer
              description: Epoch start block height
              format: uint64
              minimum: 0
            next_fishermen:
              type: array
              items:
                type: object
                description: One of multiple possible types
              description: Fishermen for the next epoch
            next_validators:
              type: array
              items:
                type: object
              description: Validators for the next epoch
            prev_epoch_kickout:
              type: array
              items:
                type: object
              description: Kickout in the previous epoch
          required:
            - current_validators
            - next_validators
            - current_fishermen
            - next_fishermen
            - current_proposals
            - prev_epoch_kickout
            - epoch_start_height
            - epoch_height
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_validators_by_epoch:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          description: Information about this epoch validators and next epoch validators
          properties:
            current_fishermen:
              type: array
              items:
                type: object
                description: One of multiple possible types
              description: Fishermen for the current epoch
            current_proposals:
              type: array
              items:
                type: object
                description: One of multiple possible types
              description: Proposals in the current epoch
            current_validators:
              type: array
              items:
                type: object
                description: Describes information about the current epoch validator
              description: Validators for the current epoch
            epoch_height:
              type: integer
              description: Epoch height
              format: uint64
              minimum: 0
            epoch_start_height:
              type: integer
              description: Epoch start block height
              format: uint64
              minimum: 0
            next_fishermen:
              type: array
              items:
                type: object
                description: One of multiple possible types
              description: Fishermen for the next epoch
            next_validators:
              type: array
              items:
                type: object
              description: Validators for the next epoch
            prev_epoch_kickout:
              type: array
              items:
                type: object
              description: Kickout in the previous epoch
          required:
            - current_validators
            - next_validators
            - current_fishermen
            - next_fishermen
            - current_proposals
            - prev_epoch_kickout
            - epoch_start_height
            - epoch_height
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
    JsonRpcResponse_EXPERIMENTAL_validators_ordered:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: array
          items:
            type: object
            description: One of multiple possible types
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
