Block
Get a block by height or hash with its details and a paged list of its transactions.
# 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.