REST API
Request/response lookups for metadata, prices, mint trade history, creations, graduations, and launchpad stats. Auth with an API key. All responses are structured JSON.
Base URL
https://api.anaxer.comExample request
curl "https://api.anaxer.com/v1/tokens/EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm/trades?source=pump_fun&limit=20" \
-H "Authorization: Bearer YOUR_KEY"Endpoints
/v1/tokens/:mintToken Metadata
Lean metadata for an observed mint: name, symbol, UI supply, and socials. Trade-only mints resolve on demand (first hit may be slower). Never-observed mints return 404.
/v1/tokens/batchToken Metadata (Batch)
Up to 50 unique mints in one request. Each unique mint counts as one request against your monthly quota; the call counts as 1 against the per-minute burst limit (see X-Request-Cost). Never-observed mints are omitted. Missing/incomplete observed mints resolve on demand in a single upstream batch. Same lean shape as the single-mint endpoint. No next or window.
/v1/tokens/:mint/priceToken Price
Latest USD and SOL price for a mint (Redis). Absent → 404. SOL (So111…112) returns the SOL/USD rate with source "internal" and price.sol 1.
/v1/tokens/batch/priceToken Price (Batch)
Up to 50 unique mints. Each unique mint counts as one request against your monthly quota; the call counts as 1 against the per-minute burst limit (see X-Request-Cost). Missing prices are omitted (not errored). Same PriceUpdateV1 shape as the single-mint endpoint. No next or window.
/v1/tokens/:mint/tradesToken Trades
Trade history for a single mint (either swap leg — from or to), newest first. Includes token↔token swaps when present. Retention-clamped; no backfill of pre-persistence gaps. Optional source and solOnly filters. Same SwapV1 shape as the trades stream.
/v1/creationsLatest Token Creations
Recent token launches. Supports source and excludeMayhem. Enrichment mode (enriched) is WebSocket-only — REST returns stored rows.
/v1/graduationsLatest Graduations
Tokens that recently graduated. Supports source, excludeMayhem, and minLiquiditySol. Pre-feature rows have mayhemMode: false and liquiditySol: null (no historical backfill).
/v1/launchpads/statsLaunchpad Stats
Creation and graduation counts (and graduation rate) for pump_fun, raydium_launchlab, and bonkfun over a retention-clamped window. Zeros are 0, never null.
/healthHealth
Public liveness probe for load balancers and uptime checks. No API key required. For Redis readiness, use GET /ready (503 when Redis is unreachable).
/v1/transferComing soonLatest Transfers
Recent token transfers with the same filters as the transfers stream.
Pagination & windows
Store-backed list endpoints return a data array, an opaque next cursor (or null), and an effective window after retention clamp. Pass cursor from next to walk pages. Use from / to (ISO-8601 or unix ms) to bound the range — there is no since slot parameter on REST. Batch lookups return { data } only.
{
"data": [
{
"type": "swap",
"source": "pump_fun",
"wallet": "...",
"volumeUsd": 187.5,
"slot": 309812501,
"timestamp": 1751008869000
}
],
"next": null,
"window": { "from": 1751000000000, "to": 1751008869000 }
}Auth
Every /v1 route requires an API key via Authorization: Bearer … or x-api-key. The health checks, GET /health and GET /ready, need no key.
Postman collection
Every /v1 REST route plus the /v1/stream WebSocket, ready to import. Load the environment, paste your key into the apiKey variable, and send. The WebSocket request needs Postman desktop — the web client cannot open WS connections.