/nft/collection/{slug}/holdersnft-collectionHoldersReturns the holder list for an NFT collection, grouped by current owner. Each row is { owner, nftCount, firstAcquiredAt } where firstAcquiredAt is the earliest acquisition time among the holder's NFTs in the collection. Ordered by descending nftCount with owner ascending as a stable tiebreaker. Cursor-paginated via an opaque base64 {nftCount, owner} token. Returns an empty items array when the slug does not resolve to an indexed collection.
| Name | Location | Details |
|---|---|---|
BearerAuth | Authorization header · bearer | JWT issued by the Honeycluster auth service for the `indexer` audience. Present as `Authorization: Bearer <token>`. |
| Name | Type | Default | Description |
|---|---|---|---|
slugrequired | string | Collection slug in `issuer:taxon` form. Example: `rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B:42`. |
| Name | Type | Default | Description |
|---|---|---|---|
cursor | string | ||
limit | integer | 50 |
| Field | Type | Description |
|---|---|---|
items | object[] | Holders ordered by descending `nftCount`, with `owner` ascending as a stable tiebreaker. Empty when the slug does not resolve to an indexed collection or the collection has no indexed NFTs. |
items[]. | string | XRPL account address that holds at least one NFT in the collection. |
items[]. | integer | Number of NFTs in the collection currently attributed to this owner. |
items[]. | integer | Unix-seconds timestamp of the earliest acquisition time among the holder's NFTs in the collection. |
nextCursor | object | Cursor for the next page, or null when this is the last page. |
{
"items": [
{
"owner": "string",
"nftCount": 0,
"firstAcquiredAt": 1745798400
}
],
"nextCursor": "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": "BAD_REQUEST",
"message": "Invalid input data",
"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": "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": "NOT_FOUND",
"message": "Not found",
"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": []
}