Browse API groups
NFTs API
/api/v1/qrl2/nft/{contract}/{token_id}/historyQRL 2.0Get Nft History
Full transfer chain for a single NFT.
Returns every transfer of token_id in chronological order (oldest
first), starting with the mint (from_addr = 0x0..0) if present and
ending at the current owner. Useful for ownership-provenance / "who
held this NFT" visualisations.
Path parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| contract | string | yes | — | |
| token_id | string | yes | — |
Response 200 · GenericObject
Variable shape — see the example response below.
Request examples
curl -s "https://quantascan.io/api/v1/qrl2/nft/<contract>/<token_id>/history" \
-H "Authorization: Bearer qs_YOUR_API_KEY"/api/v1/qrl2/nft/{contract}/ownersQRL 2.0List Nft Owners
For a QRC-721 contract, return the current owner per token_id.
"Current owner" = to_addr of the most-recent transfer per token_id.
Tokens that were minted and then burned (last transfer's to_addr = 0x0) are excluded from the result.
Pagination is offset-based; for large NFT collections (10k+) consider
?page_size=200 and walk pages.
Path parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| contract | string | yes | — |
Query parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| page | integermin 1 | no | 1 | |
| page_size | integermin 1 · max 200 | no | 50 |
Response 200 · GenericListResponse
itemsobject[]totalinteger | nulllimitinteger | nulloffsetinteger | nullpageinteger | nullhas_nextboolean | nullhas_prevboolean | nullnext_cursorstring | nullRequest examples
curl -s "https://quantascan.io/api/v1/qrl2/nft/<contract>/owners" \
-H "Authorization: Bearer qs_YOUR_API_KEY"/api/v1/qrl2/nft/mints/summaryQRL 2.0Nft Mints Summary
Hero metrics for the /nft-mints page (QRL2 QRC-721/QRC-1155 mints).
All-time mint count + 7d/30d pulse, distinct minting collections, distinct
minters, the QRC-721 vs QRC-1155 split, the most-minted collection, and the
latest mint time (freshness). mints_24h is returned for completeness but
the UI omits it (chronically 0 on the sparse testnet). Mint =
from_addr = Q000…000 (the zero-address); QRL legacy has no NFTs, so this
route is qrl2-only by mount.
Declared BEFORE /{contract}/owners so the literal mints segment is
not captured as a {contract} path param. Returns zero-filled (no 500) on
a missing view; the frontend hero hides itself when total_mints == 0.
Response 200 · NftMintsSummary
networkstringrequiredtotal_mintsintegermints_24hintegermints_7dintegermints_30dintegercollections_mintingintegerunique_mintersintegerqrc721_countintegerqrc1155_countinteger▸top_collectionNftTopCollection | null
top_collectionNftTopCollection | nulltoken_contractstringrequiredmintsintegerrequiredtoken_symbolstring | nulltoken_namestring | nulllatest_mintstring | nullRequest examples
curl -s "https://quantascan.io/api/v1/qrl2/nft/mints/summary" \
-H "Authorization: Bearer qs_YOUR_API_KEY"Example response
{
"network": "testnet",
"total_mints": 696,
"mints_24h": 0,
"mints_7d": 0,
"mints_30d": 0,
"collections_minting": 38,
"unique_minters": 16,
"qrc721_count": 637,
"qrc1155_count": 59,
"top_collection": {
"token_contract": "Q11c1f68c269103cfebc13a9a4af62fc5651a9eff",
"mints": 99,
"token_symbol": "M2",
"token_name": "Matka2"
},
"latest_mint": "2026-06-12T15:36:36"
}/api/v1/qrl2/nft/top-mintsQRL 2.0List Top Mints
Top NFT collections by mint count in the look-back window.
A mint is a QRC-721 / QRC-1155 / QRC-1155-batch Transfer event where
from_addr is the zero address. We aggregate by token_contract and
join contract-level metadata (symbol/name) so the frontend can render
the leaderboard without N+1 fetches.
Wave 4: ?window_hours=24 → ?window=24h (D4 duration). The SQL
layer still operates on integer hours, so we convert at the edge.
QRL Legacy has no smart-contract NFTs, so this endpoint is qrl2-only by virtue of the underlying view (mounted only under /api/v1/qrl2/nft/).
Query parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| limit | integermin 1 · max 50 | no | 10 | Top-N collections to return |
| window | string | no | 24h | Sliding window for the top-mints leaderboard (D4 duration). Default 24h. Examples: 1h, 24h, 7d, 30d. |
Response 200 · GenericListResponse
itemsobject[]totalinteger | nulllimitinteger | nulloffsetinteger | nullpageinteger | nullhas_nextboolean | nullhas_prevboolean | nullnext_cursorstring | nullRequest examples
curl -s "https://quantascan.io/api/v1/qrl2/nft/top-mints" \
-H "Authorization: Bearer qs_YOUR_API_KEY"Example response
{
"items": [],
"count": 0,
"network": "testnet",
"window_hours": 24,
"limit": 10
}All endpoints verified against a live indexer. Need the raw spec? See openapi.json or the API overview.