Skip to content
QuantascanAlpha
Browse API groups

NFTs API

NFT collections, items and ownership on QRL 2.0.
GET/api/v1/qrl2/nft/{contract}/{token_id}/historyQRL 2.0

Get 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

NameTypeRequiredDefaultDescription
contractstringyes
token_idstringyes

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"
GET/api/v1/qrl2/nft/{contract}/ownersQRL 2.0

List 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

NameTypeRequiredDefaultDescription
contractstringyes

Query parameters

NameTypeRequiredDefaultDescription
pageintegermin 1no1
page_sizeintegermin 1 · max 200no50

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/nft/<contract>/owners" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
GET/api/v1/qrl2/nft/mints/summaryQRL 2.0

Nft 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

networkstringrequired
total_mintsinteger
mints_24hinteger
mints_7dinteger
mints_30dinteger
collections_mintinginteger
unique_mintersinteger
qrc721_countinteger
qrc1155_countinteger
top_collectionNftTopCollection | null
token_contractstringrequired
mintsintegerrequired
token_symbolstring | null
token_namestring | null
latest_mintstring | null

Request 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"
}
GET/api/v1/qrl2/nft/top-mintsQRL 2.0

List 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

NameTypeRequiredDefaultDescription
limitintegermin 1 · max 50no10Top-N collections to return
windowstringno24hSliding window for the top-mints leaderboard (D4 duration). Default 24h. Examples: 1h, 24h, 7d, 30d.

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