Skip to main content
The REST API is the simplest way to pull data from ChainStream. Every data product is exposed as a JSON endpoint, with the same authentication and error envelope.

Base URL

https://api.chainstream.io

Authentication

Include one of:
-H "Authorization: Bearer $CHAINSTREAM_API_KEY"
# or OAuth token
-H "Authorization: Bearer $OAUTH_TOKEN"
# or x402 micropayment (see Platform / Billing)
-H "X-PAYMENT: <signed payload>"
See Authentication for the full matrix.

First request

curl -H "Authorization: Bearer $CHAINSTREAM_API_KEY" \
  "https://api.chainstream.io/v2/token/search?chain=sol&keyword=USDC&limit=5"

When to use

  • Single lookups, snapshots, server-rendered pages
  • Any workload where sub-second latency isn’t critical
  • Pairing with WebSocket (REST for history, WS for live)
  • Agent tool-calls where each invocation maps to one endpoint
When not to: high-frequency streaming workloads (use WebSocket or Kafka) and multi-product JOINs (use GraphQL).

Conventions

  • Pagination: limit + cursor (cursor-based) on list endpoints
  • Rate limits: per-plan; see response headers X-RateLimit-Remaining, X-RateLimit-Reset
  • Errors: RFC 7807-style JSON with code, message, requestId

Next

API Reference

Every REST endpoint with request/response examples.

SDKs

Typed REST wrappers for TS / Py / Go / Rust.

Rate limits

Per-plan throughput and how to plan for it.

Authentication

API keys, OAuth, wallet-auth, x402.