Skip to content
—
QuantascanAlpha
Browse API groups

NFTs API

NFT collections, items and ownership on QRL 2.0.
GET/api/v1/qrl2/addresses/{address}/nftsQRL 2.0

QRC-721 / QRC-1155 tokens held by an address

Every NFT the address holds right now, one row per (collection, token id): balance is 1 for QRC-721 and the unit count for QRC-1155. Derived from the raw Transfer / TransferSingle / TransferBatch events (batch transfers included), so it works for any standards- compliant contract whether or not its metadata is indexed. Sorted by collection, then token id.

Path parameters

  • addressrequired
    string

    QRL 2.0 address (Q + 40 or 128 hex).

Query parameters

  • standardoptional
    string | null

    Only QRC-721 or only QRC-1155 positions.

  • contractoptional
    string | null

    Only positions in this collection.

  • pageoptional
    integermin 1default 1
  • page_sizeoptional
    integermin 1 · max 200default 50

Response 200 · NftHoldingsResponse

chainstringrequired
networkstringrequired
addressstringrequired
standardstring | null
▸
itemsNftHoldingItem[]required
contractstringrequiredCollection (token contract) address.
standardstringrequiredQRC-721 or QRC-1155.
token_idstringrequiredToken id as a decimal string (uint256).
balancestringrequiredUnits held: always '1' for QRC-721, the amount for QRC-1155.
namestring | nullCollection name from token metadata, if indexed.
symbolstring | nullCollection symbol from token metadata, if indexed.
last_transfer_blockinteger | nullBlock of the latest transfer of this token involving the address.
item_namestring | nullItem name from the token's metadata JSON (tokenURI / uri), if indexed.
imagestring | nullImage URL from the metadata JSON, as text. Quantascan does not fetch or host it.
pageintegerrequired
page_sizeintegerrequired
totalintegerrequiredDistinct (contract, token_id) positions held.
total_pagesintegerrequired
indexed_tip_heightinteger | null

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/addresses/<address>/nfts" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
GET/api/v1/qrl2/nft/{contract}/{token_id}/historyQRL 2.0

Get Nft History

Provenance of one NFT: every transfer oldest-first (mint first), owners (QRC-721: the owner; QRC-1155: every holder with quantity), current_owner + is_burned for QRC-721, and metadata (tokenURI JSON: name, description, image URL, attributes — or its fetch status). 404 when the id never moved.

Path parameters

  • contractrequired
    string
  • token_idrequired
    string

    Token id (decimal uint256).

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

Current holders of a collection, one row per (token id, holder): QRC-721 = the owner of each id, QRC-1155 = every holder of an id with its quantity (balance). Newest acquisition first; burned items excluded. Each row: token_id, owner, balance, acquired_tx, acquired_block, acquired_at, transfer_count (of that id), item_name, image (URL text).

Path parameters

  • contractrequired
    string

Query parameters

  • pageoptional
    integermin 1default 1
  • page_sizeoptional
    integermin 1 · max 200default 50

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: all-time mints + 7d/30d pulse, minting collections, unique minters, the QRC-721 vs QRC-1155 split, the most-minted collection and the latest mint. mints_24h is returned for completeness (the UI omits it on the sparse testnet).

Declared BEFORE /{contract}/owners so the literal mints segment is not captured as a {contract} path param. Zero-filled on a missing view.

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 (single or batch) transfer from the zero address. Symbol/name come from the contract metadata (null when its fetch failed — the frontend falls back to a short address).

Query parameters

  • limitoptional
    integermin 1 · max 50default 10

    Top-N collections to return

  • windowoptional
    stringdefault 24h

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