Skip to main content
GET /api/v1/tokens/{chain}/{address}
Read token identity and market facts from OceanX’s existing native snapshot reader. This endpoint requires a bearer API key with md.read. Every request consumes the existing REST key allowance, including a cache hit. Responses use Cache-Control: no-store.

Request

Unknown or repeated query parameters are rejected. URLs must be at most 8 KiB. This read does not start vendor enrichment, page-open history work or LP probing.

Response

Example captured from production on 2026-10-14 (wrapped SOL; account identifiers redacted):
The response is {data, meta}. meta includes requestId, chain and methodVersion. data.address is the requested canonical address. Observation status is known, partial, stale or unavailable. staleAfterMs is a duration from observedAtMs; either may be null when the source does not establish freshness. Fetching a cached object does not renew its source clock. Snapshot display observations preserve the producer’s original field clocks and retained stale state. Their freshness threshold is thirty seconds. Fresh display observations remain partial when complete population or economic coverage is not certified. The current snapshot’s floating-point market scalars are not converted into claimed exact decimals. Those fields remain null until the source provides exact strings. Window buy/sell counts and economic volume also remain unavailable until their public semantics are qualified. Execution-leg counts and volume are not relabeled as deduplicated transactions or economic volume. A known zero differs from an unavailable value: unavailable fields are null and carry a coverage reason. The server shares summary source reads for up to two seconds and risk reads for up to thirty seconds within each process. Authorization and rate limiting happen before those caches.

Errors

Errors use {error:{code,message},requestId}. Responses include X-Request-Id; rate-admitted responses retain the usual X-RateLimit-* headers.