Introduction

The DC Explorer API is a public REST surface over Datachain Rope (chainId 271828). All endpoints return JSON and are CORS-enabled. Responses use the Quipu Primitive Canon vocabulary: cord anchors (block-equivalents), strings (per-entity ledgers), and knots (individually addressable events).

Base URL: https://dcscan.io/api/v1 # Anyone can call the API. Identified traffic (X-API-Key) gets an auditable # usage trail and priority when rate-limit tiers activate. curl -s https://dcscan.io/api/v1/stats

API Keys

API keys are minted by authenticated users through Datachain ID — sign in with your Datawallet+ credentials or prove ownership of your wallet key (EIP-191 signature). Keys are shown once at creation; only a hash is stored server-side. Up to 5 active keys per identity.

Using your key

Send the key as an X-API-Key header on any endpoint. Verify it (and read your usage counters) at any time:

# attach the key to any API call curl -s -H "X-API-Key: dcsk_…" https://dcscan.io/api/v1/stats # check validity + usage counters curl -s -H "X-API-Key: dcsk_…" https://dcscan.io/api/v1/keys/verify
POST/keysMint a key (Bearer Datachain ID token)
GET/keysList your keys, masked
DELETE/keys/{id}Revoke a key
GET/keys/verifyValidate an X-API-Key

Stats & Network

GET/statsCord anchors, transactions, events, entity knots, FAT price
GET/stats/charts/{chart_type}Time-series chart data
GET/statusService + RPC health
GET/dcfat/priceCanonical DC FAT price (DCSwap VWAP)
GET/gas/oracleGas price oracle
GET/validatorsActive validator set
GET/ai-agentsCanonical AI testimony agents
GET/testimoniesAI agent testimonies
GET/ecosystem/directoryEcosystem Deployment Console public directory

Strings & Knots

Cord anchor knots (block-equivalents) and their contents.

GET/stringsList cord anchors (paginated)
GET/strings/latestMost recent anchors
GET/strings/{id}One anchor by index or hash
GET/search?q=…Address / tx / anchor / token search

Transactions

GET/transactionsList transactions (paginated)
GET/transactions/latestMost recent transactions
GET/transactions/{hash}Transaction by hash
GET/tokentxnsDCR-20 transfer events

Accounts

GET/accounts/{address}Balance, nonce, code, labels
GET/accounts/{address}/transactionsAccount tx history
GET/accounts/{address}/tokensDCR-20 balances
GET/accounts/{address}/nftsERC-721 (DCNFT) holdings
GET/accounts/topTop accounts by balance

Tokens & NFTs

GET/tokensDCR-20 token list
GET/tokens/{address}Token details
GET/tokens/{address}/holdersHolder list (full-history index)
GET/tokens/{address}/transfersTransfer history
GET/nfts/{address}/tokensERC-721 tokenId inventory
GET/tanastok/assetsTanastok tokenized-asset registry

Registry (Quipu Canon v1.2)

Per-entity strings across all kinds: wallet, contract, asset, did, organization, application, ecosystem, partner, cord.

GET/registry/statsPer-kind counts + invariant
GET/registry/strings?kind=…Paginated, kind-filtered strings
GET/registry/labels?kind=…Entity label map (1,626+ entities)
GET/registry/manifestFull entity manifest mirror

JSON-RPC Proxy

Same-origin proxy to the rope-node RPC — accepts every rope_* and eth_* method, so browser apps avoid a CORS preflight to erpc.datachain.network.

POST/api/rpcJSON-RPC body forwarded verbatim
curl -s -X POST https://dcscan.io/api/rpc \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"rope_globalStats","params":[]}'