Starkscan

Build

Choose the right Starkscan integration surface for code and automation.

Build

Choose the Starkscan surface by job.

Public clients and agents should treat this docs host as the source of truth for install names, launch state, and package trust. Do not depend on repository links or package metadata alone for public onboarding.

Surface map

If you need...Use...
exact HTTP contract, auth, retries, paginationREST API
typed application codeTypeScript SDK
shell workflows or local exportsAgent CLI
tool-calling access for an agentMCP

Start here

Public labels

SurfacePublic labelUse it when
REST core APIcertifiedYou need the exact wire contract and the production-safe certified route set.
TypeScript SDKstableYou want typed application code over the same hosted REST contract with default @starkscan/sdk installs.
Agent CLIstableYou want shell workflows, JSON output, or local exports with default @starkscan/cli installs.
Hosted MCPhosted beta / stable launcherYour client already speaks MCP and should use https://api.starkscan.co/mcp or the app-origin {appBaseUrl}/api/mcp transport with the current @starkscan/mcp launcher, pinning @starkscan/[email protected] when reproducibility matters.

Shared env

export STARKSCAN_API_KEY="YOUR_STARKSCAN_API_KEY"
export STARKSCAN_CHAIN="SN_MAIN"
# Optional: only set this for preview or self-hosted hosts.
# export STARKSCAN_BASE_URL="https://preview.example.com"

All build surfaces use the same hosted contract underneath. Production defaults to https://api.starkscan.co; override STARKSCAN_BASE_URL only for preview or self-hosted hosts.

Agent-readable files

Client rules

  • always send X-Starkscan-Api-Key
  • treat 401 as missing or invalid credentials
  • treat 403 as a real scope or route-tier mismatch
  • treat 429 as a route-class budget hit and honor Retry-After
  • honor Retry-After on 503
  • log X-Request-Id
  • do not assume hidden /v1/* app routes are external

Pagination

High-cardinality routes are cursor-based.

Expect:

  • bounded limit parameters
  • items arrays
  • nextCursor when another page exists
  • repeated query parameters where documented, for example multiple address= filters on token transfers

Representative routes:

  • GET /v1/{chain}/address/{address}/activity?limit=50
  • GET /v1/{chain}/token/{token}/transfers?address=0xA&address=0xB&limit=100

Concurrency

Treat the hosted /api lane as a bounded external service:

  • keep concurrency bounded
  • page deliberately
  • honor Retry-After
  • prefer incremental monitoring loops over chain-scale refetches

For multi-wallet monitoring, use Monitor 10 wallets.

On this page