Tokens API
Tracked-wallet activity around tokens: every trade on a given mint, a per-wallet roll-up for a mint, and a discovery view of tokens many wallets are holding at once.
All endpoints require your API key (Authorization: Bearer <API_KEY>) and cost
heavier credits (these run wider scans).
GET /tokens/{mint}/swaps
Every tracked-wallet swap on a single mint, newest first.
Query parameters
| Name | Type | Default | Description |
|---|---|---|---|
aggregate | bool | false | If true, return one roll-up row per wallet instead of raw swaps. |
tracked_only | bool | true | Raw mode only: restrict to tracked wallets. |
Raw response (aggregate=false)
{
"mint": "FSA7iqBeeENna2LUmZyqCYce7op2jBc9ztXLKdM6bonk",
"count": 18,
"items": [
{
"block_time": 1781450361,
"wallet": "W72",
"side": "sell",
"base_mint": "FSA7iqBeeENna2LUmZyqCYce7op2jBc9ztXLKdM6bonk",
"base_symbol": null,
"base_amount": "6280118271393",
"base_decimals": 6,
"quote_mint": "So11111111111111111111111111111111111111112",
"quote_amount": "9311208742",
"program": "FLASHX8DrLbgeR8FcfNV1F5krxYcYMUdBkrP1EPBtxB9",
"confidence": "delta_only",
"quote_mismatch": false
}
]
}
| Field | Meaning |
|---|---|
block_time | Trade time (display-salted by a few seconds). |
wallet | Opaque alias. |
side | buy or sell. |
base_amount | Raw token amount (divide by 10 ^ base_decimals). Display-salted. |
quote_mint | The quote coin (WSOL / USDC / USDT). |
quote_amount | Raw quote amount. For WSOL it's lamports (/ 1e9 for SOL). Salted. |
confidence | high or delta_only (how the swap was derived). |
quote_mismatch | true if no clean opposing quote leg was found. |
Aggregated response (aggregate=true)
One row per wallet that traded the mint, with the position facts:
{
"mint": "FSA7iqBeeENna2LUmZyqCYce7op2jBc9ztXLKdM6bonk",
"tracked_wallets": 4,
"wallets": [
{
"wallet": "W221",
"alias": "W221",
"buys": 2,
"sells": 2,
"base_bought": "23606614317783",
"base_sold": "21460559039733",
"base_net": "2146055278050",
"sol_in": 8.69,
"sol_out": 5.63,
"pct_held": 0.0909,
"first_buy_time": 1781448342,
"last_trade_time": 1781448742,
"entry_mcap": 51230.0
}
]
}
| Field | Meaning |
|---|---|
base_bought/sold | Raw tokens bought / sold. |
base_net | base_bought − base_sold (what's still held). |
sol_in / out | SOL spent buying / received selling. |
pct_held | base_net / base_bought — fraction of the buy still held. |
entry_mcap | Market cap (USD) snapshotted at the wallet's first buy. |
GET /tokens/held
Tokens currently held by at least N tracked wallets — a quick way to see what smart money is collectively sitting on. 25 per page, ordered by how many wallets co-hold each token (highest first).
"Held" uses the same definition as wallet holdings: net buys − sells > 0.
Query parameters
| Name | Type | Default | Description |
|---|---|---|---|
min_wallets | int | 2 | Held by at least this many wallets (≥). |
page | int | 1 | Page number (≥1). |
Response
{
"min_wallets": 2,
"page": 1,
"page_size": 25,
"total": 2,
"has_more": false,
"items": [
{
"token": { "address": "FSA7iqBeeENna2LUmZyqCYce7op2jBc9ztXLKdM6bonk", "decimals": 6 },
"holders": { "wallet_count": 4, "wallets": ["W72", "W99", "W221", "W225"] },
"aggregate": { "tokens_held": 18452310.42, "sol_invested": 21.7 }
}
]
}
| Field | Meaning |
|---|---|
holders.wallet_count | How many tracked wallets currently hold the token. |
holders.wallets | Their aliases. |
aggregate.tokens_held | Total still held across those wallets (display-salted). |
aggregate.sol_invested | Total SOL those wallets spent buying it (display-salted). |