Skip to content

One call for Coral's full read on a token

Pass any chain and contract address to /tokens/{chain}/{address} and get back Coral's whole read in one response: market data, Coral Score, holder concentration, contract safety, and socials. Build apps, agents, dashboards, or research tools on the same public read API. Endpoint details are below, with the raw spec when you need it.

Public data, no key needed

The v1 API is unauthenticated and open for public reads. Pull token cards, treasury, and leaderboard data straight into your app.

Heavily rate limited

Public preview limits are intentionally strict. Every Coral Score has a validUntil time, ten minutes after it was scored: reuse it until then, and re-fetch after. Asking sooner can return the same cached score.

Attribution required

Show visible attribution to Coral and link to 0xcoral.com when displaying Coral data in another app or agent.

Coral's full read on a token

# market data, Coral Score, holders, safety, and socials in one call
curl https://api.0xcoral.com/api/v1/tokens/base/0x4e606Cb7370A61060Ad9916462871750D77e2b07

Works for any contract address, not just listed tokens. The Coral Score is a 0 to 100 read with a verdict and a confidence label; thin-data tokens come back as an early read rather than a made-up number.

Embed the Coral Score

Put the Coral Score on your own page: the badge is a plain image any page can load, and the link beside it opens Coral in Telegram already looking at your token.

Badge, linked to the bot

<a href="https://t.me/x_coral_bot?start=t_base_0x4e606cb7370a61060ad9916462871750d77e2b07"><img src="https://api.0xcoral.com/api/v1/badge/base/0x4e606cb7370a61060ad9916462871750d77e2b07.svg" alt="Coral Score"></a>

The link on its own

https://t.me/x_coral_bot?start=t_base_0x4e606cb7370a61060ad9916462871750d77e2b07

Reference

10 operations from Coral API 1.0.0.

Current capabilities

get/badge/{chain}/{address}.svg

Coral Score badge for a token, as an SVG

Returns a small flat SVG stating the Coral Score for a token, sized to sit in a row of badges on a project site or README. Embed it with a plain image tag; no key and no client code. The badge reads the last score on file and never triggers a fresh lookup, so an embed on a busy page costs nothing. A token Coral has scored shows the number; a read that does not stand behind a number says "early read"; a token nothing has scored says "not scored yet". Always answers 200 with an image, including for an unsupported chain or a malformed address, so an image tag can never break. Cached for five minutes.

Current capabilities

Parameters

chainpath

string · required · Chain slug, e.g. base, ethereum, solana.

addresspath

string · required · Token contract address on that chain, with a .svg suffix.

get/callers/{handle}

Get a caller profile

Returns a caller's source-neutral profile by handle: 7d aggregate performance (tier, hit rate, mean return, networks) plus recent notable calls with the mcap at call time. Public, cached, and rate limited. Handles and aggregate metrics only; internal ids are excluded.

Current capabilities

Parameters

handlepath

string · required · Caller handle (with or without a leading @).

get/community/leaderboard

Get the community caller leaderboard

Returns a sanitized 7d community caller leaderboard from Coral community intelligence data. Handles and aggregate performance metrics are included; internal ids are excluded.

Current capabilities
get/community/tokens

Get trending community tokens

Returns the sanitized cross-community trending rollup (24h): tokens trending across the communities Coral watches, ranked by mention momentum, with distinct-community counts and optional 1h flow. Optional live market fields are fetched at read time. This is an aggregate only — there is no way to query a single server. Raw messages, chat ids, tenant ids, caller handles, and upstream source names are excluded.

Current capabilities

Parameters

limitquery

integer · Maximum tokens to return, from 1 to 50.

includeMetadataquery

boolean · Set false, 0, or no to skip cached/live token metadata enrichment.

get/dashboard

Public Coral dashboard snapshot

Current public Coral aggregate. This is the best starting point for apps and agents: treasury snapshot and the latest pulse.

Current capabilities
get/resolve

Resolve a ticker or address to a token

Maps a $TICKER, bare symbol, or 0x / Solana address to a canonical { chain, address } so a client can navigate to the token. Public, cached, and rate limited. resolved is null when nothing matches.

Current capabilities

Parameters

qquery

string · required · A $TICKER, bare symbol, or 0x / Solana contract address.

get/score/{chain}/{address}

Coral Score for any token

Returns the Coral Score for a token by chain and address: score, verdict, confidence, data quality, and a short explanation. Use this when an app or agent needs only the score; GET /tokens/{chain}/{address} is the superset with market, holders, safety, and socials. Have a ticker, or an address without its chain? Resolve it first with GET /resolve?q=. A score is valid until its validUntil, ten minutes after scoredAt: reuse it until then and re-fetch after, since an earlier call can return the same cached score. Public, cached, and heavily rate limited.

Current capabilities

Parameters

chainpath

base | ethereum | polygon | unichain | solana · required · Chain slug.

addresspath

string · required · Token contract address on that chain.

langquery

en | ja | zh | ko | ru | tr | vi | pt-BR | es · Language for the Coral Score explanation prose (headline, bullets, caveats). Every other field stays English. Omitted or unrecognized means English. "Coral Score" is never translated.

get/tokens/{chain}/{address}

Coral's full read on any token

Returns Coral's full read on any token by chain and address: market metrics (including token age), all-time high, Coral Score, holders (with liquidity-and-burn-adjusted concentration), contract safety, socials, cross-community reach, and links. Works for ANY contract, not just Coral's curated registry; the curated profile and risk class are layered in when the token is allowlisted. Public, cached, and heavily rate limited. Superset of GET /score/{chain}/{address}.

Current capabilities

Parameters

chainpath

base | ethereum | polygon | unichain | solana · required · Chain slug.

addresspath

string · required · Token contract address on that chain.

langquery

en | ja | zh | ko | ru | tr | vi | pt-BR | es · Language for the Coral Score explanation prose (headline, bullets, caveats). Every other field stays English. Omitted or unrecognized means English. "Coral Score" is never translated.

get/tokens/{chain}/{address}/callers

List the graded callers who called a token

Returns the callers Coral grades who called this token inside the published rolling window, earliest call first, each with their tier and the market cap at the moment they called. Source-neutral: handles and networks only, never a community, channel, or message. A token no graded caller has called answers 200 with an empty list rather than a 404, so a client needs no branch for it. Public, cached, and rate limited.

Current capabilities

Parameters

chainpath

string · required · Chain slug, e.g. base, ethereum, solana.

addresspath

string · required · Token contract address on that chain.

get/traction

Coral network traction (aggregate)

Network-wide growth counts: active communities, tokens graded, and linked callers over the rolling window. Aggregate numbers only, no per-community identifiers.

Current capabilities