Chart
Pulse chart candles for a tracked token.
Free, no auth required. Anonymous responses are cached briefly. Free, Starter, Growth, and Pro API keys bypass the anonymous cache and get higher rate limits.
Access
- Anonymous: yes
- Free API key: same endpoint, uncached, higher rate limits
- Paid plans: same endpoint, highest rate limits
- Rate limit bucket:
Pulse reads
GET /v1/chart/:mint
Returns OHLCV candles for a tracked token. The API selects the best currently indexed pool and fetches candles server-side from GeckoTerminal.
Parameters:
:mint— Token symbol (SOL,JUP) or mint address
Query parameters:
range— Optional chart range. Supported:1d(default),7d,30d.interval— Optional candle interval. Supported combinations:1d:5m,15m(default),1h7d:1h(default),4h,1d30d:4h,1d(default)
Response:
{
"token": {
"symbol": "SOL",
"mint": "So11111111111111111111111111111111111111112",
"name": "Solana"
},
"mint": "So11111111111111111111111111111111111111112",
"range": "1d",
"interval": "15m",
"source": "geckoterminal",
"priceCurrency": "usd",
"priceToken": "So11111111111111111111111111111111111111112",
"pool": {
"address": "...",
"dex": "orca-whirlpool",
"symbolA": "SOL",
"symbolB": "USDC"
},
"candles": [
{
"time": 1712000000,
"open": 175.1,
"high": 176.8,
"low": 174.9,
"close": 176.2,
"volume": 45213.9
}
],
"updatedAt": 1712000000000
}Candle units: OHLC values are the requested token's price in USD (priceCurrency: "usd", priceToken: <mint>), consistent with /v1/prices — a stablecoin charts flat near $1, not the price of the pool's other leg. volume is in USD.
Deterministic status contract: a tracked token always returns 200 with a status field — 404 is reserved for unknown tokens.
status | Meaning |
|---|---|
ok | Candles returned |
warming | Chart data temporarily unavailable (upstream refresh in progress); candles: [], pool: null. A Retry-After header says when to poll again — data usually exists. |
unavailable | No candle data exists for any of this token's indexed pools; candles: [], pool: null. |
Don't treat an empty candles array as an error — drive your UI off status. A deliberate placeholder (e.g. a flat line) is a fine warming state; the anti-pattern is inferring one from the absence of data, where it's indistinguishable from a real flat market.
Caching: requests authenticated with ?apiKey= (and anonymous requests) are edge-cached for 60s per full URL; requests authenticated with the x-api-key header bypass the edge cache. Candle data is additionally refreshed on a short server-side window aligned to the smallest interval, so identical polls are cheap regardless of auth style.
Defaults are intentionally cheap. Broader ranges are opt-in via range.
Unsupported range + interval combinations return 400.
