Browse API groups
Transactions & Mempool API
/api/v1/{chain}/transactions/QRL 2.0QRL (PoW)Get Transactions
Cursor-paginated transaction list (live feed — newest first).
Pass cursor from the previous response to get older transactions.
No offset/page params — transactions arrive 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). |
| from | string | null | no | — | Filter: sender address |
| to | string | null | no | — | Filter: recipient address |
| tx_type | string | null | no | — | Filter: tx_type (transfer/coinbase/slave/...) |
| status | integer | null | no | — | Filter: 1=success, 0=reverted |
| min_value | string | null | no | — | Filter: value >= (decimal UInt256 string) |
| max_value | string | null | no | — | Filter: value <= (decimal UInt256 string) |
| time_from | integer | null | no | — | Filter: timestamp >= Unix seconds |
| time_to | integer | null | no | — | Filter: timestamp < Unix seconds |
| method | string | null | no | — | High-level method filter for the chip-bar UI. Valid values: transfer | token_transfer | contract_call | contract_creation | failed | multi_recipient. `contract_call` + `contract_creation` are qrl2-only; `multi_recipient` is qrl-only; `token_transfer` maps to the QRC-20 transfer() call on qrl2 and the transfer_token subtype on qrl. |
Response 200 · PaginatedCursor_TransactionDetail_
▸itemsTransactionDetail[]required
itemsTransactionDetail[]requiredchainstringrequirednetworkstringrequiredtx_hashstringrequiredheightinteger | nulltimestampstring | nullfrom_addrstring | nullto_addrstring | 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/transactions/" \
-H "Authorization: Bearer qs_YOUR_API_KEY"Example response
{
"items": [
{
"chain": "qrl2",
"network": "testnet",
"tx_hash": "0x7757ba180d74a02a33350b143bca0c8ee5a55c912ce8e359cfc24646baf85e2c",
"height": 173934,
"timestamp": "2026-07-30T19:22:36",
"from_addr": "Qedc109a7e31a982023b91f8e2fb46c34ca524f7d",
"to_addr": null,
"block_hash": "0x5d75e7647a07da30953d158c8a36961a61a393f7e58bde4c5b952a365f9c7270",
"tx_index": 0,
"recipient_index": 0,
"value": "0",
"fee": "442563003097941",
"nonce": 2,
"tx_type": null,
"tx_type_evm": 2,
"gas": 600000,
"gas_used": 442563,
"gas_price": "1000000007",
"effective_gas_price": "1000000007",
"contract_address": "Q8fb8928dd86629fc6ea9ca41975dbb28a511d2d0",
"status": 1,
"master_addr": null,
"input_data": "0x60806040"
},
{
"chain": "qrl2",
"network": "testnet",
"tx_hash": "0xe981de6f7f770ac5d5d5b5a076e7994f6690dbd7554fd2308e2790634a05b8f0",
"height": 171359,
"timestamp": "2026-07-29T00:27:36",
"from_addr": "Q6153d37fa4da7193e6219dcbd2bbe62fa12905b1",
"to_addr": "Qbb2cdffb66221359edf62cb8b0d1c18c3b4ee4fb",
"block_hash": "0x8e094066bf7635e4d0aac1accf65bf7ff724930ba36e235bc8f9f92141b6c7b1",
"tx_index": 0,
"recipient_index": 0,
"value": "10000000000000000000",
"fee": "21000000294000",
"nonce": 83,
"tx_type": null,
"tx_type_evm": 2,
"gas": 21000,
"gas_used": 21000,
"gas_price": "1000000014",
"effective_gas_price": "1000000014",
"contract_address": null,
"status": 1,
"master_addr": null,
"input_data": "0x"
},
"… (23 more)"
],
"limit": 25,
"next_cursor": "eyJhZnRlcl9oZWlnaHQiOjE2MTQzOCwiYWZ0ZXJfcmVjaXBpZW50X2luZGV4IjowLCJhZnRlcl90eF9pbmRleCI6MH0",
"has_more": true
}/api/v1/{chain}/transactions/{tx_hash}QRL 2.0QRL (PoW)Get Transaction By Hash
Path parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| tx_hash | string | yes | — |
Response 200 · TransactionDetailResponse
chainstringrequirednetworkstringrequiredtx_hashstringrequiredheightinteger | nullblock_hashstring | nulltx_indexinteger | nullrecipient_indexinteger | nullfrom_addrstring | nullto_addrstring | nullvaluestring | nullfeestring | nullnonceinteger | nulltx_typestring | nullstatusinteger | nulltimestampstring | nullmaster_addrstring | nulltransaction_typestring | nullpublic_keystring | nullpayload_jsonstring | nullgasinteger | nullgas_usedinteger | nullcumulative_gas_usedinteger | nullgas_pricestring | nulleffective_gas_pricestring | nullmax_fee_per_gasstring | nullmax_priority_fee_per_gasstring | nulltx_type_evminteger | nullaccess_liststring | nullcontract_addressstring | nullinput_datastring | nullrecipientsobject[] | nullrecipient_countinteger | nulllogsobject[] | nullinternal_transfersobject[] | nullRequest examples
curl -s "https://quantascan.io/api/v1/qrl2/transactions/<tx_hash>" \
-H "Authorization: Bearer qs_YOUR_API_KEY"Example response
{
"chain": "qrl2",
"network": "testnet",
"tx_hash": "0x7757ba180d74a02a33350b143bca0c8ee5a55c912ce8e359cfc24646baf85e2c",
"height": 173934,
"block_hash": "0x5d75e7647a07da30953d158c8a36961a61a393f7e58bde4c5b952a365f9c7270",
"tx_index": 0,
"recipient_index": 0,
"from_addr": "Qedc109a7e31a982023b91f8e2fb46c34ca524f7d",
"to_addr": null,
"value": "0",
"fee": "442563003097941",
"nonce": 2,
"tx_type": null,
"status": 1,
"timestamp": "2026-07-30T19:22:36",
"master_addr": null,
"transaction_type": null,
"public_key": null,
"payload_json": null,
"gas": 600000,
"gas_used": 442563,
"cumulative_gas_used": 442563,
"gas_price": "1000000007",
"effective_gas_price": "1000000007",
"max_fee_per_gas": "2000000000",
"max_priority_fee_per_gas": "1000000000",
"tx_type_evm": 2,
"access_list": null,
"contract_address": "Q8fb8928dd86629fc6ea9ca41975dbb28a511d2d0",
"input_data": "0x608060405234801561000f575f80fd5b506040516106c93803806106c983398101604081905261002e9161007d565b5f81815533808252600160209081526040808420859055518481529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163…",
"recipients": [
{
"recipient_index": 0,
"to_addr": null,
"value": "0"
}
],
"recipient_count": 1,
"logs": [
{
"log_index": 0,
"address": "Q8fb8928dd86629fc6ea9ca41975dbb28a511d2d0",
"topic0": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"topic1": "0x0000000000000000000000000000000000000000000000000000000000000000",
"topic2": "0x000000000000000000000000edc109a7e31a982023b91f8e2fb46c34ca524f7d",
"topic3": null,
"data": "0x00000000000000000000000000000000000000000000003635c9adc5dea00000"
}
],
"internal_transfers": [],
"qrl_ots_index": null,
"qrl_sig_size": null,
"raw_ref_hint": "",
"ingested_at": "2026-07-30T19:22:48.599000"
}/api/v1/{chain}/transactions/block/{block_height}QRL 2.0QRL (PoW)Get Transactions By Block
Path parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| block_height | integermin 0 | yes | — |
Response 200 · BlockTransactionsList
▸itemsTransactionDetailResponse[]
itemsTransactionDetailResponse[]chainstringrequirednetworkstringrequiredtx_hashstringrequiredheightinteger | nullblock_hashstring | nulltx_indexinteger | nullrecipient_indexinteger | nullfrom_addrstring | nullto_addrstring | nullvaluestring | nullfeestring | nullnonceinteger | nulltx_typestring | nullstatusinteger | nulltimestampstring | nullmaster_addrstring | nulltransaction_typestring | nullpublic_keystring | nullpayload_jsonstring | nullgasinteger | nullgas_usedinteger | nullcumulative_gas_usedinteger | nullgas_pricestring | nulleffective_gas_pricestring | nullmax_fee_per_gasstring | nullmax_priority_fee_per_gasstring | nulltx_type_evminteger | nullaccess_liststring | nullcontract_addressstring | nullinput_datastring | nullrecipientsobject[] | nullrecipient_countinteger | nulllogsobject[] | nullinternal_transfersobject[] | nulltotalinteger | nullblock_heightinteger | nullchainstring | nullnetworkstring | nullRequest examples
curl -s "https://quantascan.io/api/v1/qrl2/transactions/block/100" \
-H "Authorization: Bearer qs_YOUR_API_KEY"Example response
{
"items": [],
"total": 0,
"block_height": 174935,
"chain": "qrl2",
"network": "testnet"
}/api/v1/{chain}/transactions/failedQRL 2.0QRL (PoW)Get Failed Transactions
Reverted transactions feed (status=0).
Wrapper over /transactions/?status=0. QRL2-only in practice — QRL PoW txs don't have an EVM revert concept (status hardcoded to "success" in canonical_schema).
Query parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| cursor | string | null | no | — | Opaque pagination token from a previous response's `next_cursor`. |
| limit | integermin 1 · max 100 | no | 25 | Items per page (1-100). |
Response 200 · PaginatedCursor_TransactionDetail_
▸itemsTransactionDetail[]required
itemsTransactionDetail[]requiredchainstringrequirednetworkstringrequiredtx_hashstringrequiredheightinteger | nulltimestampstring | nullfrom_addrstring | nullto_addrstring | 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/transactions/failed" \
-H "Authorization: Bearer qs_YOUR_API_KEY"Example response
{
"items": [
{
"chain": "qrl2",
"network": "testnet",
"tx_hash": "0x9ece5bb8ae83d11a5b744eab76a0d5d4b58bed62ab578aabba3bdc24173719df",
"height": 156771,
"timestamp": "2026-07-18T21:19:36",
"from_addr": "Qc2ad78a527f1038df0e54cece9656bf8160bcb14",
"to_addr": "Q8c6cac02c31fefb6d34be3d66a444206e000f67f",
"block_hash": "0xa4d9e477083bb5aa1464ac027dfe2a93681345d513fd7a13b492ffc9c24bc057",
"tx_index": 1,
"recipient_index": 0,
"value": "0",
"fee": "29823000208761",
"nonce": 172,
"tx_type": null,
"tx_type_evm": 2,
"gas": 350000,
"gas_used": 29823,
"gas_price": "1000000007",
"effective_gas_price": "1000000007",
"contract_address": null,
"status": 0,
"master_addr": null,
"input_data": "0xe769a0b9"
},
{
"chain": "qrl2",
"network": "testnet",
"tx_hash": "0x2b7a79306678b9a40a26a1871bfb468ac24977d9fc7d725df389df3397919c20",
"height": 142189,
"timestamp": "2026-07-08T18:17:36",
"from_addr": "Q79b662ce3d663643df4454a8ba3f532c0de6887f",
"to_addr": "Q94cd8e406d2bb4ea251dce3f0558941f2ac056ee",
"block_hash": "0xb80200c58aaed2af0caaf62d295919e51237f2c3c1b1c6c21cd45e1bf594d0ad",
"tx_index": 0,
"recipient_index": 0,
"value": "1000000000000000000",
"fee": "90000000630000",
"nonce": 56,
"tx_type": null,
"tx_type_evm": 2,
"gas": 90000,
"gas_used": 90000,
"gas_price": "1000000007",
"effective_gas_price": "1000000007",
"contract_address": null,
"status": 0,
"master_addr": null,
"input_data": "0xad4c2381"
},
"… (12 more)"
],
"limit": 25,
"next_cursor": null,
"has_more": false
}/api/v1/{chain}/transactions/stats/summaryQRL 2.0QRL (PoW)Get Transaction Stats
Response 200 · GenericObject
Variable shape — see the example response below.
Request examples
curl -s "https://quantascan.io/api/v1/qrl2/transactions/stats/summary" \
-H "Authorization: Bearer qs_YOUR_API_KEY"Example response
{
"total_transactions": 1977,
"unique_senders": 187,
"unique_receivers": 375,
"latest_tx_time": "2026-07-30T19:22:36"
}/api/v1/{chain}/transactions/whalesQRL 2.0QRL (PoW)Get Whale Transactions
Recent transactions above a value threshold ("whale alert" feed).
Thin wrapper over /transactions/ with a sensible per-chain default threshold. Frontend can render a dedicated "Whale moves" widget without hardcoding the threshold itself.
Query parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| cursor | string | null | no | — | Opaque pagination token from a previous response's `next_cursor`. |
| limit | integermin 1 · max 100 | no | 25 | Items per page (1-100). |
| min_value | string | null | no | — | Threshold (decimal UInt256 string). Default per-chain: 10k QRL for qrl, 1k QRL2 for qrl2. |
Response 200 · PaginatedCursor_TransactionDetail_
▸itemsTransactionDetail[]required
itemsTransactionDetail[]requiredchainstringrequirednetworkstringrequiredtx_hashstringrequiredheightinteger | nulltimestampstring | nullfrom_addrstring | nullto_addrstring | 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/transactions/whales" \
-H "Authorization: Bearer qs_YOUR_API_KEY"Example response
{
"items": [
{
"chain": "qrl2",
"network": "testnet",
"tx_hash": "0x8b04340287736d21b4b0a4fea7eeeab63ac131aae2fe4da64a48715bfc1240c8",
"height": 145935,
"timestamp": "2026-07-11T08:43:36",
"from_addr": "Q6153d37fa4da7193e6219dcbd2bbe62fa12905b1",
"to_addr": "Q79b662ce3d663643df4454a8ba3f532c0de6887f",
"block_hash": "0x78353c808b667fa3839a5ea119e786bc0142f08e8f1032deb56a62b0ee51411f",
"tx_index": 0,
"recipient_index": 0,
"value": "1337000000000000000000",
"fee": "21000000147000",
"nonce": 65,
"tx_type": null,
"tx_type_evm": 2,
"gas": 21000,
"gas_used": 21000,
"gas_price": "1000000007",
"effective_gas_price": "1000000007",
"contract_address": null,
"status": 1,
"master_addr": null,
"input_data": "0x"
},
{
"chain": "qrl2",
"network": "testnet",
"tx_hash": "0x97bce9de8eccb1d600815e739c202fb68d5ca43db52ab8f04851a40426e6f00d",
"height": 144363,
"timestamp": "2026-07-10T06:31:36",
"from_addr": "Q79b662ce3d663643df4454a8ba3f532c0de6887f",
"to_addr": "Q1eac444b009226fc68586a1ddaf5227b7ff653d4",
"block_hash": "0xcc66681b12e5fc725c66b733c45fb54fd00cc38bd0695674272c9ff1dfe8793e",
"tx_index": 0,
"recipient_index": 0,
"value": "1500009999999999934464",
"fee": "21000000147000",
"nonce": 66,
"tx_type": null,
"tx_type_evm": 2,
"gas": 21000,
"gas_used": 21000,
"gas_price": "1000000007",
"effective_gas_price": "1000000007",
"contract_address": null,
"status": 1,
"master_addr": null,
"input_data": "0x"
},
"… (23 more)"
],
"limit": 25,
"next_cursor": "eyJhZnRlcl9oZWlnaHQiOjI4OTg0LCJhZnRlcl9yZWNpcGllbnRfaW5kZXgiOjAsImFmdGVyX3R4X2luZGV4IjowfQ",
"has_more": true
}/api/v1/qrl2/mempoolQRL 2.0List Pending
Pending qrl2 transactions (mempool view).
Wave 8: cursor-only pagination. The mempool churns constantly (txs
enter, get confirmed, get evicted), so offset paging is meaningless.
Cursor anchors to the seen_at timestamp of the last row returned.
The view auto-excludes pending txs that have already landed in a block within the last hour, so the result is "actually still pending" rather than "ever-seen". Sort: most-recently-seen first.
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 mempool head (most-recently-seen). |
| limit | integermin 1 · max 200 | no | 50 | Items per page (1-200). |
Response 200 · GenericListResponse
itemsobject[]totalinteger | nulllimitinteger | nulloffsetinteger | nullpageinteger | nullhas_nextboolean | nullhas_prevboolean | nullnext_cursorstring | nullRequest examples
curl -s "https://quantascan.io/api/v1/qrl2/mempool" \
-H "Authorization: Bearer qs_YOUR_API_KEY"Example response
{
"items": [],
"limit": 50,
"next_cursor": null,
"has_more": false,
"network": "testnet"
}/api/v1/qrl2/transactions/{tx_hash}/revert-reasonQRL 2.0Decoded EVM revert reason for a reverted QRL2 transaction
Return the decoded revert reason for a failed QRL2 transaction.
Flow:
- Verify the tx exists and has status=0 (avoid wasting RPC on success txs).
- Hit
debug_traceTransaction(callTracer)against the qrl2 node. - Decode the top-level frame's
output(Error(string) / Panic(uint256) / custom). - Cache the result for 24h in Redis (or in-memory if Redis is down).
QRL2 (EVM) only — mounted under /api/v1/qrl2/transactions/, no chain selection needed.
Path parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| tx_hash | string | yes | — |
Response 200 · RevertReasonResponse
tx_hashstringrequiredchainstringrequirednetworkstringrequiredkindstringrequireddecodedstringrequiredraw_outputstringtracer_errorstringsourcestringRequest examples
curl -s "https://quantascan.io/api/v1/qrl2/transactions/<tx_hash>/revert-reason" \
-H "Authorization: Bearer qs_YOUR_API_KEY"Example response
{
"tx_hash": "0x9ece5bb8ae83d11a5b744eab76a0d5d4b58bed62ab578aabba3bdc24173719df",
"chain": "qrl2",
"network": "testnet",
"kind": "custom_error",
"decoded": "Custom error (selector 0xb0ec289d)",
"raw_output": "0xb0ec289d45447675f06f017f6779204e3784c3799ad34a621a3736e790e6161b137d3015",
"tracer_error": "execution reverted",
"source": "persisted"
}All endpoints verified against a live indexer. Need the raw spec? See openapi.json or the API overview.