curl --request GET \
--url https://public-api.birdeye.so/token/v1/wallet-tags-tracker/details \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/token/v1/wallet-tags-tracker/details"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://public-api.birdeye.so/token/v1/wallet-tags-tracker/details', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"token_address": "9cRCn9rGT8V2imeM2BaKs13yhMEais3ruM3rPvTGpump",
"time_frame": "1D",
"items": [
{
"unix_time": 1785024000,
"wallets": [
{
"wallet": "kn9DxXLihmitnvKTt33wvwzWQHmeX34MUNDsmbt3zNH",
"volume_buy": 0,
"volume_sell": 1852281.332125,
"volume_buy_usd": 0,
"volume_sell_usd": 346515.28093932976,
"tx_buy_count": 0,
"tx_sell_count": 19,
"tags": [
"dev",
"sniper",
"smart_trader"
],
"is_top_10_holder": true
},
{
"wallet": "6JJdhkhk2fsxJcv5f2pEfrkMfHDe6bJSWT6JF2pUXGAK",
"volume_buy": 154123.11024299997,
"volume_sell": 458600,
"volume_buy_usd": 28295.629788006085,
"volume_sell_usd": 88923.28892993511,
"tx_buy_count": 15,
"tx_sell_count": 60,
"tags": [
"smart_trader"
]
}
]
}
],
"has_more": true,
"next_time_from": 1785112156
}
}{
"success": false,
"message": "Bad request"
}{
"success": false,
"message": "Unauthorized"
}{
"success": false,
"message": "Access Denied"
}{
"success": false,
"message": "Too many requests"
}{
"success": false,
"message": "Internal Server Error"
}Token - Wallet Tags Tracker Details
Drill into the Wallet Tags Tracker: for each time bucket, list the individual tagged wallets that traded, with their per-wallet buy/sell volume and transaction counts. Use it to see exactly which developers, snipers, or smart-money wallets were active in a given candle.
curl --request GET \
--url https://public-api.birdeye.so/token/v1/wallet-tags-tracker/details \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/token/v1/wallet-tags-tracker/details"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://public-api.birdeye.so/token/v1/wallet-tags-tracker/details', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"token_address": "9cRCn9rGT8V2imeM2BaKs13yhMEais3ruM3rPvTGpump",
"time_frame": "1D",
"items": [
{
"unix_time": 1785024000,
"wallets": [
{
"wallet": "kn9DxXLihmitnvKTt33wvwzWQHmeX34MUNDsmbt3zNH",
"volume_buy": 0,
"volume_sell": 1852281.332125,
"volume_buy_usd": 0,
"volume_sell_usd": 346515.28093932976,
"tx_buy_count": 0,
"tx_sell_count": 19,
"tags": [
"dev",
"sniper",
"smart_trader"
],
"is_top_10_holder": true
},
{
"wallet": "6JJdhkhk2fsxJcv5f2pEfrkMfHDe6bJSWT6JF2pUXGAK",
"volume_buy": 154123.11024299997,
"volume_sell": 458600,
"volume_buy_usd": 28295.629788006085,
"volume_sell_usd": 88923.28892993511,
"tx_buy_count": 15,
"tx_sell_count": 60,
"tags": [
"smart_trader"
]
}
]
}
],
"has_more": true,
"next_time_from": 1785112156
}
}{
"success": false,
"message": "Bad request"
}{
"success": false,
"message": "Unauthorized"
}{
"success": false,
"message": "Access Denied"
}{
"success": false,
"message": "Too many requests"
}{
"success": false,
"message": "Internal Server Error"
}- Usage Note
- Accessibility
- Chain Supported
One row per wallet, per bucket. The response is a list of time buckets (items); each bucket has a unix_time (bucket open time) and a wallets array of the tagged wallets that traded in it.
- Each wallet row carries its own
volume_buy/volume_sell(token amounts) andvolume_buy_usd/volume_sell_usd, plustx_buy_count/tx_sell_count. tagslists the wallet’s tags for this token (dev,sniper,smart_trader,kol). A wallet can carry several.is_top_10_holderappears only whentop_10_holder=true, flagging wallets that are among the token’s top 10 holders.
Reading the numbers. Volumes are gross and leg-based — a transaction that both buys and sells counts on both sides, with no netting. tx_buy_count / tx_sell_count count that wallet’s buy/sell transactions in the bucket. Wallets are ordered by USD volume descending and capped per bucket by limit_wallet; buckets with no activity are omitted. At most limit_bucket buckets are returned — while has_more is true, pass next_time_from back as time_from to page forward.
- Lite
- Starter
- Premium
- Business
- Enterprise
Solana
Compute Unit ⚙️
Compute Unit ⚙️
- This endpoint consumes
30 CUper request.
Use Cases 💡
Use Cases 💡
- Drill into a single candle to see exactly which developers, snipers, and smart-money wallets bought or sold.
- Turn a volume spike from the summary endpoint into the actual wallet addresses behind it — ready to label, follow, or alert on.
- Track a known set of wallets over time by passing
wallets=, watching how specific actors accumulate or exit bucket by bucket. - Build wallet-level launch forensics and post-mortems that name who drove each phase, not just how much volume moved.
How to Use 🛠️
How to Use 🛠️
- Provide a
token_address, a requiredtime_fromunix timestamp in seconds, and a requiredtime_frame. Omittime_toto read activity up to now. - Pick
time_frameby the question you’re asking:1s–30sfor launch forensics,1m–30mfor intraday rotation,1h–1Mfor trend. - Use
tags=dev,sniper,smart_trader,kolto narrow the cohorts, orwallets=addr1,addr2(up to 50) to restrict to specific addresses. - Set
min_volume_usdto drop dust wallets, andtop_10_holder=trueto flag top holders viais_top_10_holder. - Tune
limit_wallet(wallets per bucket, up to 50) andlimit_bucket(buckets returned, up to 300). Whilehas_moreis true, passnext_time_fromback astime_fromto page forward.
Best Practices ✅
Best Practices ✅
- Use the Wallet Tags Tracker (summary) to spot the interesting buckets first, then drill into those windows here for the wallet-level detail.
- Raise
min_volume_usdto focus on wallets that actually moved the market and keep noise out of dashboards. - Pass
wallets=to follow a known cohort — insiders, a dev’s set, or flagged smart money — across every bucket in the range. - Keep
limit_wallettight for UI tables and page buckets withnext_time_fromrather than requesting an oversized range at once.
Limitations ⚠️
Limitations ⚠️
- Solana only.
- Supported tags are
dev,sniper,smart_trader, andkol. - Maximum range per time_frame — seconds: 30 days, minutes: 60 days, hours: 90 days,
1D/1W/1M: 365 days. Exceeding it returns 400. - Some highly held or high-cost tokens (wSOL, USDC, USDT, BONK) are not supported for this endpoint.
Authorizations
API key for authentication
Headers
Solana network only.
solana Query Parameters
Token mint address
"9cRCn9rGT8V2imeM2BaKs13yhMEais3ruM3rPvTGpump"
Start of the range, as a unix timestamp in seconds.
1782864000
End of the range, as a unix timestamp in seconds. Defaults to now. Must be greater than time_from, and within the time_frame's maximum range.
1785369600
Size of each time bucket. Must match the bucket the drilldown is read against.
1s, 5s, 15s, 30s, 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 1D, 1W, 1M "1D"
Comma-separated wallet tags to restrict the response to. Defaults to all supported tags.
dev, sniper, smart_trader, kol ["dev", "sniper", "smart_trader", "kol"]
Comma-separated wallet addresses to restrict the response to. Up to 50 addresses.
Only include wallets whose USD volume in a bucket is at least this value.
x >= 0Set to true to flag wallets that are among the token's top 10 holders (is_top_10_holder).
Max wallets returned per bucket, ordered by USD volume descending. 1-50.
1 <= x <= 50Max time buckets returned. 1-300. Use next_time_from to page beyond this.
1 <= x <= 300Was this page helpful?

