---
title: "GET /v2/market/tokens/{chain_id}/{address}/candles"
method: GET
path: "/v2/market/tokens/{chain_id}/{address}/candles"
tags: ["Product Market"]
---

# GET /v2/market/tokens/{chain_id}/{address}/candles

`GET /v2/market/tokens/{chain_id}/{address}/candles`

## Request

- Base URL: `https://api.arbital.xyz` (the document declares no server; this is the origin it was published from)
- URL: `https://api.arbital.xyz/v2/market/tokens/{chain_id}/{address}/candles`
- Auth: none declared

Returns sorted, timestamp-deduplicated USD OHLCV history for one canonical asset. Arc history uses Mobula. A missing candle bucket means no trades occurred; it does not indicate missing data, and the server does not synthesize zero-volume candles. The all range returns up to 1,500 one-minute candles and supports backward pagination with before_ms. The five_minutes, thirty_minutes, and two_hours ranges seed the sub-minute live resolutions (1s, 15s, 30s). The chart WebSocket sends the latest active candle on connection and subsequent revisions.

## Path parameters

- `chain_id` 'solana:mainnet-beta' | 'eip155:1' | 'eip155:56' | 'eip155:143' | 'eip155:4663' | 'eip155:5042' | 'eip155:8453' | 'eip155:42161', required
- `address` string, required

## Query parameters

- `range` 'five_minutes' | 'thirty_minutes' | 'hour' | 'two_hours' | 'day' | 'week' | 'month' | 'year' | 'all'
- `before_ms` string

## Response `200`

Chronological USD OHLCV candles

- ProductTokenChartResponseV1
  - `evidence` ProductCandleEvidenceV1: Optional for legacy compatibility. Freshness describes retrieval reuse only: provider observation time is unknown. Actual bounds describe returned bucket starts, not requested range completeness or asset lifetime. Gaps may be illiquidity, not outages. before_ms is a time boundary, never a frozen snapshot. Empty valid history is available without a completeness claim. Values may include provider padding. served_at_ms remains unchanged on intermediary replay.
    - `source` 'birdeye' | 'mobula' | 'codex', required
    - `provider_observed_at_ms` unknown, required
    - `retrieved_at_ms` string, required
    - `served_at_ms` string, required
    - `freshness` 'fresh' | 'stale', required
    - `availability` 'available' | 'partial', required
    - `fresh_until_ms` string, required
    - `usable_until_ms` string, required
    - `coverage` object, required
      - `first_bucket_ms` string, nullable, required
      - `last_bucket_ms` string, nullable, required
      - `missing_interior_buckets` string, required
      - `complete` unknown, required
      - `history` 'bounded_window', required
      - `limit_reached` boolean, required
      - `empty` boolean, required
      - `identity` 'provider_verified' | 'request_scoped', required
      - `padding` 'provider_may_fill' | 'unfilled', required
  - `asset` union, required
    - object
      - `address` string, required
      - `chain_id` 'solana:mainnet-beta', required
    - object
      - `address` string, required
      - `chain_id` 'eip155:1' | 'eip155:56' | 'eip155:143' | 'eip155:4663' | 'eip155:5042' | 'eip155:8453' | 'eip155:42161', required
  - `candles` ProductTokenCandleV1[], required
    - `close_usd` string, required
    - `high_usd` string, required
    - `low_usd` string, required
    - `open_usd` string, required
    - `timestamp_ms` string, required
    - `volume_usd` string, required
  - `from_ms` string, required
  - `observed_at_ms` string, required
  - `range` 'five_minutes' | 'thirty_minutes' | 'hour' | 'two_hours' | 'day' | 'week' | 'month' | 'year' | 'all', required
  - `resolution` '1s' | '15s' | '30s' | '1m' | '5m' | '1h' | '4h' | '1d', required
  - `to_ms` string, required

## Other responses

- `400`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `404`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `408`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `413`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `429`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `503`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.

---

[API](https://skmtc.dev/arbital/apis/arbital-api.md) - [All operations](https://skmtc.dev/arbital/apis/arbital-api/llms.txt) - [OpenAPI document](https://skmtc.dev/arbital/apis/arbital-api/revisions/bb0185edf43a?raw)
