Sandbox version
For experimental use only. Proceed with caution.
XRPL
Batch fetch sparklines for many XRPL tokens
post
/xrpl/sparkline/batch
operationId: xrpl-sparklineBatch

POST batch variant of /xrpl/sparkline. Body: { tokens: [{currency, issuer}], denomination, points } (max 100 tokens, default 24 hourly buckets, default denomination USD). Returns per-token { currency, issuer, points } oldest-first; tokens with no matching XRPL pair surface as points: []. The 2-hop intermediary (when needed) is server-chosen (USD).

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
tokens
required
object[]
Tokens to fetch sparklines for. Each entry is either `{tokenSlug}` or `{currency, issuer}`. Max 100 per request.
denomination
string"USD"
Defaults to `USD` so a bare-args call returns USD closes via the `XRP/USD` 1-hop bridge per bucket. Pass `XRP` for native IOU/XRP closes with no bridge. Other direct CEX bases (`USDT`, `USDC`) also use 1-hop; any other CEX-tracked asset uses 2-hop via the server-chosen intermediary (USD).
points
integer24
Number of hourly closing-price buckets to return, oldest-first. Defaults to 24 (one day); capped at 96 (four days).
Example
Json
{
  "tokens": [
    {
      "tokenSlug": "string"
    }
  ],
  "denomination": "USD",
  "points": 24
}
Responses
200
application/json
Successful response
FieldTypeDescription
items
object[]
One row per requested token. Tokens with no matching pair return `points: []`.
items[].currency
string
items[].issuer
object
items[].points
number[]
denomination
string
Example
Json
{
  "items": [
    {
      "currency": "string",
      "issuer": "string",
      "points": [
        0
      ]
    }
  ],
  "denomination": "string"
}
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": []
}