CEX
Batch per-exchange latest prices
post
/cex/quote/batch
operationId: cex-quoteBatch

POST batch variant of /cex/quote. Body: { pairs: [{asset, base?}], exchange? } (max 50 pairs). One entry per requested pair, each carrying the per-exchange array sorted by volume desc → trade count desc.

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>`.
Request Body
application/json
required
FieldTypeDefaultDescription
pairs
required
object[]
Up to 50 (asset, base) pairs to fetch per-exchange prices for.
pairs[].asset
required
string
Asset symbol (e.g. `XRP`).
pairs[].base
string"USD"
Base / quote currency. Defaults to `USD`.
exchange
string
Restrict every pair to a single exchange ID. Omit for all venues.
Example
Json
{
  "pairs": [
    {
      "asset": "XRP",
      "base": "USD"
    }
  ],
  "exchange": "BINANCE"
}
Responses
200
application/json
Successful response
FieldTypeDescription
items
object[]
One entry per requested pair, in request order.
items[].asset
string
items[].base
string
items[].items
object[]
items[].items[].exchangeId
string
Exchange identifier.
items[].items[].price
string
Latest 1m close (decimal string).
items[].items[].volume
object
Volume in the latest 1m bucket. `null` when the venue's row was ticker-derived.
items[].items[].tradeCount
object
Trade count in the latest 1m bucket. `null` when the venue does not publish one.
items[].items[].asOf
integer
Bucket timestamp of the source 1m row, Unix-seconds.
Example
Json
{
  "items": [
    {
      "asset": "string",
      "base": "string",
      "items": [
        {
          "exchangeId": "string",
          "price": "string",
          "volume": "string",
          "tradeCount": 0,
          "asOf": 1745798400
        }
      ]
    }
  ]
}
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": []
}
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": []
}