/richlist/native/inforichlist-nativeInfoConcentration / 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.
| Name | Location | Details |
|---|---|---|
BearerAuth | Authorization header · bearer | JWT issued by the Honeycluster auth service for the `indexer` audience. Present as `Authorization: Bearer <token>`. |
| Field | Type | Description |
|---|---|---|
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[]. | 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[]. | object | Exclusive upper bound, or `null` for the open-ended top bucket. Same unit as `min`. |
byRange[]. | integer | Number of accounts whose balance falls inside the half-open `[min, max)` range. |
byRange[]. | 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[]. | 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[]. | integer | Number of accounts in the top-N percentile (= ceil(percentile × totalHolders)). |
byPercentile[]. | 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. |
{
"totalHolders": 0,
"totalSupply": "string",
"totalHeld": "string",
"byRange": [
{
"min": 0,
"max": 0,
"accountCount": 0,
"sumBalance": "string"
}
],
"byPercentile": [
{
"percentile": 0,
"accountCount": 0,
"balanceAtOrAbove": "string"
}
]
}| Field | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | object[] | An array of issues that were responsible for the error |
issues[]. | string |
{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}| Field | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | object[] | An array of issues that were responsible for the error |
issues[]. | string |
{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}| Field | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | object[] | An array of issues that were responsible for the error |
issues[]. | string |
{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}