Skip to content
QuantascanAlpha
Browse API groups

Blocks API

Block listings, lookups by height or hash, and block-level statistics for both chains.
GET/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

NameTypeRequiredDefaultDescription
cursorstring | nullnoOpaque pagination token from a previous response's `next_cursor`. Omit to start at the chain head (newest). Do not decode/construct.
limitintegermin 1 · max 100no25Items per page (1-100).
min_heightinteger | nullnoFilter: height >=
max_heightinteger | nullnoFilter: height <=
minerstring | nullnoFilter: block proposer / miner address
min_gas_usedinteger | nullnoFilter: gas_used >=
time_frominteger | nullnoFilter: timestamp >= Unix seconds
time_tointeger | nullnoFilter: timestamp < Unix seconds
has_withdrawalsboolean | nullnoqrl2 only: True=only blocks with withdrawals, False=only without

Response 200 · PaginatedCursor_BlockSummary_

itemsBlockSummary[]required
chainstringrequired
networkstringrequired
heightintegerrequired
block_hashstringrequired
timestampstringrequiredISO-8601 UTC
tx_countinteger | null
minerstring | null
gas_usedinteger | null
limitintegerrequiredMaximum number of items in this page
next_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
}
GET/api/v1/{chain}/blocks/{height}QRL 2.0QRL (PoW)

Get Block By Height

Path parameters

NameTypeRequiredDefaultDescription
heightintegermin 0yes

Response 200 · BlockDetail

chainstringrequired
networkstringrequired
heightintegerrequired
block_hashstringrequired
timestampstringrequiredISO-8601 UTC

Request 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
}
GET/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

NameTypeRequiredDefaultDescription
block_hashstringyes

Response 200 · BlockDetail

chainstringrequired
networkstringrequired
heightintegerrequired
block_hashstringrequired
timestampstringrequiredISO-8601 UTC

Request 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
}
GET/api/v1/{chain}/blocks/latestQRL 2.0QRL (PoW)

Get Latest Block

Response 200 · BlockDetail

chainstringrequired
networkstringrequired
heightintegerrequired
block_hashstringrequired
timestampstringrequiredISO-8601 UTC

Request 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"
}
GET/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

NameTypeRequiredDefaultDescription
windowstringno30dLook-back window for per-day rollups. Default 30d. Examples: 7d, 30d, 90d, 365d.

Response 200 · ItemsList_DailyActivityItem_

itemsDailyActivityItem[]required
daystringrequiredISO date (YYYY-MM-DD)
block_countintegerrequired
tx_countintegerrequired
total_gas_usedinteger | null

Request 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)"
  ]
}
GET/api/v1/{chain}/blocks/stats/summaryQRL 2.0QRL (PoW)

Get Block Stats

Response 200 · ChainStats

total_blocksinteger | null
min_heightinteger | null
max_heightinteger | null
total_txsinteger | null
latest_block_timestring | nullISO-8601 UTC
avg_tx_countnumber | null

Request 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.