vike

Recipe 30 of 32

PEPE on-chain analytics: top holders, whales, buyers and sellers

Resolve the token with /tokens/search, rank its biggest accumulators with /tokens/{token_address}/holders, and read the period's top buyers and sellers with /tokens/{token_address}/transfers.

A token page takes three routes. GET /v1/onchain/tokens/search?q=PEPE gives the contract address. /tokens/{token_address}/holders ranks up to 50 wallets by the USD of the token they took in minus what they sent out, with labels. And /tokens/{token_address}/transfers lists the top 10 buyers or sellers of a period. The same calls work for any token, AERO on Base included. The parameters are on Token search, Token holders and Token transfers.

Quick answer

cURL
# PEPE's 50 biggest accumulators on Ethereum, with labels
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/onchain/tokens/0x6982508145454ce325ddbe47a25d4ec3d2311933/holders?limit=50"

Example response

Captured from the live API on 2026-10-24 at 17:19 UTC, trimmed to 3 of 50 rows.

net_flow_usd is the USD value of PEPE received minus sent, at the price of each transfer, over our whole history. The top of the list is exchanges: Binance, Robinhood and Upbit, all wallet_type: cex. last_active is the last day the wallet moved PEPE.

Example response
[
  {
    "wallet": "0xf977814e90da44bfa03b6295a0616a897441acec",
    "net_flow_usd": 639014845.281484,
    "volume_usd": 1070775293.420522,
    "tx_count": 98,
    "first_seen": "2023-05-19",
    "last_active": "2026-10-23",
    "entity": "binance",
    "wallet_type": "cex"
  },
  {
    "wallet": "0x73af3bcf944a6559933396c1577b257e2054d935",
    "net_flow_usd": 256594293.626549,
    "volume_usd": 731364142.501379,
    "tx_count": 115,
    "first_seen": "2024-11-15",
    "last_active": "2026-04-14",
    "entity": "robinhood",
    "wallet_type": "cex"
  },
  {
    "wallet": "0x3f9a8345729ea842708e080e238c92731e5699b8",
    "net_flow_usd": 244499862.276316,
    "volume_usd": 892103259.89624,
    "tx_count": 4245,
    "first_seen": "2024-08-20",
    "last_active": "2026-10-24",
    "entity": "upbit",
    "wallet_type": "cex"
  }
]

Variations

Find the address. Resolve the ticker first when you start from a name.

cURL — address
# the PEPE contract on Ethereum
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/onchain/tokens/search?q=PEPE&limit=3"

Today's buyers. The top 10 wallets by PEPE received in the period, data fields only.

cURL — buyers
# the 24h buyers, first three rows, presentation strings dropped
curl -s -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/onchain/tokens/0x6982508145454ce325ddbe47a25d4ec3d2311933/transfers?period=24h&tab=bought" \
  | jq '.[:3] | map({address, bought, sold, net_tokens, net_usd})'

Captured from the live API on 2026-10-24 at 17:19 UTC.

Response — today's buyers
[
  {
    "address": "0x28c6c06298d514db089934071355e5743bf21d60",
    "bought": 1508627782730.8784,
    "sold": 1825020102930.56,
    "net_tokens": -316392320199.68164,
    "net_usd": 1240077.907308
  },
  {
    "address": "0x21a31ee1afc51d94c2efccaa2092ad1028285549",
    "bought": 893894994880.65,
    "sold": 566675819062.99,
    "net_tokens": 327219175817.66003,
    "net_usd": -1484972.810666
  },
  {
    "address": "0xeae7380dd4cef6fbd1144f49e4d1e6964258a4f4",
    "bought": 861528322573.0455,
    "sold": 859542824338.0455,
    "net_tokens": 1985498234.999983,
    "net_usd": -9053.417742
  }
]

Today's sellers. The other side of the same period.

cURL — sellers
# the 24h sellers
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/onchain/tokens/0x6982508145454ce325ddbe47a25d4ec3d2311933/transfers?period=24h&tab=sold"

AERO on Base. The same page for a Base token: pass chain=base and the token's Base address.

cURL — AERO on Base
# the 24h sellers of AERO on Base
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/onchain/tokens/0x940181a94a35a4569e4529a3cdfb74e38fd98631/transfers?period=24h&tab=sold&chain=base"

Before you rely on it

Holders are accumulators, not balances

The holder ranking is USD in minus USD out over our recorded history, not a current balance, and it stops at 50 rows. Exchanges and contracts dominate it. To see what one wallet holds now, call /wallets/{address}/balances.

tab=bought ranks by everything received

bought is every PEPE the wallet received in the period, not what it purchased. The first captured buyer, Binance 14, received 1.51 trillion PEPE and sent out more, so its net_tokens is negative: a net seller. Read net_tokens before you call a wallet a buyer. The list is fixed at 10 rows.

No per-token net flow, and the holder call is slow

The screener's net_flow_usd for a token is supply minted minus burned, not buying pressure, so it is left out here. The holder ranking reads the token's whole history: PEPE took 14.9 seconds, and the busiest tokens on Base take tens of 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 (2 credits) answers the first part and token_transfers (2 credits) the second.

Ask your agent
Who are the top holders of PEPE, and who bought the most in the last 24 hours?
Example response
[  {    "wallet": "0xf977814e90da44bfa03b6295a0616a897441acec",    "net_flow_usd": 639014845.281484,    "volume_usd": 1070775293.420522,    "tx_count": 98,    "first_seen": "2023-05-19",    "last_active": "2026-10-23",    "entity": "binance",    "wallet_type": "cex"  },  {    "wallet": "0x73af3bcf944a6559933396c1577b257e2054d935",    "net_flow_usd": 256594293.626549,    "volume_usd": 731364142.501379,    "tx_count": 115,    "first_seen": "2024-11-15",    "last_active": "2026-04-14",    "entity": "robinhood",    "wallet_type": "cex"  },  {    "wallet": "0x3f9a8345729ea842708e080e238c92731e5699b8",    "net_flow_usd": 244499862.276316,    "volume_usd": 892103259.89624,    "tx_count": 4245,    "first_seen": "2024-08-20",    "last_active": "2026-10-24",    "entity": "upbit",    "wallet_type": "cex"  }]