# Block

`GET https://api.rarebl.com/open/block/get` or `POST https://api.rarebl.com/open/block/get`

One block by height or hash, with its chain-specific details and a page of its transactions.

**Rate class:** read (5 requests per second, burst 20, per IP). **Available since:** Open API v1.

## Request

Send the parameters as query parameters (GET) or as a JSON object (POST with `Content-Type: application/json`). They are identical either way. No API key is needed: `X-API-KEY` is reserved and ignored.

Example: `curl "https://api.rarebl.com/open/block/get?chain=btc&id=975851&limit=2"`

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `chain` | string | Yes | The chain to query. One of: btc, ltc, bch, dash, eth, tron. |
| `id` | string | Yes | Block height or block hash. Digits for a height; 64 hex characters for a hash (ETH hashes carry 0x). |
| `page` | integer | No | Page of the block's transactions, 1-based. 1 or higher Default 1. |
| `limit` | integer | No | Transactions per page. 1 to 100 Default 25. |

## Responses

### API200 (HTTP 200): OK

The block, a page of its transactions and the paging totals. The `details` list is shortened here.

```json
{
  "status": 1,
  "code": "API200",
  "message": "success",
  "data": {
    "block": {
      "height": 975851,
      "hash": "0000000000000000000019616694441cd8af0ea40612fea00423994106ff3339",
      "time": "2026-11-14T22:18:52Z",
      "txCount": 3914,
      "size": 1553016,
      "miner": "1K6KoYC69NnafWJ7YgtrpwJxBLiijWqwa6",
      "reward": "3.17394194",
      "fees": "0.04894194",
      "prevHash": "00000000000000000000aab9d0593887d52c5c910227ddbf04a87fb91227800a",
      "nextHash": "0000000000000000000106d2c49ad20a447077c0ee2a8000a0bf7dca0df81fc5",
      "confirmations": 2,
      "details": [
        {
          "key": "difficulty",
          "label": "Difficulty",
          "value": "134823837323272.70",
          "kind": "number"
        },
        {
          "key": "bits",
          "label": "Bits",
          "value": "17021673",
          "kind": "text"
        },
        {
          "key": "nonce",
          "label": "Nonce",
          "value": 2693129303,
          "kind": "number"
        },
        {
          "key": "merkleRoot",
          "label": "Merkle root",
          "value": "c1ecbc059fa5cf6fa14433ef6dc20036d1c6ff9c04b01f19b0af0a4aaca0b8e3",
          "kind": "hash"
        },
        {
          "key": "weight",
          "label": "Weight",
          "value": 3997815,
          "kind": "number",
          "unit": "WU"
        },
        {
          "key": "subsidy",
          "label": "Subsidy",
          "value": "3.125",
          "kind": "amount",
          "unit": "BTC"
        }
      ]
    },
    "txs": [
      {
        "hash": "f1bd58223f137a63659cb2e8f05bf4c362494b41b4586536626c363137d1b6b6",
        "block": 975851,
        "time": "2026-11-14T22:18:52Z",
        "status": "success",
        "from": null,
        "to": "1K6KoYC69NnafWJ7YgtrpwJxBLiijWqwa6",
        "value": "3.17394194",
        "fee": null,
        "method": "coinbase",
        "inputs": 1,
        "outputs": 7
      },
      {
        "hash": "9dedeb8092d6f026d235e3beb24337ba5657635a38cc949f70c0f28ea15e30db",
        "block": 975851,
        "time": "2026-11-14T22:18:52Z",
        "status": "success",
        "from": null,
        "to": "37dD2C3QMSSVLPAyQVZo8ZLG53AgUDbcuc",
        "value": "0.022609",
        "fee": null,
        "method": null,
        "inputs": 1,
        "outputs": 2
      }
    ],
    "page": 1,
    "pages": 1957,
    "total": 3914
  },
  "go": null,
  "meta": {
    "requestid": "0123456789abcdef",
    "notices": []
  }
}
```

| Field | Type | Description |
| --- | --- | --- |
| `data.block` | Block | BlockSummary fields plus `prevHash`, `nextHash`, `confirmations` and chain-specific `details` rows. |
| `data.txs[]` | TxSummary | Transactions of the requested page. |
| `data.page` | integer | The page returned. |
| `data.pages` | integer | Total pages at this `limit`. |
| `data.total` | integer | Total transactions in the block. |

### API400 (HTTP 400): Bad Request

A parameter is missing or malformed. `data.param` names it (here `chain`).

```json
{
  "status": 0,
  "code": "API400",
  "message": "Unknown or missing chain.",
  "data": {
    "param": "chain"
  },
  "go": null,
  "meta": {
    "requestid": "0123456789abcdef",
    "notices": []
  }
}
```

### API404 (HTTP 404): Not Found

The block does not exist on that chain.

```json
{
  "status": 0,
  "code": "API404",
  "message": "Block not found.",
  "data": null,
  "go": null,
  "meta": {
    "requestid": "0123456789abcdef",
    "notices": []
  }
}
```

### API409 (HTTP 409): Conflict

TRON only: the height is below `historyFrom` (2026-09-08).

```json
{
  "status": 0,
  "code": "API409",
  "message": "This node holds TRON blocks from #86072637 (2026-09-08T17:50:00Z).",
  "data": {
    "reason": "before_history_start"
  },
  "go": null,
  "meta": {
    "requestid": "0123456789abcdef",
    "notices": []
  }
}
```

### API429 (HTTP 429): Too Many Requests

Rate limited (5 requests per second per IP, burst 20). A `Retry-After` header says how long to wait, in seconds.

```json
{
  "status": 0,
  "code": "API429",
  "message": "Too many requests. Please retry shortly.",
  "data": null,
  "go": null,
  "meta": {
    "requestid": "0123456789abcdef",
    "notices": []
  }
}
```

### API502 (HTTP 502): Bad Gateway

The node is unavailable, still syncing or timed out. Retry later with a short back-off.

```json
{
  "status": 0,
  "code": "API502",
  "message": "The node is unavailable or timed out. Please try again.",
  "data": null,
  "go": null,
  "meta": {
    "requestid": "0123456789abcdef",
    "notices": []
  }
}
```

## Notes

- The `details` rows depend on the chain: difficulty, bits, nonce and merkle root on UTXO chains; ChainLock on Dash; gas used/limit, base fee, burnt fees and withdrawals on ETH; the witness on TRON.
- On Litecoin and Bitcoin Cash some per-transaction fields (`from`, `fee`) are null in block lists; fetch [Transaction](https://docs.rarebl.com/api/tx/get) for the resolved values.
- `nextHash` is null on the chain tip.
