---
title: "Token prices"
method: GET
path: "/v1/protocol/prices"
tags: ["Protocol"]
---

# Token prices

`GET /v1/protocol/prices`

Bucketed USD price series per token (hyUSD/xSOL back to 2025-04; others from launch). `sol` only on LSTs. With `ohlc=true` each point is a candle: `open`/`high`/`low` plus `usd` = close, merged from the recorder's 5-minute candles (`open` is the first 5-minute open in the bucket, `high`/`low` the extremes) — so intra-5-minute wicks are not visible at any grain.

## Query parameters

- `granularity` '5m' | '1h' | '1d'
- `days` integer
- `from` string, date
- `to` string, date
- `token` string
- `ohlc` boolean

## Response `200`

Cache-Control: public, max-age=300.

- ProtocolPrices
  - `since` string, date, required
  - `until` string, date, required
  - `granularity` '5m' | '1h' | '1d', required
  - `tokens` object[], required
    - `token` string, required
    - `series` object[], required
      - `ts` string, date-time, required
      - `usd` string, required — Exact decimal as a plain string (e.g. "12.75", "0.0000001"). Never a float.
      - `sol` string — Exact decimal as a plain string (e.g. "12.75", "0.0000001"). Never a float.
      - `open` string — Exact decimal as a plain string (e.g. "12.75", "0.0000001"). Never a float.
      - `high` string — Exact decimal as a plain string (e.g. "12.75", "0.0000001"). Never a float.
      - `low` string — Exact decimal as a plain string (e.g. "12.75", "0.0000001"). Never a float.

## Other responses

- `400` — Invalid parameter.

---

[API](https://skmtc.dev/hylo/apis/hylo-public-api.md) · [All operations](https://skmtc.dev/hylo/apis/hylo-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hylo/hylo-public-api/revisions/fe91f85eefd4/schema)
