richlist
XRP richlist distribution: range buckets + top-N percentile thresholds
get
/richlist/native/info
operationId: richlist-nativeInfo

Concentration / distribution summary for the native XRP balance. Returns two parallel views over every funded account on the latest snapshot: (1) byRange — account count + sum of XRP per canonical balance bucket ([0, 20), [20, 500), [500, 1k), …, [1B, ∞)); (2) byPercentile — for each percentile in [0.01%, 0.1%, 0.2%, 0.5%, 1%, 2%, 3%, 4%, 5%, 10%], the number of accounts in the top-N slice and the minimum XRP balance required to be in it. Also returns totalAccounts and totalXrp for the dataset.

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>`.
Responses
200
application/json
Successful response
FieldTypeDescription
totalHolders
integer
Total number of funded accounts (XRP balance > 0) on the latest validated ledger.
totalSupply
object
Total XRP supply across every funded account, as a decimal string. Mirrors the token-side `totalSupply` field for shape parity. Null only when no snapshot has been written yet.
totalHeld
string
Sum of XRP balances across every funded account, as a decimal string. Equals `totalSupply` for XRP — there is no issuer to exclude — but the field is duplicated so XRP and token /info responses share an identical shape.
byRange
object[]
Account-count + balance-sum partitioned across canonical XRP balance buckets ([0,20), [20,500), …, [1B, ∞)). `min` / `max` are absolute XRP amounts. Order matches `XRP_BALANCE_RANGES`.
byRange[].min
number
Inclusive lower bound for this bucket. XRP-side: balance in XRP. Token-side: balance as a percentage of total supply (e.g. `0.01` = 0.01%).
byRange[].max
object
Exclusive upper bound, or `null` for the open-ended top bucket. Same unit as `min`.
byRange[].accountCount
integer
Number of accounts whose balance falls inside the half-open `[min, max)` range.
byRange[].sumBalance
string
Sum of balances of accounts in this bucket, as a decimal string. XRP-side: in XRP. Token-side: in token base units.
byPercentile
object[]
Top-N percentile thresholds — for each entry, how many accounts are in that top-N slice and the minimum XRP balance to be in it. Order matches `XRP_RICHLIST_PERCENTILES` (0.01% → 100%).
byPercentile[].percentile
number
Top-N percentile as a decimal (e.g. `0.01` for "top 1%", `0.0001` for "top 0.01%", `1.0` for the entire population).
byPercentile[].accountCount
integer
Number of accounts in the top-N percentile (= ceil(percentile × totalHolders)).
byPercentile[].balanceAtOrAbove
object
Balance threshold such that every account in the top-N percentile holds at least this amount, as a decimal string. `null` when the dataset is empty.
Example
Json
{
  "totalHolders": 0,
  "totalSupply": "string",
  "totalHeld": "string",
  "byRange": [
    {
      "min": 0,
      "max": 0,
      "accountCount": 0,
      "sumBalance": "string"
    }
  ],
  "byPercentile": [
    {
      "percentile": 0,
      "accountCount": 0,
      "balanceAtOrAbove": "string"
    }
  ]
}
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": []
}