Sandbox version
For experimental use only. Proceed with caution.
richlist
Paginated richlist for an MPT issuance
get
/richlist/mpt/{issuanceId}
operationId: richlist-mpt

Paginated richlist for a single MPT (Multi-Purpose Token) issuance, ordered by absolute balance DESC with the account address as a deterministic tiebreaker. Each row carries the holder's balance plus curated account metadata (name, verified, verifiedBy, category) when available. The issuer account and zero-balance holders are excluded. Reads from the latest mpt_richlist_snapshot row for this issuance — sourced from mpt_holders (which the streaming indexer keeps live) since MPTs don't use trustlines and the protocol exposes no gateway_balances-equivalent RPC. Same response shape as /richlist/token/{tokenSlug} so a single client renderer works across both surfaces.

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>`.
Path Parameters
NameTypeDefaultDescription
issuanceId
required
string
MPTokenIssuance ID. Resolves to the latest captured snapshot for that issuance.
Query Parameters
NameTypeDefaultDescription
cursor
string
limit
integer50
Responses
200
application/json
Successful response
FieldTypeDescription
items
object[]
Holder rows ordered by |balance| DESC.
items[].address
string
XRPL classic address of the holder.
items[].balance
string
Current MPT balance held by the account, as a decimal string in token base units.
items[].name
object
Curated display name for the account, or `null` when metadata is unknown.
items[].verified
boolean
Whether the account's identity has been verified by a curated source. `false` when metadata is unknown.
items[].verifiedBy
object
Source that verified the account (e.g. `xrpscan`, `bithomp`), or `null`.
items[].category
object
Classification for the account (e.g. `exchange`, `issuer`, `project`), or `null`.
nextCursor
object
Opaque cursor to fetch the next page, or `null` when the current page is the last.
Example
Json
{
  "items": [
    {
      "address": "string",
      "balance": "string",
      "name": "string",
      "verified": false,
      "verifiedBy": "string",
      "category": "string"
    }
  ],
  "nextCursor": "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": []
}
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": []
}