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

# Raw Data Overview

> Access canonical blockchain primitives: blocks, transactions, logs, contracts, and function results.

## Overview

The Raw Data suite provides direct access to on-chain execution artifacts with cryptographic verification metadata. These endpoints deliver the foundational blockchain primitives that power all derived datasets. Each endpoint includes lineage fields (`_tracing_id`) that link records back to their on-chain origins.

### Endpoint Matrix

| Endpoint                                                                                     | Summary                                                                | Dataset ID | Typical Latency |
| -------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------- | --------------- |
| [`POST /evm/raw/blocks`](/api-reference/evm/primitives/blocks)                               | Retrieve canonical EVM blocks with integrity metadata                  | `0101`     | \< 200 ms       |
| [`POST /evm/raw/blocks-summary`](/api-reference/evm/primitives/blocks-summary)               | Aggregated block metrics (gas, throughput, fees) over a range          | —          | \< 300 ms       |
| [`POST /evm/raw/transactions`](/api-reference/evm/primitives/transactions)                   | Executed transactions with gas accounting and lineage                  | `0102`     | \< 200 ms       |
| [`POST /evm/raw/logs`](/api-reference/evm/primitives/logs)                                   | Decoded event logs with topic filters                                  | `0103`     | \< 200 ms       |
| [`POST /evm/raw/contracts`](/api-reference/evm/primitives/contracts)                         | Contract deployment metadata (contract\_id, supports metamorphic)      | `0121`     | \< 200 ms       |
| [`POST /evm/raw/function-results`](/api-reference/evm/primitives/function-results)           | Deterministic contract call outputs versioned by block (contract\_id)  | `0122`     | \< 250 ms       |
| [`POST /evm/raw/internal-transactions`](/api-reference/evm/primitives/internal-transactions) | Call traces (debug\_traceTransaction) with value, gas, and revert data | `0111`     | \< 300 ms       |

### Parameter Conventions

<ParamField body="from_block" type="number">
  Starting block height (inclusive) for range queries.
</ParamField>

<ParamField body="to_block" type="number">
  Ending block height (inclusive) for range queries.
</ParamField>

<ParamField body="from_timestamp" type="string">
  Starting timestamp (ISO-8601). If it falls between blocks, the next block after this timestamp is used.
</ParamField>

<ParamField body="to_timestamp" type="string">
  Ending timestamp (ISO-8601). If it falls between blocks, the last block before this timestamp is used.
</ParamField>

<ParamField body="block_numbers" type="number[]">
  Explicit list of block heights for precise lookups.
</ParamField>

<ParamField body="tx_hashes" type="string[]">
  Parent transaction hashes (hex string, 32 bytes, no `0x` prefix) for targeted retrievals.
</ParamField>

<ParamField body="block_hashes" type="string[]">
  Block hashes (hex string, 32 bytes, no `0x` prefix) for exact matching.
</ParamField>

<ParamField body="contract_addresses" type="string[]">
  Contract addresses (hex string, 20 bytes, no `0x` prefix) to scope results to specific contracts.
</ParamField>

<ParamField body="chain_id" type="number" required>
  Chain identifier for the target EVM network. See [Chain enumeration](/api-reference/enumerations/chain) for supported values.
</ParamField>

<ParamField body="cursor" type="string">
  Pagination cursor returned from previous responses.
</ParamField>

<ParamField body="limit" type="number">
  Maximum number of records to return.
</ParamField>

### Usage Guidance

* **Start with blocks** — Use `/evm/blocks` to establish time ranges before querying transactions or logs
* **Batch array filters** — Prefer array filters (`block_numbers`, `tx_hashes`) over range queries for better performance
* **Join via `_tracing_id`** — Use lineage identifiers to join across datasets (blocks → transactions → logs)
* **Cache function-results** — Deterministic outputs are immutable; cache aggressively to reduce API calls

### Common Patterns

**Get all transactions in a block:**

```json theme={null}
{
  "chain_id": 1,
  "block_numbers": [
    12345678
  ]
}
```

**Find logs for specific event:**

```json theme={null}
{
  "chain_id": 1,
  "topic_zeros": [
    "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
  ],
  "from_timestamp": "2025-01-01T00:00:00Z",
  "to_timestamp": "2025-01-31T23:59:59Z"
}
```

**Lookup contract deployment:**

```json theme={null}
{
  "chain_id": 1,
  "contract_addresses": [
    "a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
  ]
}
```

### See also

* [`POST /evm/raw/blocks`](/api-reference/evm/primitives/blocks) — Block headers and integrity metadata
* [`POST /evm/raw/transactions`](/api-reference/evm/primitives/transactions) — Transaction execution data
* [`POST /evm/raw/logs`](/api-reference/evm/primitives/logs) — Event log emissions
* [`POST /evm/raw/contracts`](/api-reference/evm/primitives/contracts) — Contract deployment records
* [`POST /evm/raw/function-results`](/api-reference/evm/primitives/function-results) — Contract call outputs
* [`POST /evm/raw/internal-transactions`](/api-reference/evm/primitives/internal-transactions) — Call traces (internal txs)
