/nft/collection/{slug}/tradersnft-collectionTradersReturns the top traders for an NFT collection over the requested window. Each row is { account, role, tradeCount, volumeXrpDrops } where role is buyer or seller. Use role=buyer / role=seller to restrict to one side, or role=both (default) to get both sides (an account active on both appears twice). Ordered by descending XRP volume. windowDays=0 returns lifetime stats; otherwise the window is the trailing N days from now (default 30, max 365). Volume is summed in XRP drops only — non-XRP (IOU) sales contribute to counts but not to volume.
| 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 |
|---|---|---|---|
windowDays | integer | 30 | |
role | enum<string> | "both" | Available buyersellerboth |
limit | integer | 20 |
| Field | Type | Description |
|---|---|---|
items | object[] | Traders for the collection ordered by descending XRP-denominated volume. Empty when the slug does not resolve to an indexed collection or no sales occurred in the window. |
items[]. | string | XRPL classic address of the trader on the role-tagged side of the sale. |
items[]. | enum<string> | Which side of the sale this row represents. `buyer` = recipient; `seller` = sender. Available buyerseller |
items[]. | integer | Total sales on the role-tagged side within the window. |
items[]. | string | Sum of XRP-denominated sale amounts (drops) on the role-tagged side within the window. Non-XRP (IOU) sales contribute to `tradeCount` but not to volume. |
{
"items": [
{
"account": "string",
"role": "buyer",
"tradeCount": 0,
"volumeXrpDrops": "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": []
}