Skip to content
QuantascanAlpha
Browse API groups

Transactions & Mempool API

Transaction listings, lookups, whale transfers, revert reasons and the QRL 2.0 pending-transaction pool.
GET/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

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).
fromstring | nullnoFilter: sender address
tostring | nullnoFilter: recipient address
tx_typestring | nullnoFilter: tx_type (transfer/coinbase/slave/...)
statusinteger | nullnoFilter: 1=success, 0=reverted
min_valuestring | nullnoFilter: value >= (decimal UInt256 string)
max_valuestring | nullnoFilter: value <= (decimal UInt256 string)
time_frominteger | nullnoFilter: timestamp >= Unix seconds
time_tointeger | nullnoFilter: timestamp < Unix seconds
methodstring | nullnoHigh-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
chainstringrequired
networkstringrequired
tx_hashstringrequired
heightinteger | null
timestampstring | null
from_addrstring | null
to_addrstring | 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/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
}
GET/api/v1/{chain}/transactions/{tx_hash}QRL 2.0QRL (PoW)

Get Transaction By Hash

Path parameters

NameTypeRequiredDefaultDescription
tx_hashstringyes

Response 200 · TransactionDetailResponse

chainstringrequired
networkstringrequired
tx_hashstringrequired
heightinteger | null
block_hashstring | null
tx_indexinteger | null
recipient_indexinteger | null
from_addrstring | null
to_addrstring | null
valuestring | null
feestring | null
nonceinteger | null
tx_typestring | null
statusinteger | null
timestampstring | null
master_addrstring | null
transaction_typestring | null
public_keystring | null
payload_jsonstring | null
gasinteger | null
gas_usedinteger | null
cumulative_gas_usedinteger | null
gas_pricestring | null
effective_gas_pricestring | null
max_fee_per_gasstring | null
max_priority_fee_per_gasstring | null
tx_type_evminteger | null
access_liststring | null
contract_addressstring | null
input_datastring | null
recipientsobject[] | null
recipient_countinteger | null
logsobject[] | null
internal_transfersobject[] | null

Request 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"
}
GET/api/v1/{chain}/transactions/block/{block_height}QRL 2.0QRL (PoW)

Get Transactions By Block

Path parameters

NameTypeRequiredDefaultDescription
block_heightintegermin 0yes

Response 200 · BlockTransactionsList

itemsTransactionDetailResponse[]
chainstringrequired
networkstringrequired
tx_hashstringrequired
heightinteger | null
block_hashstring | null
tx_indexinteger | null
recipient_indexinteger | null
from_addrstring | null
to_addrstring | null
valuestring | null
feestring | null
nonceinteger | null
tx_typestring | null
statusinteger | null
timestampstring | null
master_addrstring | null
transaction_typestring | null
public_keystring | null
payload_jsonstring | null
gasinteger | null
gas_usedinteger | null
cumulative_gas_usedinteger | null
gas_pricestring | null
effective_gas_pricestring | null
max_fee_per_gasstring | null
max_priority_fee_per_gasstring | null
tx_type_evminteger | null
access_liststring | null
contract_addressstring | null
input_datastring | null
recipientsobject[] | null
recipient_countinteger | null
logsobject[] | null
internal_transfersobject[] | null
totalinteger | null
block_heightinteger | null
chainstring | null
networkstring | null

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

NameTypeRequiredDefaultDescription
cursorstring | nullnoOpaque pagination token from a previous response's `next_cursor`.
limitintegermin 1 · max 100no25Items per page (1-100).

Response 200 · PaginatedCursor_TransactionDetail_

itemsTransactionDetail[]required
chainstringrequired
networkstringrequired
tx_hashstringrequired
heightinteger | null
timestampstring | null
from_addrstring | null
to_addrstring | 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/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
}
GET/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"
}
GET/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

NameTypeRequiredDefaultDescription
cursorstring | nullnoOpaque pagination token from a previous response's `next_cursor`.
limitintegermin 1 · max 100no25Items per page (1-100).
min_valuestring | nullnoThreshold (decimal UInt256 string). Default per-chain: 10k QRL for qrl, 1k QRL2 for qrl2.

Response 200 · PaginatedCursor_TransactionDetail_

itemsTransactionDetail[]required
chainstringrequired
networkstringrequired
tx_hashstringrequired
heightinteger | null
timestampstring | null
from_addrstring | null
to_addrstring | 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/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
}
GET/api/v1/qrl2/mempoolQRL 2.0

List 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

NameTypeRequiredDefaultDescription
cursorstring | nullnoOpaque pagination token from a previous response's `next_cursor`. Omit to start at the mempool head (most-recently-seen).
limitintegermin 1 · max 200no50Items per page (1-200).

Response 200 · GenericListResponse

itemsobject[]
totalinteger | null
limitinteger | null
offsetinteger | null
pageinteger | null
has_nextboolean | null
has_prevboolean | null
next_cursorstring | null

Request 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"
}
GET/api/v1/qrl2/transactions/{tx_hash}/revert-reasonQRL 2.0

Decoded EVM revert reason for a reverted QRL2 transaction

Return the decoded revert reason for a failed QRL2 transaction.

Flow:

  1. Verify the tx exists and has status=0 (avoid wasting RPC on success txs).
  2. Hit debug_traceTransaction(callTracer) against the qrl2 node.
  3. Decode the top-level frame's output (Error(string) / Panic(uint256) / custom).
  4. 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

NameTypeRequiredDefaultDescription
tx_hashstringyes

Response 200 · RevertReasonResponse

tx_hashstringrequired
chainstringrequired
networkstringrequired
kindstringrequired
decodedstringrequired
raw_outputstring
tracer_errorstring
sourcestring

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