composite
Page-paginated list combining IOU tokens and MPTs
get
/composite/list
operationId: composite-list

Single page-paginated catalog that interleaves IOU tokens (token_data) and Multi-Purpose Tokens (mpt_issuances) into one ranked list. Each row carries a kind discriminator + the cross-asset projection (identity, name / ticker / icon, supply, holders, 24h volume, 24h price change, last trade time). Sort options are the intersection both sides denormalize on their own row — volume_24h_xrp (default), holders, created. (last_trade_at is surfaced on the response but not yet sortable: token_data doesn't denormalize it.) Use kind=token / kind=mpt to scope to one side; omit to interleave both. Optional search filter does a substring match on name / ticker / issuer, evaluated identically on both sides of the UNION.

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
page
integer1
pageSize
integer20
kind
enum<string>
Available
tokenmpt
search
string
sort
enum<string>"top"
Available
topvolume_24h_xrpholderscreated
sortDir
enum<string>"desc"
Available
ascdesc
Responses
200
application/json
Successful response
FieldTypeDescription
items
object[]
Items on the current page.
items[].kind
enum<string>
Discriminator — `token` for IOU, `mpt` for XLS-33d Multi-Purpose Tokens.
Available
tokenmpt
items[].id
string
Primary key — token UUID for IOU tokens, MPTokenIssuance ID for MPTs.
items[].slug
string
Natural identifier — `currency.issuer` for tokens, `issuance_id` for MPTs.
items[].issuer
string
Issuer classic XRPL address.
items[].name
object
Curated display name. Null when metadata is unresolved.
items[].ticker
object
Curated ticker / symbol.
items[].iconUrl
object
Curated icon URL.
items[].marketcapXrp
object
XRP-denominated market cap. Token-only — null on MPT rows where the concept doesn't apply uniformly.
items[].assetClass
object
XLS-89 asset class (`rwa` / `memes` / `wrapped` / `gaming` / `defi` / `other`). MPT-only — null on token rows.
items[].supply
object
Outstanding supply. `token_data.circulating_supply` for tokens, `mpt_issuances.current_supply` for MPTs.
items[].holders
object
Holder count. Tokens: `holders_count`; MPTs: `holder_count`.
items[].volume24hXrp
object
Trailing-24h XRP-denominated volume.
items[].priceChange24hPct
object
24h price change as percentage points, decimal string.
items[].lastTradeAt
object
Unix-seconds timestamp of the most recent trade across any pair.
items[].createdAt
integer
Row creation timestamp, Unix-seconds.
page
integer
1-indexed page number of the returned page.
pageSize
integer
Items per page (echoed from the request).
total
integer
Total number of items across all pages.
pageCount
integer
Total number of pages at the requested pageSize.
Example
Json
{
  "items": [
    {
      "kind": "token",
      "id": "string",
      "slug": "string",
      "issuer": "string",
      "name": "string",
      "ticker": "string",
      "iconUrl": "string",
      "marketcapXrp": "string",
      "assetClass": "string",
      "supply": "string",
      "holders": 0,
      "volume24hXrp": "string",
      "priceChange24hPct": "string",
      "lastTradeAt": 0,
      "createdAt": 0
    }
  ],
  "page": 0,
  "pageSize": 0,
  "total": 0,
  "pageCount": 0
}
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": []
}