amm
Get pool OHLCV candles for any interval (1m → 1M)
get
/liquidity/pool-ohlcv
operationId: pool-ohlcv

Unlock protected endpoints

Enter your Bearer token once to enable every protected route in this API reference.

HTTP bearer

Saved for this browser tab only. The credential is never sent until you test an endpoint.

Authorizations
NameLocationDetails
BearerAuthAuthorization header · bearerJWT issued by the Honeycluster auth service for the `indexer` audience. Present as `Authorization: Bearer <token>`.
Query Parameters
NameTypeDefaultDescription
poolId
required
string
Liquidity pool identifier (UUID v4).
interval
enum<string>"1h"
Available
1m3m5m15m30m1h2h4h
startTime
integer
endTime
integer
limit
integer500
Responses
200
application/json
Successful response
FieldTypeDescription
items
object[]
OHLCV candles ascending by `bucket`.
items[].poolId
string
items[].bucket
integer
Start of the bucket, Unix-seconds.
items[].open
object
First implied price (asset2 / asset1) in the bucket; NULL when no parseable swap row contributed.
items[].high
object
Max implied price in the bucket.
items[].low
object
Min implied price in the bucket.
items[].close
object
Last implied price in the bucket.
items[].vwap
object
Volume-weighted average price: SUM(asset2_amount) / SUM(asset1_amount). Smoother than `close` for slow pools.
items[].volumeAsset1
string
Total asset1 traded in native units (decimal string).
items[].volumeAsset2
string
Total asset2 traded in native units (decimal string).
items[].swaps
integer
Count of swap events in the bucket.
items[].swappers
integer
Distinct swappers in the bucket (HyperLogLog approx-distinct over `account`).
items[].asset1ReserveOpen
object
Asset1 reserve at the first swap of the bucket; NULL when the bucket's rows lack `asset1_reserve_after` (legacy pre-0044 swap rows).
items[].asset1ReserveClose
object
Asset1 reserve at the last swap of the bucket.
items[].asset2ReserveOpen
object
Asset2 reserve at the first swap of the bucket.
items[].asset2ReserveClose
object
Asset2 reserve at the last swap of the bucket.
items[].lastSwapAt
integer
Timestamp of the most recent swap in the bucket, Unix-seconds. Useful as a staleness anchor.
Example
Json
{
  "items": [
    {
      "poolId": "3c4a3de8-4218-400c-8c55-87dc27206753",
      "bucket": 1745712000,
      "open": "0.0123",
      "high": "0.0125",
      "low": "0.0119",
      "close": "0.0121",
      "vwap": "0.01218",
      "volumeAsset1": "12450.32",
      "volumeAsset2": "151.6249",
      "swaps": 18,
      "swappers": 14,
      "asset1ReserveOpen": "128450.32",
      "asset1ReserveClose": "128300.10",
      "asset2ReserveOpen": "512300.18",
      "asset2ReserveClose": "512451.80",
      "lastSwapAt": 1745715542
    }
  ]
}
400
application/json
Invalid input data
FieldTypeDescription
message
string
The error message
code
string
The error code
issues
object[]
An array of issues that were responsible for the error
issues[].message
string
Example
Json
{
  "code": "BAD_REQUEST",
  "message": "Invalid input data",
  "issues": []
}
401
application/json
Authorization not provided
FieldTypeDescription
message
string
The error message
code
string
The error code
issues
object[]
An array of issues that were responsible for the error
issues[].message
string
Example
Json
{
  "code": "UNAUTHORIZED",
  "message": "Authorization not provided",
  "issues": []
}
403
application/json
Insufficient access
FieldTypeDescription
message
string
The error message
code
string
The error code
issues
object[]
An array of issues that were responsible for the error
issues[].message
string
Example
Json
{
  "code": "FORBIDDEN",
  "message": "Insufficient access",
  "issues": []
}
404
application/json
Not found
FieldTypeDescription
message
string
The error message
code
string
The error code
issues
object[]
An array of issues that were responsible for the error
issues[].message
string
Example
Json
{
  "code": "NOT_FOUND",
  "message": "Not found",
  "issues": []
}
500
application/json
Internal server error
FieldTypeDescription
message
string
The error message
code
string
The error code
issues
object[]
An array of issues that were responsible for the error
issues[].message
string
Example
Json
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal server error",
  "issues": []
}