Skip to content
QuantascanAlpha
Browse API groups

Wallets API

Wallet-level aggregates: portfolio views, activity and holdings over time.
GET/api/v1/{chain}/wallets/QRL 2.0QRL (PoW)

List Wallets

Paginated wallet registry. Sentinels excluded by default — set include_sentinel=true to see the coinbase and zero-address rows.

Query parameters

NameTypeRequiredDefaultDescription
pageintegermin 1no1
page_sizeintegermin 1 · max 100no20
address_typestring | nullnoFilter: eoa | contract | validator | qrl_master | qrl_slave | coinbase | zero_address
include_sentinelbooleannofalseInclude sentinels (coinbase / zero-address) in results

Response 200 · WalletsPaginated

itemsWalletDetail[]
chainstringrequired
networkstringrequired
addressstringrequired
address_typestring | null
is_sentinelboolean | null
first_seen_atstring | null
last_seen_atstring | null
tx_count_outinteger | null
tx_count_ininteger | null
is_contractboolean | null
is_validatorboolean | null
wallet_classstring | null
wallet_class_methodstring | null
wallet_class_reasonstring | null
is_deployerboolean | null
signature_schemestring | null
totalinteger | null
limitinteger | null
offsetinteger | null
has_nextboolean | null
has_prevboolean | null

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/wallets/" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
Example response
{
  "items": [
    {
      "address": "Qc2ad78a527f1038df0e54cece9656bf8160bcb14",
      "address_type": "eoa",
      "is_sentinel": 0,
      "is_contract": 0,
      "is_validator": 0,
      "first_seen_height": 21846,
      "first_seen_at": "2026-04-16T04:34:36",
      "last_seen_height": 162929,
      "last_seen_at": "2026-07-23T03:57:36",
      "tx_count_out": 339,
      "tx_count_in": 3
    },
    {
      "address": "Q6281a51bf56105376acecaf72ee15c11e84380fe",
      "address_type": "contract",
      "is_sentinel": 0,
      "is_contract": 1,
      "is_validator": 0,
      "first_seen_height": 149587,
      "first_seen_at": "2026-07-13T21:35:36",
      "last_seen_height": 161386,
      "last_seen_at": "2026-07-22T02:14:36",
      "tx_count_out": 0,
      "tx_count_in": 291
    },
    "… (18 more)"
  ],
  "total": 406,
  "limit": 20,
  "offset": 0,
  "chain": "qrl2",
  "network": "testnet"
}
GET/api/v1/{chain}/wallets/{address}QRL 2.0QRL (PoW)

Get Wallet

Wallet identity. Per Q2 design: thin — does NOT include tokens / txs / contracts inline; client calls dedicated sub-endpoints for those. Use /summary if you want the dashboard-bundle.

Path parameters

NameTypeRequiredDefaultDescription
addressstringyes

Response 200 · WalletDetail

chainstringrequired
networkstringrequired
addressstringrequired
address_typestring | null
is_sentinelboolean | null
first_seen_atstring | null
last_seen_atstring | null
tx_count_outinteger | null
tx_count_ininteger | null
is_contractboolean | null
is_validatorboolean | null
wallet_classstring | null
wallet_class_methodstring | null
wallet_class_reasonstring | null
is_deployerboolean | null
signature_schemestring | null

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/wallets/<address>" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
Example response
{
  "address": "Qedc109a7e31a982023b91f8e2fb46c34ca524f7d",
  "address_type": "eoa",
  "is_sentinel": 0,
  "is_contract": 0,
  "is_validator": 0,
  "public_key": "",
  "master_addr": "",
  "first_seen_height": 87624,
  "first_seen_at": "2026-05-31T20:52:36",
  "last_seen_height": 173934,
  "last_seen_at": "2026-07-30T19:22:36",
  "tx_count_out": 3,
  "tx_count_in": 1,
  "wallet_class": "others",
  "wallet_class_method": "structural",
  "wallet_class_reason": "",
  "is_deployer": 0,
  "signature_scheme": "ML-DSA-87"
}
GET/api/v1/{chain}/wallets/{address}/reputationQRL 2.0QRL (PoW)

Wallet Reputation

0-100 trust score + signal-flags for an address.

Combines:

  • age (first_seen_at)
  • tx volume / in:out ratio
  • infinite-approval count (qrl2 only)
  • label signals (official / scam)
  • validator status

Returns the underlying signals + per-flag weight + message so the UI can render a "why" tooltip — the score alone is intentionally advisory, never used to block actions on the chain.

Path parameters

NameTypeRequiredDefaultDescription
addressstringyes

Response 200 · WalletReputation

addressstringrequired
chainstringrequired
networkstringrequired
scoreintegerrequired
classificationstringrequired
flagsobject[]
signalsobject

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/wallets/<address>/reputation" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
Example response
{
  "address": "Qedc109a7e31a982023b91f8e2fb46c34ca524f7d",
  "chain": "qrl2",
  "network": "testnet",
  "score": 50,
  "classification": "neutral",
  "flags": [],
  "signals": {
    "age_days": 60,
    "tx_count_out": 3,
    "tx_count_in": 1,
    "total_received": "1000000000000000000000",
    "total_sent": "0",
    "in_out_ratio": 0,
    "infinite_approvals_count": 0,
    "has_official_label": false,
    "has_scam_label": false,
    "is_validator": false,
    "is_contract": false
  }
}
GET/api/v1/{chain}/wallets/{address}/summaryQRL 2.0QRL (PoW)

Wallet Summary

Dashboard-widget bundle. Single round-trip for the wallet page header (identity + counts + related-address count). For deep lists call the sub-endpoints.

Path parameters

NameTypeRequiredDefaultDescription
addressstringyes

Response 200 · WalletSummary

Variable shape — see the example response below.

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/wallets/<address>/summary" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
Example response
{
  "address": "Qedc109a7e31a982023b91f8e2fb46c34ca524f7d",
  "address_type": "eoa",
  "is_sentinel": 0,
  "is_contract": 0,
  "is_validator": 0,
  "public_key": "",
  "master_addr": "",
  "first_seen_height": 87624,
  "first_seen_at": "2026-05-31T20:52:36",
  "last_seen_height": 173934,
  "last_seen_at": "2026-07-30T19:22:36",
  "tx_count_out": 3,
  "tx_count_in": 1,
  "wallet_class": "others",
  "wallet_class_method": "structural",
  "wallet_class_reason": "",
  "is_deployer": 0,
  "signature_scheme": "ML-DSA-87",
  "related_addresses_count": 0
}
GET/api/v1/{chain}/wallets/{address}/tokensQRL 2.0QRL (PoW)

Wallet Tokens

QRL2 token-portfolio: every non-zero QRC-20 balance with display values. Aliased from /addresses/{addr}/tokens for discoverability.

Path parameters

NameTypeRequiredDefaultDescription
addressstringyes

Response 200 · WalletTokensList

itemsobject[]
addressstring | null
networkstring | null

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/wallets/<address>/tokens" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
Example response
{
  "items": [
    {
      "token_contract": "Q8fb8928dd86629fc6ea9ca41975dbb28a511d2d0",
      "token_name": "SpikeToken",
      "token_symbol": "SPK",
      "token_decimals": 18,
      "balance_raw": "1000000000000000000000",
      "balance_display": "1000",
      "total_received_raw": "1000000000000000000000",
      "total_received_display": "1000",
      "transfer_count": 1,
      "last_activity": "2026-07-30T19:22:36",
      "first_activity": "2026-07-30T19:22:36"
    },
    {
      "token_contract": "Q83242a8fde6429aa53e050aefb03c0382a495df3",
      "token_name": "Quantum safe NFT",
      "token_symbol": "Qnft",
      "token_decimals": 1,
      "balance_raw": "19950",
      "balance_display": "1995",
      "total_received_raw": "20000",
      "total_received_display": "2000",
      "transfer_count": 2,
      "last_activity": "2026-06-01T19:17:36",
      "first_activity": "2026-06-01T18:12:36"
    }
  ],
  "holder": "Qedc109a7e31a982023b91f8e2fb46c34ca524f7d"
}
GET/api/v1/{chain}/wallets/classification-distributionQRL 2.0QRL (PoW)

Classification Distribution

Entity-class breakdown of the wallet population (mig 080) — backs the /charts/wallet-types chart. One bucket per class (others / miner / miningpool / stakingpool / staker / exchange / contract / foundation / burn) with count + share. Empty list if the classification job hasn't been run on this deploy yet.

Response 200 · WalletClassDistribution

itemsWalletClassBucket[]
wallet_classstringrequired
wallet_countintegerrequired
sharenumberrequired
totalinteger
chainstring | null
networkstring | null

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/wallets/classification-distribution" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
Example response
{
  "items": [
    {
      "wallet_class": "others",
      "wallet_count": 406,
      "share": 1
    }
  ],
  "total": 406,
  "chain": "qrl2",
  "network": "testnet"
}
GET/api/v1/{chain}/wallets/signature-scheme-distributionQRL 2.0QRL (PoW)

Signature Scheme Distribution

Post-quantum signature-scheme breakdown of the key-holding wallet population — % wallets and % coins per type. Buckets: XMSS (qrl), ML-DSA-87 (qrl2 addresses that have signed), and 'unknown' (qrl2 receive-only addresses with no observable scheme yet). Sentinels and contracts are excluded. Empty list (graceful) if the source views are missing on this deploy.

Response 200 · WalletSchemeDistribution

itemsWalletSchemeBucket[]
schemestringrequired
wallet_countintegerrequired
wallet_sharenumberrequired
coinsnumberrequired
coins_sharenumberrequired
total_walletsinteger
total_coinsnumber
chainstring | null
networkstring | null

Request examples

curl -s "https://quantascan.io/api/v1/qrl2/wallets/signature-scheme-distribution" \
  -H "Authorization: Bearer qs_YOUR_API_KEY"
Example response
{
  "items": [
    {
      "scheme": "ML-DSA-87",
      "wallet_count": 187,
      "wallet_share": 0.6678571428571428,
      "coins": 79749230.4840526,
      "coins_share": 0.9939304685717504
    },
    {
      "scheme": "unknown",
      "wallet_count": 93,
      "wallet_share": 0.33214285714285713,
      "coins": 486996.3001509,
      "coins_share": 0.0060695314282497815
    }
  ],
  "total_wallets": 280,
  "total_coins": 80236226.78420348,
  "chain": "qrl2",
  "network": "testnet"
}

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