/cex/ohlcvcex-historyReturns OHLCV candles for a single asset+base from CEX price feed data, aggregated across all venues per bucket (sourced from TimescaleDB continuous aggregates). Includes VWAP alongside standard OHLCV. Candles are returned in ascending time order. endTime defaults to now, startTime defaults to endTime − (interval × limit). Use /cex/exchanges/{exchangeId}/ohlcv for a single venue's raw candles.
| Name | Location | Details |
|---|---|---|
BearerAuth | Authorization header · bearer | JWT issued by the Honeycluster auth service for the `oracle` audience. Present as `Authorization: Bearer <token>`. |
| Name | Type | Default | Description |
|---|---|---|---|
assetrequired | string | Asset symbol to query (e.g. `XRP`). | |
base | string | "USD" | |
interval | enum<string> | "1h" | Available 1m3m5m15m30m1h2h4h |
startTime | integer | ||
endTime | integer | ||
limit | integer | 500 |
| Field | Type | Description |
|---|---|---|
items | object[] | OHLCV candles in ascending bucket order. |
items[]. | string | Asset symbol. |
items[]. | string | Base currency. |
items[]. | integer | Candle start time, Unix-seconds. |
items[]. | object | Opening price (decimal string), or `null` when only ticker-derived close is available. |
items[]. | object | Highest price (decimal string), or `null` when only ticker-derived close is available. |
items[]. | object | Lowest price (decimal string), or `null` when only ticker-derived close is available. |
items[]. | string | Closing price (decimal string). |
items[]. | object | Total volume in the interval, or `null` when only ticker-derived close is available. |
items[]. | object | Volume-weighted average price. |
items[]. | number | Number of trades aggregated into the candle. |
{
"items": [
{
"asset": "XRP",
"base": "USD",
"bucket": 1745712000,
"open": "0.512",
"high": "0.518",
"low": "0.509",
"close": "0.514",
"volume": "128450.32",
"vwap": 0.5135,
"tradeCount": 312
}
]
}| Field | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | object[] | An array of issues that were responsible for the error |
issues[]. | string |
{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}| Field | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | object[] | An array of issues that were responsible for the error |
issues[]. | string |
{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}| Field | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | object[] | An array of issues that were responsible for the error |
issues[]. | string |
{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}| Field | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | object[] | An array of issues that were responsible for the error |
issues[]. | string |
{
"code": "NOT_FOUND",
"message": "Not found",
"issues": []
}| Field | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | object[] | An array of issues that were responsible for the error |
issues[]. | string |
{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}