Skip to main content
GET
/
token
/
{network}
/
holders
/
{address}
/
historical
Get token holders overtime for a given tokens
curl --request GET \
  --url https://solana-gateway.moralis.io/token/{network}/holders/{address}/historical \
  --header 'X-Api-Key: <api-key>'
{
  "result": [
    {
      "timestamp": "2025-02-25T00:00:00Z",
      "totalHolders": 2000,
      "netHolderChange": 50,
      "holderPercentChange": 2.5,
      "newHoldersByAcquisition": {
        "swap": 150,
        "transfer": 50,
        "airdrop": 20
      },
      "holdersIn": {
        "whales": 5,
        "sharks": 12,
        "dolphins": 20,
        "fish": 100,
        "octopus": 50,
        "crabs": 200,
        "shrimps": 1000
      },
      "holdersOut": {
        "whales": 5,
        "sharks": 12,
        "dolphins": 20,
        "fish": 100,
        "octopus": 50,
        "crabs": 200,
        "shrimps": 1000
      }
    }
  ],
  "page": 123,
  "cursor": "<string>"
}
Endpoint cost: CUs. Learn more about compute units.

Authorizations

X-Api-Key
string
header
required

Path Parameters

network
enum<string>
required

The network to query

Available options:
mainnet,
devnet
address
string
required

The address to query

Example:

"6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN"

Query Parameters

cursor
string

The cursor to the next page

timeFrame
enum<string>
default:1min
required

The interval of the holders data

Available options:
1min,
5min,
10min,
30min,
1h,
4h,
12h,
1d,
1w,
1m
fromDate
string
required

The starting date (format in seconds or datestring accepted by momentjs)

toDate
string
required

The ending date (format in seconds or datestring accepted by momentjs)

limit
number
default:100

The limit per page depending on the plan

Response

200 - application/json
result
object[]
required
page
number
required

The current page number

cursor
string

The cursor to the next page