Canonical token by id
Path Parameters
canonical token uuid
uuidQuery Parameters
include every chain deployment of this token
trueinclude price and market metrics
trueHeader Parameters
payment methods the client can use, comma-separated, case-insensitive. With x402 in the list, a spent keyless budget answers 402 with the x402 challenge instead of 429.
base64 x402 v2 payment payload for this request. A paid request skips the keyless budget and is settled only when it answers 2xx. The v1 header X-PAYMENT is accepted too.
Response Body
application/json
application/problem+json
application/problem+json
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X GET "https://example.com/tokens/497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "slug": "string", "symbol": "string", "name": "string", "description": "string", "status": "string", "confidence": 0, "category": "string", "rank": 1, "logo_url": "http://example.com", "market": { "observed_at": "2019-08-24T14:15:22Z", "expires_at": "2019-08-24T14:15:22Z", "metrics": { "price_usd": "string", "liquidity_usd": "string", "market_cap_usd": "string", "fdv_usd": "string", "circulating_supply": "string", "total_supply": "string", "holders_count": 0 }, "windows": { "property1": { "price_change_percent": "string", "volume_usd": "string", "buys": 0, "sells": 0, "transactions": 0 }, "property2": { "price_change_percent": "string", "volume_usd": "string", "buys": 0, "sells": 0, "transactions": 0 } }, "primary_market": { "chain_id": 1, "pair_address": "string", "dex_id": "string", "liquidity_usd": "string" } }, "instances": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "chain_id": 1, "address": "string", "decimals": 0, "status": "string", "risk_score": 0, "contract_verified": true, "market": { "observed_at": "2019-08-24T14:15:22Z", "expires_at": "2019-08-24T14:15:22Z", "metrics": { "price_usd": "string", "liquidity_usd": "string", "market_cap_usd": "string", "fdv_usd": "string", "circulating_supply": "string", "total_supply": "string", "holders_count": 0 }, "windows": { "property1": { "price_change_percent": "string", "volume_usd": "string", "buys": 0, "sells": 0, "transactions": 0 }, "property2": { "price_change_percent": "string", "volume_usd": "string", "buys": 0, "sells": 0, "transactions": 0 } }, "primary_market": { "chain_id": 1, "pair_address": "string", "dex_id": "string", "liquidity_usd": "string" } } } ], "chain": { "slug": "hyperliquid", "chain_id": 0 }, "address": "string", "decimals": 0, "score": 0, "categories": [ "string" ], "price_usd": 0.1, "price_change_1h": 0.1, "price_change_6h": 0.1, "price_change_24h": 0.1, "volume_24h": 0.1, "txns_24h": 0, "liquidity_usd": 0.1, "pairs_count": 0, "fdv_usd": 0.1, "market_cap_usd": 0.1, "market_cap_estimated": true, "total_supply": 0.1, "max_supply": 0.1, "circulating_supply": 0.1, "holders": 0, "launched_at": "string", "rating": { "score": 0, "safety": 0, "liquidity": 0, "activity": 0, "holders": 0, "age_info": 0 }, "main_pair": { "address": "string", "ticker": "string" }, "launch": { "deployer": "string", "tx_hash": "string", "block_number": 0, "deployed_at": "string" }, "windows": { "m5": { "price_change_pct": 0.1, "volume_usd": 0.1, "buy_volume_usd": 0.1, "sell_volume_usd": 0.1, "txns": { "buys": 0, "sells": 0 }, "buyers": 0, "sellers": 0, "makers": 0, "makers_main_pair_only": true }, "h1": { "price_change_pct": 0.1, "volume_usd": 0.1, "buy_volume_usd": 0.1, "sell_volume_usd": 0.1, "txns": { "buys": 0, "sells": 0 }, "buyers": 0, "sellers": 0, "makers": 0, "makers_main_pair_only": true }, "h6": { "price_change_pct": 0.1, "volume_usd": 0.1, "buy_volume_usd": 0.1, "sell_volume_usd": 0.1, "txns": { "buys": 0, "sells": 0 }, "buyers": 0, "sellers": 0, "makers": 0, "makers_main_pair_only": true }, "h24": { "price_change_pct": 0.1, "volume_usd": 0.1, "buy_volume_usd": 0.1, "sell_volume_usd": 0.1, "txns": { "buys": 0, "sells": 0 }, "buyers": 0, "sellers": 0, "makers": 0, "makers_main_pair_only": true } }, "holder_stats": { "count": 0, "top10_pct": 0.1, "updated_at": "string" }, "profile": { "image_url": "http://example.com", "websites": [ "string" ], "socials": { "twitter": [ "string" ], "telegram": [ "string" ], "discord": [ "string" ], "github": [ "string" ], "docs": [ "string" ] }, "verified": true, "verification_tier": "string", "verified_by": [ "string" ] }}Everything needed to decide about a token, in one call GET
One document instead of six calls: the signed verdict, the trust score with the signals that made it, both liquidity figures with lock and burn, the 24-hour market on the deepest pool, holder concentration, the deployer's history and the flags. Fields arrive in a fixed order — `verdict` is early enough to decide on before the body finishes — and empty blocks are omitted rather than sent as null, because a null invites a reader to treat "not measured" as a measured zero. A real token's brief is under two kilobytes. Poll it with `If-None-Match`: an unchanged token answers `304` and costs neither payment nor context. A keyless caller past its budget can pay per call with x402, as on every priced operation; a caller with an API key is never challenged. The embedded verdict is the verdict endpoint's object unchanged, so a chain with no oracle carries `status: "unknown"` and no signature here too.
Canonical token by slug GET
Next Page