---
title: "Historical prices"
method: GET
path: "/v3/prices/history"
tags: ["Prices"]
---

# Historical prices

`GET /v3/prices/history`

Historical prices for explicit token addresses over a bounded time range.
Required query params: `chainId`, `addresses`, `from`, `to`.
Maximum allowed window is 30 days per request.

## Query parameters

- `chainId` integer, required
- `addresses` string, required
- `assets` string
- `from` integer, required
- `to` integer, required
- `offset` integer
- `limit` integer

## Response `200`

Historical prices

- object
  - `data` Price[]
    - `chainId` integer
    - `address` string
    - `symbol` string
    - `decimals` integer
    - `priceUsd` number — Market-normalized USD price number. Use `/v3/oracles/prices` for exact contract-derived oracle values.
    - `source` 'onchain' | 'offchain' | 'hardcoded' — Provider-redacted price provenance category.
    - `timestamp` string, date-time — Observation time. Current-price endpoints may return the best-known observation regardless of age; derived USD calculations accept observations up to 24 hours old.
  - `meta` PaginationMeta
    - `total` integer — Exact total count when the endpoint provides one.
    - `hasMore` boolean — Indicates whether another page exists beyond the current page.
    - `offset` integer
    - `limit` integer — Echoed page size after endpoint-side clamping.
    - `timestamp` string, date-time, required
    - `chainId` string — Comma-separated chain IDs for multi-chain responses.
    - `degradedProviders` string[] — Live providers whose data is incomplete in this response.

## Other responses

- `400` — Bad request
- `404` — Not found
- `429` — Rate limited
- `500` — Internal server error

---

[API](https://skmtc.dev/euler/apis/euler-data-api-v3.md) · [All operations](https://skmtc.dev/euler/apis/euler-data-api-v3/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/euler/euler-data-api-v3/revisions/9573a5fbd4a6/schema)
