> ## 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.

# eth_getRawTransactionByBlockNumberAndIndex | Hyperliquid EVM

> Returns the raw transaction data by block number and transaction index. eth_getRawTransactionByBlockNumberAndIndex on Hyperliquid EVM via Chainstack.

<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>

Returns the raw transaction data by block number and transaction index. Use this method to retrieve the RLP-encoded raw transaction from a specific position within a block identified by its number.

## Parameters

* `blockNumber` (string, required) — Block number in hex format, or one of the special tags: "earliest", "latest", "pending", or "finalized"
* `transactionIndex` (string, required) — The index position of the transaction in the block (hex string)

## Returns

Returns the raw transaction data as a hex-encoded string, or `null` if the block or transaction is not found.

The raw transaction data is RLP-encoded and includes all transaction fields in their original binary format.

<Note>
  Transaction indices start from 0x0. Use hex format for the index parameter. Block number can be a hex string (e.g., "0x64") or special tags like "latest" for the most recent block.
</Note>

## Use cases

* **Latest block analysis** — Extract raw transactions from the newest blocks
* **Historical data processing** — Process transactions from specific block heights
* **Streaming transaction data** — Monitor new transactions as blocks are mined
* **Data pipeline integration** — Feed raw transaction data to processing systems
* **Backup and recovery** — Create transaction backups in original format
* **Performance testing** — Replay transactions for load testing

## Example request

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

  ```python web3.py theme={"system"}
  from web3 import Web3

  w3 = Web3(Web3.HTTPProvider("YOUR_CHAINSTACK_ENDPOINT"))

  # This RPC returns RLP-encoded bytes with no high-level wrapper, so call it directly.
  # Block 0x9d0c37 (10,291,255), transaction index 0x0; use "latest" for the tip.
  raw_tx = w3.manager.request_blocking(
      "eth_getRawTransactionByBlockNumberAndIndex", ["0x9d0c37", "0x0"]
  )
  print(raw_tx)
  ```

  ```javascript ethers.js theme={"system"}
  import { JsonRpcProvider } from "ethers";

  const provider = new JsonRpcProvider("YOUR_CHAINSTACK_ENDPOINT");

  // ethers v6 has no high-level wrapper for this RPC, so call it directly.
  // Block 0x9d0c37 (10,291,255), transaction index 0x0; use "latest" for the tip.
  const rawTx = await provider.send(
    "eth_getRawTransactionByBlockNumberAndIndex",
    ["0x9d0c37", "0x0"]
  );
  console.log(rawTx);
  ```

  ```typescript viem theme={"system"}
  import { createPublicClient, http } from "viem";

  const client = createPublicClient({
    transport: http("YOUR_CHAINSTACK_ENDPOINT"),
  });

  // viem has no high-level action for this RPC, so issue a raw request.
  // Block 0x9d0c37 (10,291,255), transaction index 0x0; use "latest" for the tip.
  const rawTx = await client.request({
    method: "eth_getRawTransactionByBlockNumberAndIndex",
    params: ["0x9d0c37", "0x0"],
  });
  console.log(rawTx);
  ```
</CodeGroup>

<Note>
  **Use your own endpoint in your code.** The code examples use a placeholder Chainstack endpoint (YOUR\_CHAINSTACK\_ENDPOINT) — replace it with your own Hyperliquid node endpoint from the [Chainstack console](https://console.chainstack.com/). The curl above uses a shared public endpoint for quick checks only; do not use it in production.
</Note>


## OpenAPI

````yaml openapi/hyperliquid_node_api/hyperevm/evm_eth_get_raw_transaction_by_block_number_and_index.json post /evm
openapi: 3.0.0
info:
  title: Hyperliquid EVM API - eth_getRawTransactionByBlockNumberAndIndex
  version: 1.0.0
servers:
  - url: >-
      https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274
security: []
paths:
  /evm:
    post:
      summary: eth_getRawTransactionByBlockNumberAndIndex
      description: Returns the raw transaction data by block number and transaction index.
      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:
                    - eth_getRawTransactionByBlockNumberAndIndex
                  default: eth_getRawTransactionByBlockNumberAndIndex
                  description: The RPC method name
                params:
                  type: array
                  description: 'Parameters: [blockNumber, transactionIndex]'
                  default:
                    - latest
                    - '0x0'
                id:
                  type: integer
                  default: 1
                  description: Request identifier
            example:
              jsonrpc: '2.0'
              method: eth_getRawTransactionByBlockNumberAndIndex
              params:
                - latest
                - '0x0'
              id: 1
      responses:
        '200':
          description: Successful response with raw transaction data
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    description: JSON-RPC version
                  id:
                    type: integer
                    description: Request identifier
                  result:
                    type: string
                    description: >-
                      Raw transaction data as hex-encoded string, or null if not
                      found
              example:
                jsonrpc: '2.0'
                id: 1
                result: >-
                  0xf86c0185037e11d6008252089433c3321b162edac1fdbb53af2962b2940c07e334880de0b6b3a76400008026a01234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdefa0abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890ab

````