CEX
Get latest aggregated CEX prices
get
/cex/latest
operationId: cex-latest

Returns the most recent aggregated price for each (asset, base) pair, computed across all active CEX exchanges using multiple algorithms (PMAP, VWAP, FMAP, SDAP, MMMAP). Optional filters narrow to a specific asset or base; sort/direction reorder the deduplicated set.

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 `oracle` audience. Present as `Authorization: Bearer <token>`.
Query Parameters
NameTypeDefaultDescription
asset
string
base
string
sort
enum<string>"timestamp"
Available
timestampasset
direction
enum<string>"desc"
Available
ascdesc
Responses
200
application/json
Successful response
FieldTypeDescription
items
object[]
Latest aggregated prices, one row per (asset, base) pair.
items[].asset
string
Asset symbol (e.g. `XRP`).
items[].base
string
Base currency (e.g. `USDT`).
items[].timestamp
integer
Aggregation timestamp, Unix-seconds.
items[].pmap
object
Pure Mean Average Price (decimal string).
items[].vwap
object
Volume-Weighted Average Price (decimal string).
items[].fmap
object
Fixed Mean Average Price (decimal string).
items[].sdap
object
Standard Deviation Average Price (decimal string).
items[].mmmap
object
Middle Median Mean Average Price (decimal string).
items[].cwap
object
Confidence-Weighted Average Price (decimal string). Same shape as FMAP but applies the per-exchange confidence score from the static `exchange-weights.ts` registry as `weight²` so high-confidence venues dominate by a square factor. NULL on rows produced before the algorithm was added (pre-migration `0009`).
items[].standardDeviation
object
Standard deviation across exchanges (decimal string).
items[].exchangeCount
object
Number of exchanges contributing to the aggregate.
items[].totalVolume
object
Total trade volume backing the aggregate (decimal string).
Example
Json
{
  "items": [
    {
      "asset": "XRP",
      "base": "USDT",
      "timestamp": 1745798400,
      "pmap": "0.5123",
      "vwap": "0.5119",
      "fmap": "0.5128",
      "sdap": "0.5121",
      "mmmap": "0.5120",
      "cwap": "0.5125",
      "standardDeviation": "0.0012",
      "exchangeCount": 8,
      "totalVolume": "184500.32"
    }
  ]
}
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": []
}