Browse API groups
Address Names API
/api/v1/{chain}/names/{address}QRL 2.0QRL (PoW)Name For Address
The display name for one address.
Always returns a name. An address we have never indexed still gets its
computed candidate, flagged with assigned: false.
Path parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| address | string | yes | — |
Response 200 · AddressName
addressstringrequiredchainstringrequirednamestringrequiredsourcestringrequired'official_label' or 'nickname'categorystring | nullLabel category when source='official_label'nicknamestringrequiredThe auto-generated name, regardless of sourceassignedbooleanrequiredTrue when this nickname is recorded in the registry. False means the address is not indexed yet and this is the computed candidate — correct for ~99.99% of addresses, but not yet collision-arbitrated.attemptinteger0 unless an earlier address already claimed this candidateruleset_versionstringrequiredRequest examples
curl -s "https://quantascan.io/api/v1/qrl2/names/<address>" \
-H "Authorization: Bearer qs_YOUR_API_KEY"/api/v1/{chain}/names/directoryQRL 2.0QRL (PoW)Label Directory
All curated Quantascan labels for the chain — fetch once, join locally.
Query parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| limit | integermin 1 · max 10000 | no | 2000 | |
| offset | integermin 0 | no | 0 |
Response 200 · LabelDirectory
▸itemsLabelDirectoryItem[]
itemsLabelDirectoryItem[]addressstringrequiredlabelstringrequiredcategorystringrequiredtotalintegerchainstringrequiredRequest examples
curl -s "https://quantascan.io/api/v1/qrl2/names/directory" \
-H "Authorization: Bearer qs_YOUR_API_KEY"/api/v1/{chain}/names/exceptionsQRL 2.0QRL (PoW)Nickname Exceptions
Addresses whose name differs from the published algorithm's first output.
Apply these on top of a local implementation of /nicknames/v1/SPEC.md and your names become identical to ours, not merely almost identical.
SYNCING EFFICIENTLY
The list is append-only, so you never have to re-download it: keep the
as_of from your last response and send it as since. Combined with the
ETag below, a poll that finds nothing new costs one 304 and no body.
Query parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| since | string | null | no | — | ISO-8601 timestamp — return only entries added after it. Pass back the `as_of` from your previous response for an incremental sync. |
| limit | integermin 1 · max 20000 | no | 5000 | |
| offset | integermin 0 | no | 0 |
Response 200 · NicknameExceptionsList
▸itemsNicknameException[]
itemsNicknameException[]chainstringrequirednetworkstringrequiredaddressstringrequirednicknamestringrequiredattemptintegerrequiredassigned_atstring | nulltotalintegerruleset_versionstringrequiredas_ofstring | nullHigh-water mark. Pass it back as `since` on the next poll to fetch only what was added in between.Request examples
curl -s "https://quantascan.io/api/v1/qrl2/names/exceptions" \
-H "Authorization: Bearer qs_YOUR_API_KEY"/api/v1/{chain}/names/resolveQRL 2.0QRL (PoW)Resolve Names
Resolve display names for many addresses in one call.
One request = one metered API call, so a view with thousands of wallets costs a handful of calls rather than thousands.
Response 200 · AddressNamesList
▸itemsAddressName[]
itemsAddressName[]addressstringrequiredchainstringrequirednamestringrequiredsourcestringrequired'official_label' or 'nickname'categorystring | nullLabel category when source='official_label'nicknamestringrequiredThe auto-generated name, regardless of sourceassignedbooleanrequiredTrue when this nickname is recorded in the registry. False means the address is not indexed yet and this is the computed candidate — correct for ~99.99% of addresses, but not yet collision-arbitrated.attemptinteger0 unless an earlier address already claimed this candidateruleset_versionstringrequiredcountintegerRequest examples
curl -s -X POST "https://quantascan.io/api/v1/qrl2/names/resolve" \
-H "Authorization: Bearer qs_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"addresses":["Qc0e6dd0e844e0048dcb0bd3fdcc44a970beca38d"]}'All endpoints verified against a live indexer. Need the raw spec? See openapi.json or the API overview.