curl --request GET \
--url https://public-api.birdeye.so/defi/v3/token/txs \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/defi/v3/token/txs"
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/defi/v3/token/txs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"items": [
{
"tx_type": "buy",
"tx_hash": "3fqsirN8vbhBLHS2cVAaCXTdsCcCua75LgcBX6Z2G2yupM9cDEsmo2TP5AhXvEUBZ91xyy3KWiuDdHxoFVnp1R88",
"ins_index": 2,
"inner_ins_index": 0,
"block_unix_time": 1740380278,
"block_number": 322728531,
"volume_usd": 0.0005729458359923133,
"volume": 1733.23946,
"owner": "8bP4FJNXwN5Q4a6EybtHwsiAnxFFWb93sY38mYdo6Pr2",
"signers": [
"8bP4FJNXwN5Q4a6EybtHwsiAnxFFWb93sY38mYdo6Pr2"
],
"source": "raydium",
"side": "buy",
"alias": null,
"price_pair": 486318591.4702581,
"from": {
"symbol": "PEPEAI",
"address": "7nM97F8takLArrKLJdT62L54jTtX1e7h7qPSjtBrsMQA",
"decimals": 6,
"price": 3.5071289483955604e-7,
"amount": "1733239460",
"ui_amount": 1733.23946,
"ui_change_amount": -1733.23946
},
"to": {
"symbol": "SOL",
"address": "So11111111111111111111111111111111111111112",
"decimals": 9,
"price": 160.7592132413898,
"amount": "3564",
"ui_amount": 0.000003564,
"ui_change_amount": 0.000003564
},
"pool_id": "8aTXVUjPcUSwSLAbUegaKTQdB6SaNosSKQkURvpbLCNC"
}
],
"has_next": true
},
"success": true
}Trades - Token (V3)
Retrieve a list of trades with various filters of a specified token.
curl --request GET \
--url https://public-api.birdeye.so/defi/v3/token/txs \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/defi/v3/token/txs"
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/defi/v3/token/txs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"items": [
{
"tx_type": "buy",
"tx_hash": "3fqsirN8vbhBLHS2cVAaCXTdsCcCua75LgcBX6Z2G2yupM9cDEsmo2TP5AhXvEUBZ91xyy3KWiuDdHxoFVnp1R88",
"ins_index": 2,
"inner_ins_index": 0,
"block_unix_time": 1740380278,
"block_number": 322728531,
"volume_usd": 0.0005729458359923133,
"volume": 1733.23946,
"owner": "8bP4FJNXwN5Q4a6EybtHwsiAnxFFWb93sY38mYdo6Pr2",
"signers": [
"8bP4FJNXwN5Q4a6EybtHwsiAnxFFWb93sY38mYdo6Pr2"
],
"source": "raydium",
"side": "buy",
"alias": null,
"price_pair": 486318591.4702581,
"from": {
"symbol": "PEPEAI",
"address": "7nM97F8takLArrKLJdT62L54jTtX1e7h7qPSjtBrsMQA",
"decimals": 6,
"price": 3.5071289483955604e-7,
"amount": "1733239460",
"ui_amount": 1733.23946,
"ui_change_amount": -1733.23946
},
"to": {
"symbol": "SOL",
"address": "So11111111111111111111111111111111111111112",
"decimals": 9,
"price": 160.7592132413898,
"amount": "3564",
"ui_amount": 0.000003564,
"ui_change_amount": 0.000003564
},
"pool_id": "8aTXVUjPcUSwSLAbUegaKTQdB6SaNosSKQkURvpbLCNC"
}
],
"has_next": true
},
"success": true
}- Usage Note
- Accessibility
- Chain Supported
Filtered V3 trade feed for one token.
- Pass the token address in
address. limitsupports1to100items per request, andoffset + limitmust stay within10,000.tx_typesupports side-aware values such asswap,buy,sell,add,remove, andall.- Only one range model is allowed per request: block-time filters or block-number filters.
- If
before_timeis provided,after_timeis also required, and the block-time window cannot exceed 30 days. - If only
after_timeis provided with noowner, it must still be within the last 30 days. - If
before_block_numberis provided,after_block_numberis also required, and block-number range cannot exceed500,000blocks. - On Solana, results may include
signers, andsourcefiltering is supported only on Solana.
- Standard
- Lite
- Starter
- Premium
- Business
- Enterprise
All chains ⛓️ ✨
Compute Unit ⚙️
Compute Unit ⚙️
- This endpoint consumes
12 CUper request.
Use Cases 💡
Use Cases 💡
- Track the latest DEX trades for a specific token across all supported DEXes.
- Ideal for analyzing token activity, trading momentum, or unusual volume spikes.
- View the latest on-chain trades for a specific token.
- Great for tracking whale activity, token movements, or suspicious patterns.
- Analyze one token’s raw trade flow with richer filtering than the legacy endpoint.
- Separate buys, sells, swaps, and liquidity actions around a token event.
- Investigate which wallets, pools, or venues were responsible for a move.
- Feed token-detail pages, bots, and research pipelines with a structured V3 trade stream.
How to Use 🛠️
How to Use 🛠️
- Set
x-chainfor the target network and pass the token address inaddress. - Filter by
tx_type,owner,pool_id, and optionallysourceon Solana. - Use either time range or block-number range filters, not both.
- Keep
offset + limit <= 10000.
Best Practices ✅
Best Practices ✅
- Start with token V3 when you need explainability around who traded and where, not just that trades happened.
- Use side-aware
buyandsellfilters to build cleaner flow analytics than swap-only views. - Join this feed with holder, wallet, and price endpoints to turn raw prints into attribution.
Authorizations
API key for authentication
Headers
A chain name listed in supported networks.
solana, ethereum, bsc, base, robinhood, sui, mantle, hyperevm, arbitrum, avalanche, optimism, polygon, zksync, monad, aptos, fogo, megaeth Query Parameters
The address of the token contract.
Make sure offset + limit <= 10000
0 <= x <= 9999Number of items per page.
1 <= x <= 100block_unix_time, block_number Specify the sort order.
desc swap, buy, sell, add, remove, all Source of the liquidity (AMMs). Only support solana.
raydium, raydium_clamm, raydium_cp, orca, lifinity, fluxbeam, saber, phoenix, bonkswap, meteora_dlmm, pump_amm, humidifi, bisonfi, solfi_v2, alphaq, aquifer, solfi, whirlpool, goonfi, goonfi_v2, tesserav, jupiterz, vertigo, pump_dot_fun, raydium_launchlab, meteora_virtual_curve, meteora_dynamic_bonding_curve The address of the wallet.
The address of the liquidity pool.
Specify the time seeked before using unix timestamps in seconds
1 <= x <= 10000000000Specify the time seeked after using unix timestamps in seconds
1 <= x <= 10000000000Specify the upper bound of block_number for the filter range, excluding values equal to before_block_number.
1 <= x <= 9007199254740991Specify the lower bound of block_number for the filter range, excluding values equal to after_block_number.
1 <= x <= 9007199254740991Indicate whether to use the scaled amount for scaled ui amount tokens. Only support solana
raw, scaled Was this page helpful?

