Get token price history

The DUAL price over time, oldest point first — the line behind a price chart. `time_range` chooses both how far back to go and how closely to sample, so that every range comes back with a sensible number of points rather than thousands: | `time_range` | Window | Sampling | | --- | --- | --- | | `today` | Last 24 hours | Every observation, roughly every 5 minutes | | `week` | Last 7 days | Hourly | | `month` | Last 30 days | Hourly | | `year` | Last 12 months | Daily | | `all` | Everything stored | Hourly | `week` is the default. Prices are given as strings so nothing is rounded away. Open to everyone. No sign-in needed.

GET
/public/network/token/price-history

Query Parameters

time_range?string

Named time window relative to now. Endpoints that also expose from and to can use those parameters for an exact window instead.

Default"all"
Value in"all" | "today" | "week" | "month" | "year"

Response Body

application/json

application/json

application/json

curl -X GET "https://api.dual.network/public/network/token/price-history"
{
  "data": [
    {
      "when": "2026-03-06T09:00:00Z",
      "price": "0.041233000000"
    },
    {
      "when": "2026-03-06T10:00:00Z",
      "price": "0.041019000000"
    },
    {
      "when": "2026-03-06T11:00:00Z",
      "price": "0.041550000000"
    }
  ]
}
{
  "code": 3,
  "message": "Key: 'limit' Error:Field validation for 'limit' failed on the 'lte' tag"
}
{
  "code": 13,
  "message": "internal error"
}