# Blueprint Canton Chain API — ccscan.xyz Full-history Canton Network chain data over one read-only REST API. Every Canton Coin transaction since genesis (June 2024), indexed on Blueprint's validator infrastructure with per-party resolution, plus live pass-through to the SV Scan API for balances/holdings/ANS/network. Base URL: https://ccscan.xyz Spec: https://ccscan.xyz/openapi.json (OpenAPI 3.1) Docs: https://ccscan.xyz/docs/ Explorer: https://ccscan.xyz/api-docs/ ## Auth & rate limits Browsing is anonymous (~120 req/min per IP). Authenticate with an API key — `Authorization: Bearer ` or `X-API-Key: ` — for a plan: Free (300 req/min), Pro (3,000), Enterprise (30,000). See GET /api/plans. Every response has RateLimit-Limit / RateLimit-Remaining / RateLimit-Reset headers; over-limit => 429 + Retry-After, invalid key => 401. Keys from https://theblueprint.xyz. ## Endpoints (all GET, JSON) /api/plans rate-limit tiers + how to authenticate /api/overview chain head, totals, 24h count, 12 newest txs /api/txs?before_seq&type&round&day&limit global feed, newest-first, cursor-paginated /api/tx/{seq-or-event-id} one tx with full financial detail /api/party/search?q= substring search over ~400k parties /api/party/{party}/summary first/last activity, tx count, ANS name /api/party/{party}/txs?after_seq|before_seq&type&limit complete per-party history with roles /api/party/{party}/balance live CC balance (ACS snapshot, decimal strings) /api/party/{party}/holdings?after= active holding contracts /api/round/{n}?before_seq&limit mining-round detail + txs /api/ans?prefix&page_size Canton Name Service directory /api/network DSO, super validators, AmuletRules config, versions /api/stats/daily per-day counts + CC volume from genesis (backfilling) /api/stats/recent?days=14 always-current trailing daily counts /api/price CC price/mcap/24h change (CoinGecko) /api/search?q= classifier: seq | round | event id | party | ANS name /healthz liveness ## Pagination Monotonic integer `seq` cursor. Newest-first: pass before_seq (0 = newest), chain next_before_seq. Oldest-first (party history): pass after_seq (0 = genesis), chain next_after_seq. count: 0 = range exhausted. limit max 100. after_seq and before_seq are mutually exclusive (400 if both). ## Notes for agents - Party ids are `name::fingerprint`; URL-encode in paths. - tx_type: transfer | mint | tap | abort_transfer_instruction. Transfers carry `kind` (transfer_kind); zero-value automation transfers have no receivers. - amount is a JSON number headline; detail/balance amounts are 10-dp decimal strings for accounting-grade use. - Errors: 400 invalid param, 404 not found, 502 scan upstream, 503 with building:true while a supporting index builds. - Freshness: index typically seconds behind head (see ingest_cursor_at in /api/overview). Commercial access, SLAs, dedicated capacity: https://theblueprint.xyz