> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.chainstack.com/feedback

```json
{
  "path": "/reference/hyperliquid-evm-ots-get-header-by-number",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# ots_getHeaderByNumber | Hyperliquid EVM

> Retrieve block header information by block number on Hyperliquid EVM. Provides lightweight block data access for block explorers.

<Info>
  This method is available on Chainstack. Not all Hyperliquid methods are available on Chainstack, as the open-source node implementation does not support them yet — see [Hyperliquid methods](/docs/hyperliquid-methods) for the full availability breakdown.
</Info>

The `ots_getHeaderByNumber` JSON-RPC method retrieves block header information by block number on the Hyperliquid EVM blockchain. This Otterscan-specific method provides a lightweight way to fetch block headers without retrieving full block data, making it efficient for block explorer operations.

<Check>
  **Get your own node endpoint today**

  [Start for free](https://console.chainstack.com/) and get your app to production levels immediately. No credit card required.

  You can sign up with your GitHub, X, Google, or Microsoft account.
</Check>

## Parameters

1. **block number** (integer, required): The block number to retrieve the header for

## Response

The method returns a block header object with the following fields:

### Response structure

* `number` — the block number
* `hash` — the block hash
* `parentHash` — the parent block hash
* `nonce` — proof-of-work nonce (always 0x0000000000000000 for PoS)
* `sha3Uncles` — SHA3 hash of the uncles data
* `logsBloom` — bloom filter for the logs
* `transactionsRoot` — root of the transaction trie
* `stateRoot` — root of the final state trie
* `receiptsRoot` — root of the receipts trie
* `miner` — address of the beneficiary
* `difficulty` — difficulty for this block
* `totalDifficulty` — total difficulty of the chain until this block
* `extraData` — extra data field of this block
* `size` — size of this block in bytes
* `gasLimit` — maximum gas allowed in this block
* `gasUsed` — total gas used by all transactions
* `timestamp` — Unix timestamp of the block
* `mixHash` — mix hash for the block
* `baseFeePerGas` — base fee per gas (post-EIP-1559)

## Usage example

```shell Shell theme={"system"}
curl -X POST https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "ots_getHeaderByNumber",
    "params": [1000],
    "id": 1
  }'
```

### Example response

```json theme={"system"}
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "number": "0x3e8",
    "hash": "0xe8399bf41516f5ca663c79bc30db02b4989385c2f3a96f42958dea5753cbf4a9",
    "parentHash": "0x7c8f6a0e4d3b2a1c9e5f8b7d4a6c3e9f2b8d5a7c1e4f9b3a6d8c2e5f7a9b4c6d",
    "nonce": "0x0000000000000000",
    "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
    "stateRoot": "0x9f3c6b0d8e5a2d1f7c9e4b3a8d6c5e2f9a7b4c8d1e6f3a5b7d9c2e4f6a8b3c5d",
    "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
    "miner": "0x0000000000000000000000000000000000000000",
    "difficulty": "0x0",
    "totalDifficulty": "0x0",
    "extraData": "0x",
    "size": "0x220",
    "gasLimit": "0x1c9c380",
    "gasUsed": "0x0",
    "timestamp": "0x6734e8d0",
    "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "baseFeePerGas": "0x7"
  }
}
```

## Use cases

The `ots_getHeaderByNumber` method is essential for:

* **Block explorers**: Efficiently fetch block header information without full block data
* **Light clients**: Verify blockchain state with minimal data requirements
* **Node detection**: Identify if a node supports Otterscan APIs
* **Block monitoring**: Track new blocks with reduced bandwidth usage
* **Chain analysis**: Analyze block production patterns and timing
* **Header verification**: Validate block headers for security checks
* **Timestamp tracking**: Monitor block timestamps for time-based operations
* **Gas analysis**: Track gas usage and limits across blocks
* **Fork detection**: Monitor chain reorganizations via parent hash tracking
* **Performance optimization**: Reduce data transfer when only header data is needed

This method is part of the Otterscan API suite, providing optimized access patterns for blockchain exploration tools.


## OpenAPI

````yaml /openapi/hyperliquid_node_api/evm_ots_get_header_by_number.json post /evm
openapi: 3.0.0
info:
  title: Hyperliquid EVM API - ots_getHeaderByNumber
  version: 1.0.0
servers:
  - url: >-
      https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274
security: []
paths:
  /evm:
    post:
      summary: ots_getHeaderByNumber
      description: >-
        Retrieve block header information by block number on Hyperliquid EVM.
        Provides lightweight block data access for block explorers.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - method
                - params
                - id
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - '2.0'
                  default: '2.0'
                  description: JSON-RPC version
                method:
                  type: string
                  enum:
                    - ots_getHeaderByNumber
                  default: ots_getHeaderByNumber
                  description: The RPC method name
                params:
                  type: array
                  description: 'Parameters: [block number]'
                  default:
                    - 1000
                id:
                  type: integer
                  default: 1
                  description: Request identifier
            example:
              jsonrpc: '2.0'
              method: ots_getHeaderByNumber
              params:
                - 1000
              id: 1
      responses:
        '200':
          description: Successful response with block header data
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    description: JSON-RPC version
                  id:
                    type: integer
                    description: Request identifier
                  result:
                    type: object
                    description: Block header object
              example:
                jsonrpc: '2.0'
                id: 1
                result:
                  number: '0x3e8'
                  hash: >-
                    0xe8399bf41516f5ca663c79bc30db02b4989385c2f3a96f42958dea5753cbf4a9
                  parentHash: >-
                    0x7c8f6a0e4d3b2a1c9e5f8b7d4a6c3e9f2b8d5a7c1e4f9b3a6d8c2e5f7a9b4c6d
                  timestamp: '0x6734e8d0'

````