---
title: "Token - Holder Distribution"
method: GET
path: "/holder/v1/distribution"
tags: ["Holder"]
---

# Token - Holder Distribution

`GET /holder/v1/distribution`

Retrieve distribution statistics for token holders based on their share of the total supply. Set include_list=true to return the wallet list for the specified range.

## Query parameters

- `token_address` string, required
- `address_type` 'wallet' | 'token_account'
- `mode` 'percent' | 'top'
- `top_n` integer
- `min_percent` number
- `max_percent` number
- `include_list` boolean
- `offset` integer
- `limit` integer

## Headers

- `x-chain` 'solana'

## Response `200`

JSON object containing token holder distribution details

- TokenHolderDistributionResponse
  - `success` boolean, required — Whether the request succeeded.
  - `data` object, required
    - `token_address` string, required — The token address the distribution was computed for.
    - `mode` 'percent' | 'top', required — The filter mode the result was computed with. `percent` = holders within the [min_percent, max_percent] supply range, `top` = the top_n holders by supply share.
    - `summary` object, required — Aggregated statistics across every holder matching the selected mode.
      - `wallet_count` integer — Number of matching holders. Counts token accounts instead of wallets when address_type=token_account.
      - `total_holding` string — Total token amount held by all matching holders.
      - `percent_of_supply` number — Percentage of total supply held by all matching holders.
    - `holders` object[], required — The matching holders, ordered by holding descending. Returned only when include_list=true; otherwise an empty array.
      - `wallet` string — Holder wallet address. Returned when address_type=wallet (default).
      - `token_account` string — Holder token account address. Returned when address_type=token_account.
      - `holding` string — Token amount held by this holder.
      - `percent_of_supply` number — Percentage of total supply held by this holder.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized. API key is missing or invalid
- `403` — Forbidden. Request is blacklisted or not whitelisted
- `429` — Too Many Requests. Rate limit reached
- `500` — Internal Server Error

---

[API](https://skmtc.net/birdeye/apis/birdeye-data-api.md) · [All operations](https://skmtc.net/birdeye/apis/birdeye-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/birdeye/birdeye-data-api/revisions/fcaba926a089/schema)
