GET /api/v1/market/chart/{token}md.read scope and uses the standard 120 requests per
minute budget.
Query parameters
The
{token} path segment is a base58 Solana mint, or a 0x token address when
chain names an EVM chain. Passing the wrong kind of address for the chain
returns invalid_token.
Request
chain parameter:
Response
Response fields
Each bar:
Things worth knowing
n is Solana-only. EVM history comes from market data that carries no trade
count, so n is reported as 0 there rather than guessed. It is a real count on
Solana.
mode=mc needs a supply figure. Market cap is price × circulating supply.
For a token with no known supply — wrapped SOL, for instance — mc returns the
same values as price rather than erroring.
EVM resolutions can be served finer than requested. No market-data source
publishes sub-minute EVM candles, so a sub-minute request on an EVM chain is
served at the nearest finer supported bucket. Finer candles under a coarser
label are still real trades; coarser ones would invent buckets that never
existed. Compare resolutionSeconds against requestedResolutionSeconds to
detect it. On Solana the two are always equal.
denom=sol prices bars in SOL, but not volume. Each bar’s OHLC is divided
by the SOL price of its own bucket; v stays in USD. It is Solana-only —
requesting it on an EVM chain returns invalid_denom rather than quietly
ignoring the parameter, because EVM bars are USD by construction.
Polling
Responses are cached briefly per token and resolution, and a request with noto
is snapped to that same cache window. Polling faster than the bar width returns
the same bars and costs you nothing extra — but it also tells you nothing new, so
poll at roughly your resolution.
Errors
Standard error envelope. Specific to this endpoint:This endpoint is read-only market data. It does not submit, simulate, or imply
a trade.
