Recipe 32 of 32
Which holders of a token have not moved in months? (diamond hands)
Rank a token's top 50 wallets by net inflow with /tokens/{token_address}/holders and keep the unlabelled ones whose last_active date is months old, then confirm the balance.
GET /v1/onchain/tokens/{token_address}/holders returns up to 50 wallets ranked by the USD of the token they took in minus what
they sent out. Each row carries first_seen and last_active, the first and last day the wallet moved the token.
An unlabelled wallet with a large net inflow and an old last_active has held without moving. The parameters are on Token holders and Wallet token balances.
Quick answer
# PEPE's top 50 accumulators, keeping the unlabelled ones that have not moved PEPE since 1 December 2025
curl -s -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/tokens/0x6982508145454ce325ddbe47a25d4ec3d2311933/holders?limit=50" \
| jq '[.[] | select(.entity == "" and .last_active < "2025-12-01")]'Example response
Captured from the live API on 2026-10-24 at 17:19 UTC: the 5 rows the filter kept out of 50.
0xcbc9…068d took in $51.6M of PEPE, at the price of the day, in one transfer on 2024-12-13 and has not moved it
since. An unlabelled row reads entity: "". The other 45 rows were labelled wallets, mostly exchanges and
custodians, or unlabelled wallets that moved PEPE after the cut-off.
[
{
"wallet": "0xcbc9fad51b83a50dbdc058704fe1355d7b13068d",
"net_flow_usd": 51597000.0,
"volume_usd": 51597000.0,
"tx_count": 1,
"first_seen": "2024-12-13",
"last_active": "2024-12-13",
"entity": "",
"wallet_type": ""
},
{
"wallet": "0xd7f9f54194c633f36ccd5f3da84ad4a1c38cb2cb",
"net_flow_usd": 17778073.676632,
"volume_usd": 42351030.804214,
"tx_count": 201,
"first_seen": "2024-06-06",
"last_active": "2025-03-31",
"entity": "",
"wallet_type": ""
},
{
"wallet": "0xe8f2c2d63443a0e403ba35c95dafe513eedbae12",
"net_flow_usd": 15246206.28,
"volume_usd": 15246206.28,
"tx_count": 1,
"first_seen": "2024-04-04",
"last_active": "2024-04-04",
"entity": "",
"wallet_type": ""
},
{
"wallet": "0x4abfae6c8dc55027ee93ac335172a8028cb4f60f",
"net_flow_usd": 12894188.832334,
"volume_usd": 21721833.860786,
"tx_count": 29,
"first_seen": "2024-11-14",
"last_active": "2025-11-06",
"entity": "",
"wallet_type": ""
},
{
"wallet": "0x7604187ec263e980cff54d95ae682db3718f1247",
"net_flow_usd": 12746545.522588,
"volume_usd": 21455688.545018,
"tx_count": 26,
"first_seen": "2024-11-15",
"last_active": "2025-11-06",
"entity": "",
"wallet_type": ""
}
]Variations
The whole ranking. Drop the filter to read all 50 rows with their dates.
# the full holder ranking
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/tokens/0x6982508145454ce325ddbe47a25d4ec3d2311933/holders?limit=50"Confirm it still holds. The ranking is not a balance. Read the wallet's current holdings from the chain.
# what the dormant wallet holds on Ethereum now
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/wallets/0xcbc9fad51b83a50dbdc058704fe1355d7b13068d/balances?chains=ethereum&min_usd=1000"Who the wallet is. Label the candidates before you call them holders: an unlabelled address can still be an exchange's cold wallet.
# labels for the dormant candidates
curl -X POST -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/labels/batch?addresses=0xcbc9fad51b83a50dbdc058704fe1355d7b13068d,0xe8f2c2d63443a0e403ba35c95dafe513eedbae12,0xd7f9f54194c633f36ccd5f3da84ad4a1c38cb2cb"Before you rely on it
Only the top 50 by net inflow
The route ranks wallets by USD in minus USD out at the price of each transfer, and stops at 50 rows. A long-term
holder outside that top 50 is not visible here, and the USD ranking is not the balance: a wallet can rank high and
hold nothing now. Confirm each candidate with /wallets/{address}/balances.
Not moved this token is not inactive
last_active is the last day the wallet moved this token, in or out, so the wallet can be busy with other
tokens. The ranking reads the token's whole history and is slow: this PEPE call took 14.9 seconds.
Ask your agent
Connected to the Vike MCP server (https://vike.io/mcp) in Claude, ChatGPT or Cursor, ask it in plain words.
The token_holders tool answers it, at 2 credits a call.
Which of PEPE's top holders have not moved their PEPE since December 2025?