Silver
- 1 request per minute
- 1,000 requests per day
- Authenticated commercial access
- Read-only API endpoints
- Public documentation and OpenAPI
Read market snapshots and on-chain activity through a consistent JSON contract. Build dashboards, analytics and monitoring tools without operating your own indexer.
Contact TCP Labs to discuss access and commercial terms. These plans differ by request quotas, not by endpoint coverage.
The Supra Core documentation and OpenAPI specification are public. The API service is commercial and authenticated: every request, including health, requires a valid API key associated with enabled access. Available plans, permitted usage and commercial terms are agreed separately with TCP Labs.
Use the public contract to evaluate an integration before requesting access. The service is read-only: it does not execute trades, sign transactions, manage wallets or hold assets. Bots using it should be limited to monitoring, analytics and notifications.
All routes below use GET. FA and Legacy event lists remain separate; farm events are included in liquidity-event responses.
| Route | Use |
|---|---|
/api/v1/health | Service status, indexing progress and market freshness. |
/api/v1/market/current | Current token market listing. |
/api/v1/market/pair | One exact token/quote pair. |
/api/v1/candles | Persisted event-driven candle buckets. |
/api/v1/chart/token | Chart-ready history with explicit synthetic carry-forward points. |
/api/v1/fa/swaps | FA normalized swap events. |
/api/v1/legacy/swaps | Legacy normalized swap events. |
/api/v1/fa/liquidity-events | FA pool and farm events, including token filtering. |
/api/v1/legacy/liquidity-events | Legacy liquidity events, including token filtering. |
/api/v1/fa/burn-events | Supported, normalized FA burn events. |
Keep DECIMAL prices and amounts as exact strings. Preserve unavailable values and their reasons; an empty successful response is not an error. For USD displays, use change_24h_usd_pct, not the separate pair-denominated change. Carry-forward chart points do not make an inactive market fresh. Consult each endpoint's contract for filters, pagination and evidence fields.
Send either X-API-Key or Authorization: Bearer. Keep service keys on your own backend, not in a public browser bundle or URL. In database-authenticated access, the key, client and plan must be enabled; expiry and permitted client IPs are checked.
The example reads the service base URL and key from your local environment. TCP Labs supplies the service address with access details. It does not contact the API from this page.
curl --get "${SUPRA_CORE_API_BASE_URL}/api/v1/market/current" \
--header "X-API-Key: ${SUPRA_CORE_API_KEY}" \
--data-urlencode "network=mainnet" \
--data-urlencode "limit=20" \
--data-urlencode "offset=0"
Successful responses use ok: true with data and meta. Errors use ok: false with an error object containing code and message. Invalid parameters return 400, rejected authentication 401, an unknown route 404 and an unsupported method 405.
Request limits are assigned to your enabled plan. The implemented rate limiter counts requests in fixed minute and UTC-day windows for each API key and client IP. Exceeding either allowance returns 429 with RATE_LIMITED. Counts include rate-limited attempts; a new time window starts a fresh counter. These are window allowances, not a required delay between individual requests.
burst_limit is informational in the current contract: it is not an enforced concurrent-request limit or a separate burst counter. Do not infer additional capacity from it. A Retry-After header is not guaranteed.
Read the full API documentation for all parameters, examples and response contracts.
On 429, reduce load and retry later with bounded backoff and jitter. Cache shared reads and coordinate workers. Do not retry invalid parameters or rejected keys unchanged. Pagination limits control rows, not request allowances: market and event listings cap page size at 500, while candle and chart routes have their own documented limits.