Skip to content
QuantascanAlpha
Browse API groups

Smart Contracts API

Smart-contract metadata, source verification and read-only contract calls (QRL 2.0 EVM).
GET/api/v1/qrl2/contracts/QRL 2.0

List Contracts

Paginated QRL2 contract list with verification + token-metadata + 24h event-count joined in.

Wave 6: ?sort_by=?sort= (D5). The four sort keys (newest, oldest, active, verified) already encode their preferred direction at the repo layer; the - prefix is accepted for compatibility but semantically redundant.

Status filter:

  • all (default) — every indexed contract
  • verified — match_grade != 'unverified'
  • unverified — no verification submitted (yet)
  • token — implements QRC-20 / QRC-721 / QRC-1155 interface
  • recent — deployed in last 24h

Query parameters

NameTypeRequiredDefaultDescription
pageintegermin 1no1
page_sizeintegermin 1 · max 100no20
statusstring | nullnoall (default) | verified | unverified | token | recent (24h deploys). Filters layer on top of pagination.
sortstring | nullnonewestSort spec. Allowed: newest (default), oldest, active, verified, txns. `-` prefix is accepted for compatibility but each key already encodes its preferred direction.

Response 200 · ContractsPaginated

itemsContractRow[]
addressstringrequired
deployerstring | null
deployment_txstring | null
deployment_blockinteger | null
bytecode_hashstring | null
created_atstring | null
is_verifiedboolean | null
compilerstring | null
compiler_versionstring | null
optimization_enabledinteger | null
optimization_runsinteger | null
licensestring | null
match_gradestring | null
verified_atstring | null
main_contractstring | null
token_namestring | null
token_symbolstring | null
token_decimalsinteger | null
is_qrc20integer | null
is_qrc721integer | null
is_qrc1155integer | null
tx_countinteger | null
balance_planckstring | null
last_seenstring | null
events_24hinteger | null
similar_countinteger | null
totalinteger | null
limitinteger | null
offsetinteger | null
networkstring | null

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/contracts/" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
Example response
{
  "items": [
    {
      "address": "Q8fb8928dd86629fc6ea9ca41975dbb28a511d2d0",
      "deployer": "Qedc109a7e31a982023b91f8e2fb46c34ca524f7d",
      "deployment_tx": "0x7757ba180d74a02a33350b143bca0c8ee5a55c912ce8e359cfc24646baf85e2c",
      "deployment_block": 173934,
      "bytecode_hash": "f2d7deeadb426273759c474ff3eb6c5c3df70022d74389497c68e29fd9b0947d",
      "created_at": "2026-07-30T19:22:36",
      "is_verified": 1,
      "compiler": "hypc",
      "compiler_version": "0.0.2+commit.3e18e55d.Emscripten.clang",
      "optimization_enabled": 1,
      "optimization_runs": 200,
      "license": "",
      "match_grade": "full",
      "verified_at": "2026-07-30T19:29:24.952000",
      "main_contract": "",
      "token_name": "SpikeToken",
      "token_symbol": "SPK",
      "token_decimals": 18,
      "is_qrc20": 1,
      "is_qrc721": 0,
      "is_qrc1155": 0,
      "tx_count": 0,
      "balance_planck": "",
      "last_seen": "1970-01-01T00:00:00",
      "events_24h": 1,
      "similar_count": 0
    },
    {
      "address": "Q8c6cac02c31fefb6d34be3d66a444206e000f67f",
      "deployer": "Qc2ad78a527f1038df0e54cece9656bf8160bcb14",
      "deployment_tx": "0x57a2134645cfae06e998e18270e60d6537ac9bf788093d160d6d22cb4b6cef79",
      "deployment_block": 155607,
      "bytecode_hash": "cf5d2d6570b7ff6cffc97c0d8272480cf9a882b0c84b47bce4e2f372ba87f348",
      "created_at": "2026-07-18T01:55:36",
      "is_verified": 0,
      "compiler": "",
      "compiler_version": "",
      "optimization_enabled": 0,
      "optimization_runs": 0,
      "license": "",
      "match_grade": "unverified",
      "verified_at": "1970-01-01T00:00:00",
      "main_contract": "",
      "token_name": null,
      "token_symbol": null,
      "token_decimals": null,
      "is_qrc20": 0,
      "is_qrc721": 0,
      "is_qrc1155": 0,
      "tx_count": 176,
      "balance_planck": "400000000000000000",
      "last_seen": "2026-07-23T03:19:36",
      "events_24h": 0,
      "similar_count": 0
    },
    "… (18 more)"
  ],
  "total": 125,
  "limit": 20,
  "offset": 0,
  "network": "testnet"
}
GET/api/v1/qrl2/contracts/{address}QRL 2.0

Get Contract

Single contract detail. Returns deployment metadata + (if available) token metadata for QRC-20/721/1155 contracts.

Path parameters

NameTypeRequiredDefaultDescription
addressstringyes

Response 200 · ContractDetail

Variable shape — see the example response below.

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/contracts/<address>" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
Example response
{
  "address": "Q8fb8928dd86629fc6ea9ca41975dbb28a511d2d0",
  "deployer": "Qedc109a7e31a982023b91f8e2fb46c34ca524f7d",
  "deployment_tx": "0x7757ba180d74a02a33350b143bca0c8ee5a55c912ce8e359cfc24646baf85e2c",
  "deployment_block": 173934,
  "bytecode_hash": "f2d7deeadb426273759c474ff3eb6c5c3df70022d74389497c68e29fd9b0947d",
  "created_at": "2026-07-30T19:22:36",
  "deployment_input_size": 3540,
  "is_verified": 1,
  "match_grade": "full",
  "verified_at": "2026-07-30T19:29:24.952000",
  "compiler": "hypc",
  "compiler_version": "0.0.2+commit.3e18e55d.Emscripten.clang",
  "token_name": "SpikeToken",
  "token_symbol": "SPK",
  "token_decimals": 18,
  "is_qrc20": 1,
  "is_qrc721": 0,
  "is_qrc1155": 0,
  "metadata_status": "ok",
  "tx_count": 0,
  "balance_planck": "",
  "last_seen": "1970-01-01T00:00:00",
  "events_24h": 1,
  "similar_count": 0
}
GET/api/v1/qrl2/contracts/{address}/abiQRL 2.0

ABI-only (lighter than /source)

Just the ABI + verification provenance — for tooling that doesn't need the source body (wallet eth_call builders, type-codegen, etc.).

Path parameters

NameTypeRequiredDefaultDescription
addressstringyes

Response 200 · ContractAbi

addressstringrequired
chainstringrequired
networkstringrequired
verified_atstringrequired
compilerstringrequired
compiler_versionstringrequired
abiobject[]required

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/contracts/<address>/abi" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
Example response
{
  "address": "Q8fb8928dd86629fc6ea9ca41975dbb28a511d2d0",
  "chain": "qrl2",
  "network": "testnet",
  "verified_at": "2026-07-30T19:29:24.952000",
  "compiler": "hypc",
  "compiler_version": "0.0.2+commit.3e18e55d.Emscripten.clang",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "initialSupply",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        "… (1 more)"
      ],
      "name": "Approval",
      "type": "event"
    },
    "… (10 more)"
  ]
}
GET/api/v1/qrl2/contracts/{address}/badgeQRL 2.0

Shareable SVG badge for GitHub READMEs ('Verify on Quantascan')

Returns an SVG badge — meant to be embedded in a token-issuer's GitHub README. Renders 'source verified' (cyan/blue) or 'unverified' (gray) based on the most recent verification row.

Cached publicly for an hour; clients can append a query-string nonce to bust the cache when a freshly-verified contract should show the new state immediately.

Path parameters

NameTypeRequiredDefaultDescription
addressstringyes

Query parameters

NameTypeRequiredDefaultDescription
stylestringnoflatBadge layout.

Response 200 · object

Variable shape — see the example response below.

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/contracts/<address>/badge" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
POST/api/v1/qrl2/contracts/{address}/callQRL 2.0

Proxy qrl_call for a verified view/pure function

Read-only contract call. Requires that the contract has been source-verified (so we have an ABI to gate against), and that the named function is view or pure. State-changing functions are refused — the Write tab handles those.

Path parameters

NameTypeRequiredDefaultDescription
addressstringyes

Request body

function_namestringrequiredABI function name; must exist and be view/pure.
datastringrequiredHex-encoded ABI call data (with 0x prefix).
blockstring | nullBlock tag: 'latest', 'earliest', 'pending', or hex height.

Response 200 · ContractCallResult

function_namestringrequired
function_signaturestringrequiredSolidity-style signature for the called function, e.g. 'balanceOf(address)'.
rawstringrequiredHex-encoded raw `qrl_call` return value (with 0x prefix).
blockstringrequired

Request examples

curl -s -X POST "https://quantascan.io/api/v1/qrl2/contracts/<address>/call" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
GET/api/v1/qrl2/contracts/{address}/clonesQRL 2.0

Other contracts with the same on-chain bytecode_hash

All addresses (besides this one) sharing the same bytecode_hash. Use-case: notice that 20 other contracts run the same bytecode, only one is verified — auto-suggest verification for the rest (admin-only).

Path parameters

NameTypeRequiredDefaultDescription
addressstringyes

Query parameters

NameTypeRequiredDefaultDescription
cursorstring | nullnoPass `next_cursor` from a previous page.
limitintegermin 1 · max 100no20

Response 200 · ContractClones

bytecode_hashstringrequired
itemsContractClone[]
addressstringrequired
chainstringrequired
networkstringrequired
bytecode_hashstringrequired
deployerstringrequired
deployment_blockintegerrequired
is_verifiedbooleanrequired
next_cursorstring | null
totalinteger | null

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/contracts/<address>/clones" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
Example response
{
  "bytecode_hash": "f2d7deeadb426273759c474ff3eb6c5c3df70022d74389497c68e29fd9b0947d",
  "items": [],
  "next_cursor": null
}
GET/api/v1/qrl2/contracts/{address}/logsQRL 2.0

Get Contract Logs

Raw events emitted BY this contract. Decoded transfer events are available via /tokens/{address}/transfers — this endpoint is the "show me everything, decoded or not" escape hatch.

Path parameters

NameTypeRequiredDefaultDescription
addressstringyes

Query parameters

NameTypeRequiredDefaultDescription
pageintegermin 1no1
page_sizeintegermin 1 · max 100no20

Response 200 · ContractLogsList

itemsobject[]
limitinteger | null
offsetinteger | null
addressstring | null

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/contracts/<address>/logs" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
Example response
{
  "items": [
    {
      "block_height": 173934,
      "tx_hash": "0x7757ba180d74a02a33350b143bca0c8ee5a55c912ce8e359cfc24646baf85e2c",
      "log_index": 0,
      "topic0": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
      "topic1": "0x0000000000000000000000000000000000000000000000000000000000000000",
      "topic2": "0x000000000000000000000000edc109a7e31a982023b91f8e2fb46c34ca524f7d",
      "topic3": null,
      "data": "0x00000000000000000000000000000000000000000000003635c9adc5dea00000",
      "timestamp": "2026-07-30T19:22:36",
      "removed": 0
    }
  ],
  "limit": 20,
  "offset": 0,
  "address": "Q8fb8928dd86629fc6ea9ca41975dbb28a511d2d0"
}
GET/api/v1/qrl2/contracts/{address}/sourceQRL 2.0

Verified source + ABI + metadata for a contract

The full verified payload — source files, ABI, compiler settings, match grade, optional metadata. 404 if the address has never been verified.

Path parameters

NameTypeRequiredDefaultDescription
addressstringyes

Response 200 · ContractSource

addressstringrequired
chainstringrequired
networkstringrequired
verified_atstringrequired
compilerstringrequired
compiler_versionstringrequired
optimization_enabledbooleanrequired
optimization_runsintegerrequired
evm_versionstring | null
licensestring | null
main_contractstringrequired
source_filesobjectrequiredpath → source.
abiobject[]required
constructor_args_hexstring | null
librariesobject | null
metadataobject | nullParsed metadata.json from compiler output.
metadata_ipfs_hashstring | null
match_gradestringrequiredunverified | partial | full
creation_bytecode_sha256string | null
runtime_bytecode_sha256string | null
verifier_versionstring | null

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/contracts/<address>/source" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
Example response
{
  "address": "Q8fb8928dd86629fc6ea9ca41975dbb28a511d2d0",
  "chain": "qrl2",
  "network": "testnet",
  "verified_at": "2026-07-30T19:29:24.952000",
  "compiler": "hypc",
  "compiler_version": "0.0.2+commit.3e18e55d.Emscripten.clang",
  "optimization_enabled": true,
  "optimization_runs": 200,
  "evm_version": null,
  "license": null,
  "main_contract": "",
  "source_files": {
    "SampleQrc20.hy": "// SPDX-License-Identifier: MIT\npragma hyperion ^0.0.2;\n\n/// @title Minimal QRC-20 reference fixture for verifier tests.\n/// @notice Implements transfer/approve/balanceOf/totalSupply/transferFrom.\n///…"
  },
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "initialSupply",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        "… (1 more)"
      ],
      "name": "Approval",
      "type": "event"
    },
    "… (10 more)"
  ],
  "constructor_args_hex": null,
  "libraries": null,
  "metadata": {
    "compiler": {
      "version": "0.0.2+commit.3e18e55d"
    },
    "language": "Hyperion",
    "output": {
      "abi": [
        {
          "inputs": [
            "…"
          ],
          "stateMutability": "nonpayable",
          "type": "constructor"
        },
        {
          "anonymous": false,
          "inputs": [
            "…",
            "…",
            "… (1 more)"
          ],
          "name": "Approval",
          "type": "event"
        },
        "… (10 more)"
      ],
      "devdoc": {
        "kind": "dev",
        "methods": {},
        "title": "Minimal QRC-20 reference fixture for verifier tests.",
        "version": 1
      },
      "userdoc": {
        "kind": "user",
        "methods": {},
        "notice": "Implements transfer/approve/balanceOf/totalSupply/transferFrom.         Used by the Phase 0 spike and Phase 1 unit-tests; not for prod use.",
        "version": 1
      }
    },
    "settings": {
      "compilationTarget": {
        "SampleQrc20.hy": "SampleQrc20"
      },
      "libraries": {},
      "metadata": {
        "bytecodeHash": "ipfs"
      },
      "optimizer": {
        "enabled": true,
        "runs": 200
      },
      "remappings": [],
      "zvmVersion": "shanghai"
    },
    "sources": {
      "SampleQrc20.hy": {
        "keccak256": "0xdb8444ef5b33dd5a1243ba192d1c3680df73063a2923b116395c52a8d25e3d16",
        "license": "MIT",
        "urls": [
          "bzz-raw://83e6c5b9c7434ceca1024be38b5f0a03b47ddf29df21353eaa940c1fa9ce5d24",
          "dweb:/ipfs/Qmb3qHj28Dk4bJwhsTFSPYEi7fNvpvSztsxG8ESBZAu8H8"
        ]
      }
    },
    "version": 1
  },
  "metadata_ipfs_hash": "43c9de5937494e5ae648a843db65ba593cf74290cdecbd72d10c1aebed2b9b62",
  "match_grade": "full",
  "creation_bytecode_sha256": "b'28c7dd2d2da248c69b02fa526b4d9a29197f2f2fd5ad879a4f2f87640e0115ba'",
  "runtime_bytecode_sha256": "b'3dcf463b40c1ef0a8edfae6ec66c03cd374e267cdddcbe2e9deed97764df7766'",
  "verifier_version": "0.1.0"
}
POST/api/v1/qrl2/contracts/{address}/verifyQRL 2.0

Submit Hyperion source for verification

Queue a verification job. Returns 202 with job_id you can poll at GET /verify/{job_id}. Live progress is also pushed via the WS channel verify:{address}:{job_id} (subscribe at /api/v1/ws/live).

Per-IP rate limit: 5/min dedicated limit on top of the global one (a submit triggers a sandboxed compile job, not a cheap read). Per-address single-flight: a second submit while one is in-flight returns 409 with the existing job_id so callers poll the live job instead of duplicating work.

Path parameters

NameTypeRequiredDefaultDescription
addressstringyes

Request body

languagestringAlways 'Hyperion'.
compiler_versionstringrequiredhypc version string; must be in HYPC_ALLOWED_VERSIONS.
main_contractstringrequired'<file>:<ContractName>' selector for the contract being verified.
sourcesobjectrequiredMap of file-path → source. Max 25 entries, total 4 MiB.
settingsVerifySettingsStandard-JSON `settings` subset. evmVersion is intentionally absent because hypc 0.0.2 rejects it (probed 2026-05-31 --see docs/verifier/compiler-config.md).
optimizerVerifyOptimizer
enabledboolean
runsinteger
librariesobject | null
constructor_argsstring | nullHex-encoded ABI bytes (without 0x prefix is OK).
licensestring | nullSPDX identifier (MIT, GPL-3.0-only, …). Free-text accepted; UI shows verbatim.

Response 202 · VerifyJobCreated

job_idstringrequired
statusstringrequiredAlways 'pending' on creation.
ws_channelstringrequiredSubscribe to this WS channel for live progress (verify:{addr}:{jobId}).

Request examples

curl -s -X POST "https://quantascan.io/api/v1/qrl2/contracts/<address>/verify" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
GET/api/v1/qrl2/contracts/{address}/verify-hintQRL 2.0

Hints to pre-fill the verify form (compiler version, metadata hash)

Fetches on-chain runtime bytecode via qrl_getCode and inspects the CBOR-tail. Returns a hint payload the verify-form uses to pre-fill compiler-version, surface the embedded metadata-IPFS hash, and warn when an address has no deployed code.

Cached briefly on the client side (revalidate=60 on the verify-page).

Path parameters

NameTypeRequiredDefaultDescription
addressstringyes

Response 200 · any

Variable shape — see the example response below.

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/contracts/<address>/verify-hint" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
GET/api/v1/qrl2/contracts/{address}/verify/{job_id}QRL 2.0

Poll verification status

Latest audit-log + (if completed) the match-grade. Polling-friendly: the response is cheap to compute. Prefer WebSocket subscription for live progress; this endpoint is the fallback for clients without WS.

Path parameters

NameTypeRequiredDefaultDescription
addressstringyes
job_idstringyes

Response 200 · VerifyJobStatus

job_idstringrequired
addressstringrequired
chainstring | null
networkstring | null
statusstringrequiredpending | completed | failed | rejected
progressstring | nullStage hint: 'queued', 'compiling', 'matching', 'writing'.
match_gradestring | nullunverified | partial | full
compiler_versionstring | null
verified_atstring | null
errorsVerifyJobError[]
codestringrequiredWhitelisted error code from verifier (COMPILE_ERROR, TIMEOUT, …).
detailstring | null
diffVerifyJobDiff | null
first_divergence_offsetintegerrequired
expected_hexstringrequiredWindow of expected bytes (≤64 bytes hex).
actual_hexstringrequiredWindow of actual on-chain bytes (≤64 bytes hex).

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/contracts/<address>/verify/<job_id>" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
GET/api/v1/qrl2/contracts/by-deployer/{deployer}QRL 2.0

List By Deployer

All contracts ever deployed by a given QRL2 EOA. Useful for proving authorship: "wallet X deployed these N tokens".

Path parameters

NameTypeRequiredDefaultDescription
deployerstringyes

Query parameters

NameTypeRequiredDefaultDescription
pageintegermin 1no1
page_sizeintegermin 1 · max 100no50

Response 200 · ContractsPaginated

itemsContractRow[]
addressstringrequired
deployerstring | null
deployment_txstring | null
deployment_blockinteger | null
bytecode_hashstring | null
created_atstring | null
is_verifiedboolean | null
compilerstring | null
compiler_versionstring | null
optimization_enabledinteger | null
optimization_runsinteger | null
licensestring | null
match_gradestring | null
verified_atstring | null
main_contractstring | null
token_namestring | null
token_symbolstring | null
token_decimalsinteger | null
is_qrc20integer | null
is_qrc721integer | null
is_qrc1155integer | null
tx_countinteger | null
balance_planckstring | null
last_seenstring | null
events_24hinteger | null
similar_countinteger | null
totalinteger | null
limitinteger | null
offsetinteger | null
networkstring | null

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/contracts/by-deployer/<deployer>" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
Example response
{
  "items": [
    {
      "address": "Q8fb8928dd86629fc6ea9ca41975dbb28a511d2d0",
      "deployment_tx": "0x7757ba180d74a02a33350b143bca0c8ee5a55c912ce8e359cfc24646baf85e2c",
      "deployment_block": 173934,
      "bytecode_hash": "f2d7deeadb426273759c474ff3eb6c5c3df70022d74389497c68e29fd9b0947d",
      "created_at": "2026-07-30T19:22:36"
    }
  ],
  "total": 1,
  "limit": 50,
  "offset": 0,
  "deployer": "Qedc109a7e31a982023b91f8e2fb46c34ca524f7d"
}
GET/api/v1/qrl2/contracts/recentQRL 2.0

List Recent Contracts

Recently-deployed contracts with inline token-metadata.

Same shape as /contracts/ but filtered to deployments within the look-back window AND joined with token-metadata so the frontend can show "is this a QRC-20 / -721 / -1155 launch?" without a second call.

Wave 6: ?hours=N?window=24h (D4 duration).

Powers a "New contracts (24h)" homepage widget.

Query parameters

NameTypeRequiredDefaultDescription
pageintegermin 1no1
page_sizeintegermin 1 · max 100no20
windowstringno24hLook-back window for the /contracts/recent feed. Default 24h. Examples: 1h, 24h, 7d, 30d.

Response 200 · ContractsPaginated

itemsContractRow[]
addressstringrequired
deployerstring | null
deployment_txstring | null
deployment_blockinteger | null
bytecode_hashstring | null
created_atstring | null
is_verifiedboolean | null
compilerstring | null
compiler_versionstring | null
optimization_enabledinteger | null
optimization_runsinteger | null
licensestring | null
match_gradestring | null
verified_atstring | null
main_contractstring | null
token_namestring | null
token_symbolstring | null
token_decimalsinteger | null
is_qrc20integer | null
is_qrc721integer | null
is_qrc1155integer | null
tx_countinteger | null
balance_planckstring | null
last_seenstring | null
events_24hinteger | null
similar_countinteger | null
totalinteger | null
limitinteger | null
offsetinteger | null
networkstring | null

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/contracts/recent" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
Example response
{
  "items": [
    {
      "address": "Q8fb8928dd86629fc6ea9ca41975dbb28a511d2d0",
      "deployer": "Qedc109a7e31a982023b91f8e2fb46c34ca524f7d",
      "deployment_tx": "0x7757ba180d74a02a33350b143bca0c8ee5a55c912ce8e359cfc24646baf85e2c",
      "deployment_block": 173934,
      "created_at": "2026-07-30T19:22:36",
      "token_name": "SpikeToken",
      "token_symbol": "SPK",
      "token_decimals": 18,
      "is_qrc20": 1,
      "is_qrc721": 0,
      "is_qrc1155": 0
    }
  ],
  "total": 1,
  "limit": 20,
  "offset": 0,
  "network": "testnet",
  "window_hours": 24
}
GET/api/v1/qrl2/contracts/stats/summaryQRL 2.0

Contracts Summary

KPI bundle for the /smart-contracts hub hero strip — 4 counts: total_deployed, deployed_24h, active_24h, token_contracts.

Server-side cached (repo @cached(ttl=60)) so N concurrent hero loads collapse to one ClickHouse query per minute; the response also carries a matching Cache-Control so browser/CDN avoid re-fetching within the window.

Response 200 · ContractsSummary

networkstring | null
total_deployedinteger
deployed_24hinteger
active_24hinteger
token_contractsinteger

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/contracts/stats/summary" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
Example response
{
  "network": "testnet",
  "total_deployed": 125,
  "deployed_24h": 1,
  "active_24h": 1,
  "token_contracts": 59
}

All endpoints verified against a live indexer. Need the raw spec? See openapi.json or the API overview.