---
title: "Block"
method: POST
path: "/api/v2/ethereum/block"
tags: ["Block"]
---

# Block

`POST /api/v2/ethereum/block`

Provides comprehensive details about a specific execution layer block, excluding rewards. For reward details, refer to [v2/ethereum/block/rewards](/api-reference/ethereum/block/rewards).

Execution layer blocks contain transactions and state changes, while consensus layer slots manage validator duties and finality. Since the Merge (Proof-of-Stake transition), each execution layer block corresponds to a consensus layer slot, though their numbers differ.

This endpoint delivers an overview of the requested block, including its slot reference (if applicable), block hash, timestamp, gas usage, transaction counts, and other key metrics. For pre-Merge blocks, consensus layer references will be null.

Query options include block number or keywords like "latest" and "finalized" for the most recent or finalized block.

## Request body

- object
  - `chain` 'mainnet' | 'hoodi' — The Ethereum chain to query.
  - `block` union, required — Specify a block using one of the following methods. - Block number - View: "latest" or "finalized"
    - BlockByNumber
      - `number` integer, required — Block by number.
    - BlockByChainView
      - `view` 'latest' | 'finalized', required — - "latest": Refers to the most recent block, which may be subject to reorganization. - "finalized": Refers to the latest block that has been finalized and is not subject to change.

## Response `200`

Successful response.

- BlockOverviewContainer — Response containing basic information about the block.
  - `data` BlockOverviewData, required
    - `block` integer, required — Block by number.
    - `timestamp` integer, required
    - `consensus_reference` ConsensusLayerReference, nullable — Reference to a consensus layer block if one exists for the given slot. This will be null for the PoW era.
      - `slot` integer, required — Slot by number.
      - `block_root` string — A 32-byte block root represented as a hex string with 0x prefix.
      - `epoch` integer, required
    - `hash` string, required — A 32-byte block hash represented as a hex string with 0x prefix.
    - `parent_hash` string, required — A 32-byte block hash represented as a hex string with 0x prefix.
    - `receipts_root` string, required
    - `state_root` string, required
    - `transaction` BlockOverviewTransaction, required
      - `gas` BlockOverviewGas, required
        - `used` integer, required — Total gas used in this block.
        - `limit` integer, required — Gas limit for this block.
        - `base_fee` string — Amount in wei (1 ETH = 10^18 wei)
        - `fees_burned` string — Amount in wei (1 ETH = 10^18 wei)
      - `count` BlockOverviewTransactionCount, required
        - `normal` integer, required — Number of non-internal and non-blob transactions included in this block.
        - `blob` integer, nullable — Number of blob transactions included in this block, if any. Blob transactions are introduced by EIP-4844 (Proto-Danksharding) as part of the data availability layer in the Pectra hardfork. This field is null for blocks prior to the hardfork activation.
        - `internal` integer, required — Number of internal transactions (value transfers within smart contracts) in this block.
    - `blob` BlockOverviewBlob, nullable
      - `gas` BlockOverviewBlobGas, required — Details about blob gas usage in this block, if any. Data blobs are introduced by EIP-4844 (Proto-Danksharding) as part of the data availability layer in the Pectra hardfork. This field is null for blocks prior to the hardfork activation.
        - `used` integer, required — Total blob gas used in this block.
        - `excess` integer, required — Represents the cumulative excess blob gas consumed relative to the target, up to the current block. When a block exceeds the target blob gas consumption, this value increases. Conversely, when a block consumes less than the target, this value decreases, but it is always bounded at a minimum of 0. See: https://eips.ethereum.org/EIPS/eip-4844#gas-accounting
    - `mining` BlockOverviewMining, nullable — Details specific to proof-of-work era blocks prior to the Merge. Will be null for proof-of-stake era blocks after the Merge.
      - `miner` ExecutionLayerAddressDetails, required
        - `address` string, required — A standard Ethereum address (20-byte hex string with 0x prefix).
        - `is_contract` boolean, required
      - `difficulty` string, required — Difficulty of mining this block. Represented in decimal format.
      - `mix_hash` string, required
      - `uncles_sha3` string, required
      - `uncles_count` integer, required
    - `extra_data` string, required — Extra data field of the block. Represented in hex-decimal format.
    - `finality` 'not_finalized' | 'finalized', required — Indicates the finality status of the data provided. - Finalized data cannot be changed without slashing at least one-third of all validators, providing strong economic guarantees. - Data marked as not_finalized does not have this guarantee and may still change.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `405` — Method Not Allowed
- `429` — Rate Limit Exceeded
- `500` — Internal Server Error
- `default` — An unexpected error response.

---

[API](https://skmtc.dev/beaconcha/apis/external-service-api.md) · [All operations](https://skmtc.dev/beaconcha/apis/external-service-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/beaconcha/external-service-api/revisions/ad26ad970b4e/schema)
