/v1/holders/list/{id}
Paginated holder richlist with acquisition tracking
Request
https://api.xrpl.to/v1/holders/list/0dd550278b74cb6690fdae351e8e0df3| Path parameter | Value | Description |
|---|---|---|
| id | A token id: its md5, slug or issuer_currency |
| Query parameter | Value | Description |
|---|---|---|
| offset | int | |
| limit | int (default: 20, max 200) | |
| freeze | bool - only frozen trustlines | |
| sort | balance|value|holding|percent|change24h|pnl (value/percent are balance/holding aliases; default: balance desc) | |
| order | asc|desc | |
| search | account address (min 3 chars) | |
| minBalance | float - min balance (token units) | |
| maxBalance | float - max balance (token units) |
curl 'https://api.xrpl.to/v1/holders/list/0dd550278b74cb6690fdae351e8e0df3'
Response
https://api.xrpl.to/v1/holders/list/0dd550278b74cb6690fdae351e8e0df3{ "success": true, "took": 173, "summary": { "top10Hold": 79.9, "top20Hold": 93.8, "top50Hold": 98.2, "top100Hold": 98.4, "gini": 0.9997, "hhi": 799, "frozen": 1 }, "length": 67591, "richList": [ { "account": "rEq4b7nbL2ep44Fgk9bPwpynGRjyESpf5B", "balance": 149850041.6700765, "freeze": false, "id": 1, "holding": 14.68, "isCreator": false, "rank": 1, "xrpBalance": 173111002.397956, "lastActive": 1792070722, "name": "Gemini", "domain": null, "funder": { "account": "raBQUYdAhnnojJQ6Xi3eXztZ74ot24RDq1", "name": "Gemini", "fundedCount": 11281, "fundedAt": 1761243532000, "amountXrp": 2.42 } }, { "account": "rDgBDkeTe5rbtRn2DJP8kHvQTuw28h8UVr", "balance": 131512039.6718009, "freeze": false, "id": 2, "holding": 12.89, "isCreator": false, "rank": 2, "xrpBalance": 873.00944, "lastActive": 1792048711, "name": null, "domain": null, "funder": { "account": "rDAE53VfMvftPB4ogpWGWvzkQxfht6JPxr", "name": "Binance", "fundedCount": 180369, "fundedAt": 1642593811000, "amountXrp": 53.696 } }, { "account": "rKWoRYn65imVUUF2Hmtpp78E6NAjTf6ExL", "balance": 105000000.0000102, "freeze": false, "id": 3, "holding": 10.29, "isCreator": false, "rank": 3, "xrpBalance": 90.602637, "lastActive": 1791908100, "name": null, "domain": null, "funder": { "account": "rsM7KAW1wutm2qxeF2FUWb9yRmSPjjS2Ex", "name": null, "fundedCount": 2, "fundedAt": 1783600322000, "amountXrp": 10 } }, { "account": "rfxRtJ3apsuJs5TauCHCZB7ab4C1WvoBs", "balance": 80000000.0000102, "freeze": false, "id": 4, "holding": 7.84, "isCreator": false, "rank": 4, "xrpBalance": 1.99998, "lastActive": 1779800861, "name": null, "domain": null, "funder": { "account": "r4vFWRRZBXsWipgCLJBs6EqnMh7MRHbhyp", "name": null, "fundedCount": 1, "fundedAt": 1779460210000, "amountXrp": 1.99999 } }, { "account": "r4vFWRRZBXsWipgCLJBs6EqnMh7MRHbhyp", "balance": 79999000, "freeze": false, "id": 5, "holding": 7.84, "isCreator": false, "rank": 5, "xrpBalance": 480666.555287, "lastActive": 1788049990, "name": null, "domain": null, "funder": { "account": "r3zP2xtUwAQUpgnXqLSVMMhNPumkaiij5r", "name": null, "fundedCount": 6, "fundedAt": 1753879482000, "amountXrp": 11228.138996 } } ] }
Long arrays and strings are shortened in the example; Send request for the full answer.
{ success, took, summary: { top10Hold, top20Hold, top50Hold, top100Hold, frozen }, length (total holders; filtered count when search/minBalance/maxBalance set), richList[]: { account, balance, holding, rank, freeze, frozenByIssuer?, isCreator, xrpBalance, lastActive, name, domain, funder, tradedPct?, tradeCount?, source?, acquisition?, isAMM?, pnl? (realized+residual XRP), roi?, unrealized?, bought?/sold? (XRP volume), lastTrade? } }
What it does
Paginated holder richlist with acquisition tracking