XRPL
Get latest price for an XRPL currency, in a chosen denomination
get
/xrpl/quote
operationId: xrpl-quote

Resolves an XRPL IOU (or XRP itself) to its most recent price in the requested denomination. Default denomination is USD. denomination=XRP returns the raw XRPL DEX price (with the XRP/USD bridge surfaced as informational context). A direct CEX base (USD, USDT, USDC) multiplies the IOU/XRP price by the cross-exchange VWAP of XRP/<denomination> — sourced from live tickers (sub-second freshness) with fallbacks to precomputed aggregates and per-exchange OHLCV. Any other CEX-tracked asset (e.g. BTC) bridges in two hops via the server-chosen intermediary (USD); the response echoes which intermediary was used in bridgeBase. Each leg (native + bridge + cross) is surfaced so callers can audit the multiplication.

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
currency
string
issuer
object
tokenSlug
string
denomination
string"USD"
Responses
200
application/json
Successful response
FieldTypeDescription
price
string
Resolved price of the IOU in the requested denomination, decimal string.
asOf
integer
Timestamp of the most recent leg used to compute the price.
pair
object
Resolved XRPL trade pair the IOU was found in.
pair.id
string
pair.baseCurrency
string
pair.baseIssuer
object
pair.quoteCurrency
string
pair.quoteIssuer
object
pair.createdAt
string
pair.updatedAt
string
inverted
boolean
True when the source pair stored XRP on the base side, so price was inverted (1/p).
denomination
string
Echoed denomination.
bridgeBase
object
Server-determined bridge base. For 1-hop denominations (`USD`/`USDT`/`USDC`) this echoes the denomination itself. For 2-hop denominations (`BTC`, `ETH`, etc.) this is the intermediary the server picked (currently always `USD`). `null` when no bridge leg was used (i.e. `denomination=XRP` with no live CEX data on hand).
legs
object
legs.native
object
IOU/XRP price leg from the XRPL DEX.
legs.native.price
string
Price as a decimal string.
legs.native.source
enum<string>
Where the price came from.
Available
xrpl-dexcex_tickercex_aggregatecex_ohlcv
legs.native.asOf
integer
Timestamp of the underlying observation (Unix-seconds).
legs.native.tradePairId
object
legs.native.asset
object
legs.native.base
object
legs.bridge
object
XRP/<bridgeBase> leg sourced cross-exchange (live tickers → aggregate → OHLCV). With `denomination=XRP` this is informational context only; `null` when no live CEX data is available.
legs.cross
object
<denomination>/<bridgeBase> leg used for the 2-hop bridge. `null` for direct denominations (XRP/USD/USDT/USDC).
Example
Json
{
  "price": "0.20",
  "asOf": 1745798400,
  "pair": {
    "id": "3c4a3de8-4218-400c-8c55-87dc27206753",
    "baseCurrency": "USD",
    "baseIssuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
    "quoteCurrency": "XRP",
    "quoteIssuer": null,
    "createdAt": "2025-04-26T00:00:00.000Z",
    "updatedAt": "2025-04-26T00:00:00.000Z"
  },
  "inverted": false,
  "denomination": "USD",
  "bridgeBase": "USD",
  "legs": {
    "native": {
      "price": "0.40",
      "source": "xrpl-dex",
      "asOf": 1745798400,
      "tradePairId": "3c4a3de8-4218-400c-8c55-87dc27206753"
    },
    "bridge": {
      "price": "0.50",
      "source": "cex_aggregate",
      "asOf": 1745798360,
      "asset": "XRP",
      "base": "USD"
    },
    "cross": null
  }
}
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": []
}