---
updatedAt: 2026-08-19T01:07:39.000Z
agentTools:
  projectIndex: https://docs.noves.fi/llms.txt
---

# /{chain}/price/{token}/history

Returns historical token prices over the requested window.
            
The <i>interval</i> parameter controls price grouping:
- <b>raw</b>: every price observation, limited to 1000 points
- <b>hourly</b>: OHLC data grouped by hour
- <b>daily</b>: OHLC data grouped by day (default)
            
For <i>hourly</i> and <i>daily</i>, the window cannot exceed 168 buckets: 168 days at the daily interval or 7 days at the hourly interval.
            
When <i>startTimestamp</i> is omitted the window defaults to the last 30 days at the daily interval, the last 48 hours at the hourly one, and the last 24 hours for raw. Pass an explicit window to widen it.
            
Only `cc` (Canton Coin) is supported. The token identifier is case insensitive.

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "Canton API",
    "description": "Query public and private Canton updates, balances, prices, rewards, verdicts, and Featured App activity. Create stream subscriptions and alerts for ongoing delivery.",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://api.canton.noves.fi/"
    }
  ],
  "paths": {
    "/{chain}/price/{token}/history": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "/{chain}/price/{token}/history",
        "description": "Returns historical token prices over the requested window.\r\n            \r\nThe <i>interval</i> parameter controls price grouping:\r\n- <b>raw</b>: every price observation, limited to 1000 points\r\n- <b>hourly</b>: OHLC data grouped by hour\r\n- <b>daily</b>: OHLC data grouped by day (default)\r\n            \r\nFor <i>hourly</i> and <i>daily</i>, the window cannot exceed 168 buckets: 168 days at the daily interval or 7 days at the hourly interval.\r\n            \r\nWhen <i>startTimestamp</i> is omitted the window defaults to the last 30 days at the daily interval, the last 48 hours at the hourly one, and the last 24 hours for raw. Pass an explicit window to widen it.\r\n            \r\nOnly `cc` (Canton Coin) is supported. The token identifier is case insensitive.",
        "parameters": [
          {
            "name": "chain",
            "in": "path",
            "description": "Canton chain name. Use a name returned by `GET /chains`.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "canton",
              "example": "canton"
            }
          },
          {
            "name": "token",
            "in": "path",
            "description": "Token identifier to price. Only `cc` is supported.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "cc",
              "example": "cc"
            }
          },
          {
            "name": "startTimestamp",
            "in": "query",
            "description": "Start of the requested time window, as Unix seconds. Optional.",
            "style": "form",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "endTimestamp",
            "in": "query",
            "description": "End of the requested time window, as Unix seconds. Optional.",
            "style": "form",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "interval",
            "in": "query",
            "description": "Price grouping interval: `raw`, `hourly`, or `daily`. Default is `daily`.",
            "style": "form",
            "schema": {
              "type": "string",
              "default": "daily"
            }
          },
          {
            "name": "apiKey",
            "in": "header",
            "description": "API Key for Canton API. To generate an API Key, visit https://app.noves.fi",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "demokey"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceHistoryResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "PriceHistoryPointDto": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "description": "Observation time or start of the interval (ISO 8601).",
            "format": "date-time"
          },
          "open": {
            "type": "string",
            "description": "Opening price in USD, as a decimal string.",
            "nullable": true
          },
          "high": {
            "type": "string",
            "description": "Highest price in USD, as a decimal string.",
            "nullable": true
          },
          "low": {
            "type": "string",
            "description": "Lowest price in USD, as a decimal string.",
            "nullable": true
          },
          "close": {
            "type": "string",
            "description": "Closing price in USD, as a decimal string.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "One token price observation or OHLC interval."
      },
      "PriceHistoryResponseDto": {
        "type": "object",
        "properties": {
          "interval": {
            "type": "string",
            "description": "Price grouping interval used for the response.",
            "nullable": true
          },
          "period": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RewardPeriodDto"
              }
            ],
            "description": "Time window represented by the response.",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "description": "Number of price points returned.",
            "format": "int32"
          },
          "prices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PriceHistoryPointDto"
            },
            "description": "Price points ordered by timestamp.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Historical token prices grouped by the requested interval."
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": {}
      },
      "RewardPeriodDto": {
        "type": "object",
        "properties": {
          "startTime": {
            "type": "string",
            "description": "Inclusive start of the window the results cover (ISO 8601). Null when unbounded.",
            "format": "date-time",
            "nullable": true
          },
          "endTime": {
            "type": "string",
            "description": "Inclusive end of the window the results cover (ISO 8601). Null when unbounded.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      }
    }
  }
}
```