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, pagination | REST API |
| typed application code | TypeScript SDK |
| shell workflows or local exports | Agent CLI |
| tool-calling access for an agent | MCP |
Start here
- API guide
- Launch matrix
- Package trust
- Agent HTTP quickstart
- Rate limits
- API reference
- TypeScript SDK
- Agent CLI
- Monitor 10 wallets
Public labels
| Surface | Public label | Use it when |
|---|---|---|
| REST core API | certified | You need the exact wire contract and the production-safe certified route set. |
| TypeScript SDK | stable | You want typed application code over the same hosted REST contract with default @starkscan/sdk installs. |
| Agent CLI | stable | You want shell workflows, JSON output, or local exports with default @starkscan/cli installs. |
| Hosted MCP | hosted beta / stable launcher | Your 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
public-client-surface-matrix.jsontells agents the machine launch state, package channel, and evidence for RPC, REST, SDK, CLI, and MCP surfaces.starkscan-openapi.yamlis the public HTTP contract./llms.txtand/llms-full.txtexpose the docs map for LLM crawlers.
Client rules
- always send
X-Starkscan-Api-Key - treat
401as missing or invalid credentials - treat
403as a real scope or route-tier mismatch - treat
429as a route-class budget hit and honorRetry-After - honor
Retry-Afteron503 - log
X-Request-Id - do not assume hidden
/v1/*app routes are external
Pagination
High-cardinality routes are cursor-based.
Expect:
- bounded
limitparameters itemsarraysnextCursorwhen 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=50GET /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.