Browse API groups
Blocks API
/api/v1/{chain}/blocks/QRL 2.0QRL (PoW)Get Blocks
Cursor-paginated block list (live feed — newest first).
Pass cursor from the previous response to get older blocks. The cursor
encodes the last block's height; the next page is WHERE height < cursor
ordered by height DESC. No offset/page params — blocks are inserted at
the head continuously and offset paging would skip or duplicate rows
between page-clicks.
Query parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| cursor | string | null | no | — | Opaque pagination token from a previous response's `next_cursor`. Omit to start at the chain head (newest). Do not decode/construct. |
| limit | integermin 1 · max 100 | no | 25 | Items per page (1-100). |
| min_height | integer | null | no | — | Filter: height >= |
| max_height | integer | null | no | — | Filter: height <= |
| miner | string | null | no | — | Filter: block proposer / miner address |
| min_gas_used | integer | null | no | — | Filter: gas_used >= |
| time_from | integer | null | no | — | Filter: timestamp >= Unix seconds |
| time_to | integer | null | no | — | Filter: timestamp < Unix seconds |
| has_withdrawals | boolean | null | no | — | qrl2 only: True=only blocks with withdrawals, False=only without |
Response 200 · PaginatedCursor_BlockSummary_
▸itemsBlockSummary[]required
itemsBlockSummary[]requiredchainstringrequirednetworkstringrequiredheightintegerrequiredblock_hashstringrequiredtimestampstringrequiredISO-8601 UTCtx_countinteger | nullminerstring | nullgas_usedinteger | nulllimitintegerrequiredMaximum number of items in this pagenext_cursorstring | nullOpaque pagination token for the next page; null when the current page is the last one. Pass back unchanged in ?cursor=.has_morebooleanrequiredTrue when at least one more page is available.Request examples
curl -s "https://quantascan.io/api/v1/qrl2/blocks/" \
-H "Authorization: Bearer qs_YOUR_API_KEY"Example response
{
"items": [
{
"chain": "qrl2",
"network": "testnet",
"height": 174935,
"block_hash": "0xf697fd11528ce281af00e5f838f3ebdca0f414ca648f347f3cd5b81a4f523685",
"timestamp": "2026-07-31T12:03:36",
"tx_count": 0,
"miner": "Q0000000000000000000000000000000000000000",
"gas_used": 0,
"parent_hash": "0x4d68ea8389760723487fba19648fbaa360291f985d414bd0779670370d44ebb8",
"gas_limit": 20000000,
"base_fee_per_gas": "7",
"prev_randao": "0xa92a8e3bb64fec1aab38466845774f2c328da6ee0a4f11b8c0025dab43cedd20",
"logs_bloom": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000…",
"extra_data": "0xd7820201846771726c88676f312e32362e31856c696e7578",
"state_root": "0xbce0e3a1b56d0daa7d22151754cd9a7dfad0c89856af4c01e76aa433bb3255f1",
"transactions_root": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"receipts_root": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"withdrawals_root": "0xf3694e03c42cf6988371209e08810e4b9eec6e569188658e7603503c49f74c50",
"size": 1026,
"difficulty": null,
"total_difficulty": null,
"reward_block": null,
"reward_fee": null,
"merkle_root": null,
"mining_nonce": null,
"extra_nonce": null,
"raw_ref_hint": "bronze:clickhouse:qrl2:testnet:174935",
"ingested_at": "2026-07-31T12:03:39.399000",
"proposer_index": null
},
{
"chain": "qrl2",
"network": "testnet",
"height": 174934,
"block_hash": "0x4d68ea8389760723487fba19648fbaa360291f985d414bd0779670370d44ebb8",
"timestamp": "2026-07-31T12:02:36",
"tx_count": 0,
"miner": "Q0000000000000000000000000000000000000000",
"gas_used": 0,
"parent_hash": "0xa1f09f5629c10651ed8b7814d567437fdcd69dfdd36418123a31c2541c7a006b",
"gas_limit": 20000000,
"base_fee_per_gas": "7",
"prev_randao": "0xf60680c15db486c37a66db418a0dd6c174cd77db55b8d30470eb6dc3f6accf61",
"logs_bloom": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000…",
"extra_data": "0xd7820301846771726c88676f312e32352e38856c696e7578",
"state_root": "0x48878512de7b790b6fb063699ec6ed0ce986f8498535f3c2ec0b8b1398ffbf12",
"transactions_root": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"receipts_root": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"withdrawals_root": "0x644198e5f00d87dfcb1aadae43dc17a826b288f27e09c038f11857ca63fab7ab",
"size": 1047,
"difficulty": null,
"total_difficulty": null,
"reward_block": null,
"reward_fee": null,
"merkle_root": null,
"mining_nonce": null,
"extra_nonce": null,
"raw_ref_hint": "bronze:clickhouse:qrl2:testnet:174934",
"ingested_at": "2026-07-31T12:02:56.485000",
"proposer_index": 229
},
"… (23 more)"
],
"limit": 25,
"next_cursor": "eyJhZnRlcl9oZWlnaHQiOjE3NDkxMX0",
"has_more": true
}/api/v1/{chain}/blocks/{height}QRL 2.0QRL (PoW)Get Block By Height
Path parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| height | integermin 0 | yes | — |
Response 200 · BlockDetail
chainstringrequirednetworkstringrequiredheightintegerrequiredblock_hashstringrequiredtimestampstringrequiredISO-8601 UTCRequest examples
curl -s "https://quantascan.io/api/v1/qrl2/blocks/100" \
-H "Authorization: Bearer qs_YOUR_API_KEY"Example response
{
"chain": "qrl2",
"network": "testnet",
"height": 174935,
"block_hash": "0xf697fd11528ce281af00e5f838f3ebdca0f414ca648f347f3cd5b81a4f523685",
"parent_hash": "0x4d68ea8389760723487fba19648fbaa360291f985d414bd0779670370d44ebb8",
"timestamp": "2026-07-31T12:03:36",
"tx_count": 0,
"gas_limit": 20000000,
"gas_used": 0,
"base_fee_per_gas": "7",
"prev_randao": "0xa92a8e3bb64fec1aab38466845774f2c328da6ee0a4f11b8c0025dab43cedd20",
"logs_bloom": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000…",
"extra_data": "0xd7820201846771726c88676f312e32362e31856c696e7578",
"state_root": "0xbce0e3a1b56d0daa7d22151754cd9a7dfad0c89856af4c01e76aa433bb3255f1",
"transactions_root": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"receipts_root": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"withdrawals_root": "0xf3694e03c42cf6988371209e08810e4b9eec6e569188658e7603503c49f74c50",
"miner": "Q0000000000000000000000000000000000000000",
"size": 1026,
"difficulty": null,
"total_difficulty": null,
"reward_block": null,
"reward_fee": null,
"merkle_root": null,
"mining_nonce": null,
"extra_nonce": null,
"raw_ref_hint": "bronze:clickhouse:qrl2:testnet:174935",
"ingested_at": "2026-07-31T12:03:39.399000",
"withdrawals_count": 16,
"withdrawals_total_planck": "338744366000000000",
"reorg_at_this_height": false,
"previous_canonical_hash": null,
"reorg_detected_at": null
}/api/v1/{chain}/blocks/hash/{block_hash}QRL 2.0QRL (PoW)Get Block By Hash
Get a block by its hash. Mounted under /blocks/hash/{hash} (not
/blocks/{hash}) to avoid ambiguity with the integer-height route below.
Routes are matched in declaration order, so this specific path wins
over the catch-all /{height} when the URL starts with hash/.
Path parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| block_hash | string | yes | — |
Response 200 · BlockDetail
chainstringrequirednetworkstringrequiredheightintegerrequiredblock_hashstringrequiredtimestampstringrequiredISO-8601 UTCRequest examples
curl -s "https://quantascan.io/api/v1/qrl2/blocks/hash/<block_hash>" \
-H "Authorization: Bearer qs_YOUR_API_KEY"Example response
{
"chain": "qrl2",
"network": "testnet",
"height": 174935,
"block_hash": "0xf697fd11528ce281af00e5f838f3ebdca0f414ca648f347f3cd5b81a4f523685",
"timestamp": "2026-07-31T12:03:36",
"parent_hash": "0x4d68ea8389760723487fba19648fbaa360291f985d414bd0779670370d44ebb8",
"tx_count": 0,
"gas_limit": 20000000,
"gas_used": 0,
"base_fee_per_gas": "7",
"prev_randao": "0xa92a8e3bb64fec1aab38466845774f2c328da6ee0a4f11b8c0025dab43cedd20",
"logs_bloom": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000…",
"extra_data": "0xd7820201846771726c88676f312e32362e31856c696e7578",
"state_root": "0xbce0e3a1b56d0daa7d22151754cd9a7dfad0c89856af4c01e76aa433bb3255f1",
"transactions_root": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"receipts_root": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"withdrawals_root": "0xf3694e03c42cf6988371209e08810e4b9eec6e569188658e7603503c49f74c50",
"miner": "Q0000000000000000000000000000000000000000",
"size": 1026,
"difficulty": null,
"total_difficulty": null,
"reward_block": null,
"reward_fee": null,
"merkle_root": null,
"mining_nonce": null,
"extra_nonce": null,
"raw_ref_hint": "bronze:clickhouse:qrl2:testnet:174935",
"ingested_at": "2026-07-31T12:03:39.399000",
"withdrawals_count": 16,
"withdrawals_total_planck": "338744366000000000",
"reorg_at_this_height": false,
"previous_canonical_hash": null,
"reorg_detected_at": null
}/api/v1/{chain}/blocks/latestQRL 2.0QRL (PoW)Get Latest Block
Response 200 · BlockDetail
chainstringrequirednetworkstringrequiredheightintegerrequiredblock_hashstringrequiredtimestampstringrequiredISO-8601 UTCRequest examples
curl -s "https://quantascan.io/api/v1/qrl2/blocks/latest" \
-H "Authorization: Bearer qs_YOUR_API_KEY"Example response
{
"chain": "qrl2",
"network": "testnet",
"height": 174935,
"block_hash": "0xf697fd11528ce281af00e5f838f3ebdca0f414ca648f347f3cd5b81a4f523685",
"timestamp": "2026-07-31T12:03:36",
"tx_count": 0,
"miner": "Q0000000000000000000000000000000000000000",
"gas_used": 0,
"base_fee_per_gas": "7"
}/api/v1/{chain}/blocks/stats/dailyQRL 2.0QRL (PoW)Get Daily Activity
Per-day rollup of block_count, tx_count, gas_used — Gold layer.
Window: pass ?window=30d (default), ?window=90d, etc.
Query parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| window | string | no | 30d | Look-back window for per-day rollups. Default 30d. Examples: 7d, 30d, 90d, 365d. |
Response 200 · ItemsList_DailyActivityItem_
▸itemsDailyActivityItem[]required
itemsDailyActivityItem[]requireddaystringrequiredISO date (YYYY-MM-DD)block_countintegerrequiredtx_countintegerrequiredtotal_gas_usedinteger | nullRequest examples
curl -s "https://quantascan.io/api/v1/qrl2/blocks/stats/daily" \
-H "Authorization: Bearer qs_YOUR_API_KEY"Example response
{
"items": [
{
"day": "2026-07-31",
"block_count": 724,
"tx_count": 0,
"total_gas_used": 0
},
{
"day": "2026-07-30",
"block_count": 1440,
"tx_count": 1,
"total_gas_used": 442563
},
"… (29 more)"
]
}/api/v1/{chain}/blocks/stats/summaryQRL 2.0QRL (PoW)Get Block Stats
Response 200 · ChainStats
total_blocksinteger | nullmin_heightinteger | nullmax_heightinteger | nulltotal_txsinteger | nulllatest_block_timestring | nullISO-8601 UTCavg_tx_countnumber | nullRequest examples
curl -s "https://quantascan.io/api/v1/qrl2/blocks/stats/summary" \
-H "Authorization: Bearer qs_YOUR_API_KEY"Example response
{
"total_blocks": 174935,
"min_height": 1,
"max_height": 174935,
"total_txs": 1977,
"latest_block_time": "2026-07-31T12:03:36",
"avg_tx_count": 0.01130134049789922
}All endpoints verified against a live indexer. Need the raw spec? See openapi.json or the API overview.