Hedera contracts API

The contracts objects represents the information associated with contract entities.The contracts list endpoint is cached and not updated as frequently as the contract lookup by a specific ID endpoint.

OpenAPI Specification

hedera-contracts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Mirror Node REST accounts contracts API
  version: 0.156.0
  license:
    name: Apache-2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  description: 'The REST API offers the ability to query transactions and entity information from a mirror node.


    Base url: [/api/v1](/api/v1)


    OpenAPI Spec: [/api/v1/docs/openapi.yml](/api/v1/docs/openapi.yml)'
  contact:
    name: Mirror Node Team
    email: mirrornode@hedera.com
    url: https://github.com/hiero-ledger/hiero-mirror-node
servers:
- description: The current REST API server
  url: ''
- description: The production REST API servers
  url: '{scheme}://{network}.mirrornode.hedera.com'
  variables:
    scheme:
      default: https
      description: The URI scheme
      enum:
      - http
      - https
    network:
      default: testnet
      description: The Hedera network in use
      enum:
      - mainnet-public
      - mainnet
      - previewnet
      - testnet
tags:
- name: contracts
  description: The contracts objects represents the information associated with contract entities.The contracts list endpoint is cached and not updated as frequently as the contract lookup by a specific ID endpoint.
paths:
  /api/v1/contracts/call:
    post:
      summary: Invoke a smart contract
      description: Returns a result from EVM execution such as cost-free execution of read-only smart contract queries, gas estimation, and transient simulation of read-write operations. If the `estimate` field is set to true gas estimation is executed. This API can process calls against the `latest` block or specific historical blocks when a hexadecimal or decimal block number is provided in the `block` field.
      operationId: contractCall
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContractCallRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractCallResponse'
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '415':
          description: Unsupported media type error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Generic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '501':
          description: Not implemented error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - contracts
  /api/v1/contracts:
    get:
      summary: List contract entities on network
      description: Returns a list of all contract entity items on the network.
      operationId: getContracts
      parameters:
      - $ref: '#/components/parameters/contractIdQueryParam'
      - $ref: '#/components/parameters/limitQueryParam'
      - $ref: '#/components/parameters/orderQueryParamDesc'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractsResponse'
        '400':
          $ref: '#/components/responses/InvalidParameterError'
      tags:
      - contracts
  /api/v1/contracts/{contractIdOrAddress}:
    get:
      summary: Get contract by id
      description: Return the contract information given an id
      operationId: getContract
      parameters:
      - $ref: '#/components/parameters/contractIdOrAddressPathParam'
      - $ref: '#/components/parameters/timestampQueryParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractResponse'
        '400':
          $ref: '#/components/responses/InvalidParameterError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      tags:
      - contracts
  /api/v1/contracts/{contractIdOrAddress}/results:
    get:
      summary: List contract results from a contract on the network
      description: Returns a list of all ContractResults for a contract's function executions.
      operationId: getContractResultsByContractId
      parameters:
      - $ref: '#/components/parameters/contractIdOrAddressPathParam'
      - $ref: '#/components/parameters/blockHashQueryParam'
      - $ref: '#/components/parameters/contractsBlockNumberQueryParam'
      - $ref: '#/components/parameters/fromQueryParam'
      - $ref: '#/components/parameters/internalQueryParam'
      - $ref: '#/components/parameters/limitQueryParam'
      - $ref: '#/components/parameters/orderQueryParamDesc'
      - $ref: '#/components/parameters/timestampQueryParam'
      - $ref: '#/components/parameters/transactionIndexQueryParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractResultsResponse'
        '400':
          $ref: '#/components/responses/InvalidParameterError'
      tags:
      - contracts
  /api/v1/contracts/{contractIdOrAddress}/state:
    get:
      summary: The contract state from a contract on the network
      description: Returns a list of all contract's slots. If no timestamp is provided, returns the current state.
      operationId: getContractState
      parameters:
      - $ref: '#/components/parameters/contractIdOrAddressPathParam'
      - $ref: '#/components/parameters/limitQueryParam'
      - $ref: '#/components/parameters/orderQueryParam'
      - $ref: '#/components/parameters/slotQueryParam'
      - $ref: '#/components/parameters/stateTimestampQueryParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractStateResponse'
        '400':
          $ref: '#/components/responses/InvalidParameterError'
      tags:
      - contracts
  /api/v1/contracts/{contractIdOrAddress}/results/{timestamp}:
    get:
      summary: Get the contract result from a contract on the network executed at a given timestamp
      description: Returns a single ContractResult for a contract's function executions at a specific timestamp.
      operationId: getContractResultByIdAndTimestamp
      parameters:
      - $ref: '#/components/parameters/contractIdOrAddressPathParam'
      - $ref: '#/components/parameters/hbarQueryParam'
      - $ref: '#/components/parameters/timestampPathParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractResultDetails'
        '206':
          description: Partial Content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractResultDetails'
        '400':
          $ref: '#/components/responses/InvalidParameterError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      tags:
      - contracts
  /api/v1/contracts/results:
    get:
      summary: List contract results from all contracts on the network
      description: Returns a list of all ContractResults for all contract's function executions.
      operationId: getContractsResults
      parameters:
      - $ref: '#/components/parameters/fromQueryParam'
      - $ref: '#/components/parameters/blockHashQueryParam'
      - $ref: '#/components/parameters/contractsBlockNumberQueryParam'
      - $ref: '#/components/parameters/hbarQueryParam'
      - $ref: '#/components/parameters/internalQueryParam'
      - $ref: '#/components/parameters/limitQueryParam'
      - $ref: '#/components/parameters/orderQueryParamDesc'
      - $ref: '#/components/parameters/timestampQueryParam'
      - $ref: '#/components/parameters/transactionIndexQueryParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractResultsResponse'
        '400':
          $ref: '#/components/responses/InvalidParameterError'
      tags:
      - contracts
  /api/v1/contracts/results/{transactionIdOrHash}:
    get:
      summary: Get the contract result from a contract on the network for a given transactionId or ethereum transaction hash
      description: Returns a single ContractResult for a contract's function executions for a given transactionId or ethereum transaction hash.
      operationId: getContractResultByTransactionIdOrHash
      parameters:
      - $ref: '#/components/parameters/transactionIdOrEthHashPathParam'
      - $ref: '#/components/parameters/hbarQueryParam'
      - $ref: '#/components/parameters/nonceQueryParamWithDefault'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractResultDetails'
        '206':
          description: Partial Content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractResultDetails'
        '400':
          $ref: '#/components/responses/InvalidParameterError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      tags:
      - contracts
  /api/v1/contracts/results/{transactionIdOrHash}/actions:
    get:
      summary: Get the contract actions from a contract on the network for a given transactionId or ethereum transaction hash
      description: Returns a list of ContractActions for a contract's function executions for a given transactionId or ethereum transaction hash.
      operationId: getContractActions
      parameters:
      - $ref: '#/components/parameters/transactionIdOrEthHashPathParam'
      - $ref: '#/components/parameters/contractActionsIndexQueryParam'
      - $ref: '#/components/parameters/limitQueryParam'
      - $ref: '#/components/parameters/orderQueryParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractActionsResponse'
        '400':
          $ref: '#/components/responses/InvalidParameterError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      tags:
      - contracts
  /api/v1/contracts/results/{transactionIdOrHash}/opcodes:
    get:
      summary: Get the opcode traces for a historical transaction on the network with the given transaction ID or hash
      description: 'Re-executes a transaction and returns a result containing detailed information for the execution,

        including all values from the {@code stack}, {@code memory} and {@code storage}

        and the entire trace of opcodes that were executed during the replay.


        Note that to provide the output, the transaction needs to be re-executed on the EVM,

        which may take a significant amount of time to complete if stack and memory information is requested.

        '
      operationId: getContractOpcodes
      parameters:
      - $ref: '#/components/parameters/transactionIdOrEthHashPathParam'
      - $ref: '#/components/parameters/stack'
      - $ref: '#/components/parameters/memory'
      - $ref: '#/components/parameters/storage'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpcodesResponse'
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Transaction or record file not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - contracts
  /api/v1/contracts/{contractIdOrAddress}/results/logs:
    get:
      summary: List contract logs from a contract on the network
      description: 'Search the logs of a specific contract across multiple contract calls. Chained logs are not

        included but can be found by calling `/api/v1/contracts/{contractId}/results/{timestamp}`

        or `/api/v1/contracts/results/{transactionId}`. When searching by topic a timestamp parameter must be supplied

        and span a time range of at most seven days.


        ## Ordering

        The order is governed by the combination of timestamp and index values. If the index param is omitted, the order is determined by the timestamp only.


        Note: The default order for this API is currently DESC


        ## Filtering

        When filtering there are some restrictions enforced to ensure correctness and scalability.


        **The table below defines the restrictions and support for the endpoint**


        | Query Param   | Comparison Operator | Support | Description           | Example |

        | ------------- | ------------------- | ------- | --------------------- | ------- |

        | index         | eq                  | Y       | Single occurrence only. Requires the presence of timestamp | ?index=X |

        |               | ne                  | N       | | |

        |               | lt(e)               | Y       | Single occurrence only. Requires the presence of timestamp | ?index=lte:X |

        |               | gt(e)               | Y       | Single occurrence only. Requires the presence of timestamp | ?index=gte:X |

        | timestamp     | eq                  | Y       | Single occurrence only. | ?timestamp=Y

        |               | ne                  | N       | | |

        |               | lt(e)               | Y       | Single occurrence only. Optional second timestamp **gt(e)** | ?timestamp=lte:Y

        |               | gt(e)               | Y       | Single occurrence only. Optional second timestamp **lt(e)** | ?timestamp=gte:Y



        Both filters must be a single occurrence of **gt(e)** or **lt(e)** which provide a lower and or upper boundary for search.

        '
      operationId: getContractLogsByContractId
      parameters:
      - $ref: '#/components/parameters/contractIdOrAddressPathParam'
      - $ref: '#/components/parameters/logIndexQueryParam'
      - $ref: '#/components/parameters/limitQueryParam'
      - $ref: '#/components/parameters/orderQueryParamDesc'
      - $ref: '#/components/parameters/timestampQueryParam'
      - $ref: '#/components/parameters/logTopic0QueryParam'
      - $ref: '#/components/parameters/logTopic1QueryParam'
      - $ref: '#/components/parameters/logTopic2QueryParam'
      - $ref: '#/components/parameters/logTopic3QueryParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractLogsResponse'
        '400':
          $ref: '#/components/responses/InvalidParameterError'
      tags:
      - contracts
  /api/v1/contracts/results/logs:
    get:
      summary: List contracts logs across many contracts on the network
      description: 'Search the logs across many contracts with multiple contract calls. Chained logs are not

        included but can be found by calling `/api/v1/contracts/{contractId}/results/{timestamp}`

        or `/api/v1/contracts/results/{transactionId}`. When searching by topic a timestamp parameter must be supplied

        and span a time range of at most seven days.


        ## Ordering

        The order is governed by the combination of timestamp and index values. If the index param is omitted, the order is determined by the timestamp only.


        Note: The default order for this API is currently DESC


        ## Filtering

        When filtering there are some restrictions enforced to ensure correctness and scalability.


        **The table below defines the restrictions and support for the endpoint**


        | Query Param   | Comparison Operator | Support | Description           | Example |

        | ------------- | ------------------- | ------- | --------------------- | ------- |

        | index         | eq                  | Y       | Single occurrence only. Requires the presence of timestamp | ?index=X |

        |               | ne                  | N       | | |

        |               | lt(e)               | Y       | Single occurrence only. Requires the presence of timestamp | ?index=lte:X |

        |               | gt(e)               | Y       | Single occurrence only. Requires the presence of timestamp | ?index=gte:X |

        | timestamp     | eq                  | Y       | Single occurrence only. | ?timestamp=Y

        |               | ne                  | N       | | |

        |               | lt(e)               | Y       | Single occurrence only. Optional second timestamp **gt(e)** | ?timestamp=lte:Y

        |               | gt(e)               | Y       | Single occurrence only. Optional second timestamp **lt(e)** | ?timestamp=gte:Y



        Both filters must be a single occurrence of **gt(e)** or **lt(e)** which provide a lower and or upper boundary for search.

        '
      operationId: getContractsLogs
      parameters:
      - $ref: '#/components/parameters/logIndexQueryParam'
      - $ref: '#/components/parameters/limitQueryParam'
      - $ref: '#/components/parameters/orderQueryParamDesc'
      - $ref: '#/components/parameters/timestampQueryParam'
      - $ref: '#/components/parameters/logTopic0QueryParam'
      - $ref: '#/components/parameters/logTopic1QueryParam'
      - $ref: '#/components/parameters/logTopic2QueryParam'
      - $ref: '#/components/parameters/logTopic3QueryParam'
      - $ref: '#/components/parameters/transactionHashQueryParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractLogsResponse'
        '400':
          $ref: '#/components/responses/InvalidParameterError'
      tags:
      - contracts
components:
  parameters:
    hbarQueryParam:
      name: hbar
      in: query
      description: Controls the unit used for monetary fields (`amount`, `gas_price`, `max_fee_per_gas`, `max_priority_fee_per_gas`). When `true` (default), values are returned in tinybars. When `false`, values are returned in weibars (the native Ethereum unit, where 1 tinybar = 10,000,000,000 weibars).
      example: false
      schema:
        type: boolean
        default: true
    memory:
      name: memory
      description: If provided and set to true, memory information will be included in the response
      in: query
      example: false
      schema:
        type: boolean
        default: false
    nonceQueryParamWithDefault:
      name: nonce
      in: query
      description: Filter the query result by the nonce of the transaction. A zero nonce represents user submitted transactions while a non-zero nonce is generated by main nodes. The filter honors the last value. Default is 0 when not specified.
      example: 1
      schema:
        format: int32
        type: integer
        default: 0
        minimum: 0
    stateTimestampQueryParam:
      description: The consensus timestamp of the contract state as a Unix timestamp in seconds.nanoseconds format with an optional comparison operator. See [unixtimestamp.com](https://www.unixtimestamp.com/) for a simple way to convert a date to the 'seconds' part of the Unix time.
      name: timestamp
      in: query
      explode: true
      examples:
        noValue:
          summary: --
          value: ''
        secondsNoOperator:
          summary: Example of seconds equals with no operator
          value: 1234567890
        timestampNoOperator:
          summary: Example of timestamp equals with no operator
          value: 1234567890
        secondsEqOperator:
          summary: Example of seconds equals with operator
          value: eq:1234567890
        timestampEqOperator:
          summary: Example of timestamp equals with operator
          value: eq:1234567890.000000200
        secondsGtOperator:
          summary: Example of seconds greater than operator
          value: gt:1234567890
        timestampGtOperator:
          summary: Example of timestamp greater than operator
          value: gt:1234567890.000000400
        secondsGteOperator:
          summary: Example of seconds greater than or equals operator
          value: gte:1234567890
        timestampGteOperator:
          summary: Example of timestamp greater than or equals operator
          value: gte:1234567890.000000500
        secondsLtOperator:
          summary: Example of seconds less than operator
          value: lt:1234567890
        timestampLtOperator:
          summary: Example of timestamp less than operator
          value: lt:1234567890.000000600
        secondsLteOperator:
          summary: Example of seconds less than or equals operator
          value: lte:1234567890
        timestampLteOperator:
          summary: Example of timestamp less than or equals operator
          value: lte:1234567890.000000700
      schema:
        type: array
        items:
          type: string
          pattern: ^((eq|gt|gte|lt|lte):)?\d{1,10}(\.\d{1,9})?$
    internalQueryParam:
      name: internal
      in: query
      description: Whether to include child transactions or not
      example: true
      schema:
        type: boolean
        default: false
    orderQueryParamDesc:
      name: order
      in: query
      description: The order in which items are listed
      example: asc
      schema:
        enum:
        - asc
        - desc
        default: desc
    orderQueryParam:
      name: order
      in: query
      description: The order in which items are listed
      example: desc
      schema:
        enum:
        - asc
        - desc
        default: asc
    fromQueryParam:
      name: from
      in: query
      description: Account ID or EVM address executing the contract
      schema:
        pattern: ^\d{1,10}\.\d{1,10}\.\d{1,10}|(0x)?[A-Fa-f0-9]{40}$
        type: string
    transactionIndexQueryParam:
      name: transaction.index
      in: query
      description: The transaction index in the block
      example: 1
      schema:
        format: int32
        minimum: 0
        type: integer
    stack:
      name: stack
      description: If provided and set to false, stack information will not be included in the response
      in: query
      example: true
      schema:
        type: boolean
        default: true
    transactionIdOrEthHashPathParam:
      name: transactionIdOrHash
      in: path
      schema:
        pattern: ^(0x)?[A-Fa-f0-9]{64}|(\d{1,10})\.(\d{1,10})\.(\d{1,10})-(\d{1,19})-(\d{1,9})$
        type: string
      required: true
      description: Transaction Id or a 32 byte hash with optional 0x prefix
      examples:
        transactionId:
          value: 0.0.10-1234567890-000000000
        transactionHash:
          value: ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
        transactionHashWith0xPrefix:
          value: '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef'
    transactionHashQueryParam:
      name: transaction.hash
      in: query
      schema:
        pattern: ^(eq:)?(0x)?([0-9A-Fa-f]{64}|[0-9A-Fa-f]{96})$
        type: string
      required: false
      description: A hex encoded 32-byte ethereum transaction hash or 48-byte hedera transaction hash.
      examples:
        transactionHash:
          value: ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
        transactionHashWith0xPrefix:
          value: '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef'
    logTopic2QueryParam:
      name: topic2
      in: query
      description: The third topic associated with a contract log. Requires a timestamp range also be populated.
      schema:
        $ref: '#/components/schemas/LogTopicQueryParam'
    timestampPathParam:
      name: timestamp
      in: path
      description: The Unix timestamp in seconds.nanoseconds format, the timestamp at which the associated transaction reached consensus. See [unixtimestamp.com](https://www.unixtimestamp.com/) for a simple way to convert a date to the 'seconds' part of the Unix time.
      required: true
      example: 1234567890.0000007
      schema:
        type: string
        pattern: ^\d{1,10}(\.\d{1,9})?$
    logIndexQueryParam:
      name: index
      in: query
      description: Contract log index
      schema:
        type: string
        pattern: ^((eq|gt|gte|lt|lte):)?\d{1,10}$
      examples:
        noValue:
          summary: --
          value: ''
        indexNoOperator:
          summary: Example of index equals with no operator
          value: 2
        indexEqOperator:
          summary: Example of index equals with operator
          value: eq:2
        indexGtOperator:
          summary: Example of index greater than operator
          value: gt:2
        indexGteOperator:
          summary: Example of index greater than or equals operator
          value: gte:2
        indexLtOperator:
          summary: Example of index less than operator
          value: lt:2
        indexLteOperator:
          summary: Example of index less than or equals operator
          value: lte:2
    contractActionsIndexQueryParam:
      name: index
      in: query
      description: The index of a contract action
      explode: true
      examples:
        noValue:
          summary: --
          value: ''
        noOperator:
          summary: Example of equals with no operator
          value: 1
        eqOperator:
          summary: Example of equals operator
          value: eq:2
        gtOperator:
          summary: Example of greater than operator
          value: gt:4
        gteOperator:
          summary: Example of greater than or equals operator
          value: gte:5
        ltOperator:
          summary: Example of less than operator
          value: lt:6
        lteOperator:
          summary: Example of less than or equals operator
          value: lte:7
      schema:
        type: string
        pattern: ^((gte?|lte?|eq|ne)\:)?\d{1,10}$
    logTopic3QueryParam:
      name: topic3
      in: query
      description: The fourth topic associated with a contract log. Requires a timestamp range also be populated.
      schema:
        $ref: '#/components/schemas/LogTopicQueryParam'
    contractIdOrAddressPathParam:
      name: contractIdOrAddress
      in: path
      required: true
      description: Contract or account identifier in format shard.realm.num, realm.num, num or a 20-byte EVM address (with or without 0x prefix).
      schema:
        pattern: ^(\d{1,10}\.){0,2}(\d{1,10}|(0x)?[A-Fa-f0-9]{40})$
        type: string
    logTopic1QueryParam:
      name: topic1
      in: query
      description: The second topic associated with a contract log. Requires a timestamp range also be populated.
      schema:
        $ref: '#/components/schemas/LogTopicQueryParam'
    storage:
      name: storage
      description: If provided and set to true, storage information will be included in the response
      in: query
      example: false
      schema:
        type: boolean
        default: false
    logTopic0QueryParam:
      name: topic0
      in: query
      explode: true
      description: The first topic associated with a contract log. Requires a timestamp range also be populated.
      schema:
        $ref: '#/components/schemas/LogTopicQueryParam'
    contractsBlockNumberQueryParam:
      name: block.number
      in: query
      description: The block's number
      examples:
        noValue:
          summary: --
          value: ''
        noOperator:
          summary: Example of block.number equals with no operator
          value: 1
        eqOperator:
          summary: Example of block.number equals operator
          value: eq:2
        hexEncoded:
          summary: Example of hex encoded block.number equals with no operator
          value: '0xa0'
        hexEncodedEqOperator:
          summary: Example of hex encoded block.number equals with equals operator
          value: eq:0xa0
      schema:
        type: string
        pattern: ^(eq:)?(\d{1,19}|0x[a-fA-f0-9]+)$
    limitQueryParam:
      name: limit
      in: query
      description: The maximum number of items to return
      example: 2
      schema:
        format: int32
        type: integer
        default: 25
        minimum: 1
        maximum: 100
    slotQueryParam:
      name: slot
      in: query
      description: The slot's number
      examples:
        noValue:
          summary: --
          value: ''
        noOperator:
          summary: Example of slot equals with no operator
          value: 1
        eqOperator:
          summary: Example of slot equals operator
          value: eq:2
        gtOperator:
          summary: Example of slot gt operator
          value: gt:2
        gteOperator:
          summary: Example of slot gte operator
          value: gte:2
        ltOperator:
          summary: Example of slot lt operator
          value: lt:2
        lteOperator:
          summary: Example of slot lte operator
          value: lte:2
      schema:
        type: string
        pattern: ^((eq|gte?|lte?)\:)?(0x)?[0-9A-Fa-f]{1,64}$
    blockHashQueryParam:
      name: block.hash
      in: query
      description: The block's hash. If multiple values are provided the last value will be the only value used.
      examples:
        noValue:
          summary: --
          value: ''
        32ByteNoOperator:
          summary: Example of 32 byte block.hash equals with no operator
          value: ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
        48ByteNoOperator:
          summary: Example of 48 byte block.hash equals with no operator
          value: 1eaf1abbd64bbcac7f473f0272671c66d3d1d64f584112b11cd4d2063e736305312fcb305804a48baa41571e71c39c61
        32ByteEqOperator:
          summary: Example of 32 byte block.hash with equals operator
          value: eq:ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
        48ByteEqOperator:
          summary: Example of 48 byte block.hash with equals operator
          value: eq:1eaf1abbd64bbcac7f473f0272671c66d3d1d64f584112b11cd4d2063e736305312fcb305804a48baa41571e71c39c61
        32Byte0xPrefixNoOperator:
          summary: Example of 32 byte block.hash equals with 0x prefix and no operator
          value: '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef'
        48Byte0xPrefixNoOperator:
          summary: Example of 48 byte block.hash equals with 0x prefix and no operator
          value: '0x1eaf1abbd64bbcac7f473f0272671c66d3d1d64f584112b11cd4d2063e736305312fcb305804a48baa41571e71c39c61'
        32Byte0xPrefixEqOperator:
          summary: Example of 32 byte block.hash with 0x prefix and equals operator
          value: eq:0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
        48Byte0xPrefixEqOperator:
          summary: Example of 48 byte block.hash with 0x prefix and equals operator
          value: eq:0x1eaf1abbd64bbcac7f473f0272671c66d3d1d64f584112b11cd4d2063e736305312fcb305804a48baa41571e71c39c61
      schema:
        type: string
        pattern: ^(eq:)?(0x)?([0-9A-Fa-f]{64}|[0-9A-Fa-f]{96})$
    contractIdQueryParam:
      name: contract.id
      description: The ID of the smart contract
      in: query
      examples:
        noValue:
          summary: --
          value: ''
        entityNumNoOperator:
          summary: Example of entityNum equals with no operator
          value: 100
        idNoOperator:
          summary: Example of id equals with no operator
          value: 0.0.100
        evmAddressNoOperator:
         

# --- truncated at 32 KB (66 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hedera/refs/heads/main/openapi/hedera-contracts-api-openapi.yml