Trades - Recent (V3)
curl --request GET \
--url https://public-api.birdeye.so/defi/v3/txs/recent \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/defi/v3/txs/recent"
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/txs/recent', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"items": [
{
"base": {
"symbol": "CLIPPY",
"address": "GCLTmivKZfxYi8SV17FrpqH8HZtJauoePQPRHxJxBAGS",
"decimals": 9,
"price": 0.00026036603447282113,
"amount": "24285885836773",
"ui_amount": 24285.885836773,
"ui_change_amount": 24285.885836773,
"type_swap": "to",
"is_scaled_ui_token": false,
"multiplier": null
},
"quote": {
"symbol": "SOL",
"address": "So11111111111111111111111111111111111111112",
"decimals": 9,
"price": 185.6186502639611,
"amount": "34118151",
"ui_amount": 0.034118151,
"ui_change_amount": -0.034118151,
"type_swap": "from",
"is_scaled_ui_token": false,
"multiplier": null
},
"tx_type": "swap",
"tx_hash": "4z62PXFvbo52qY66XAMhsaKSfNH9MoBinFQtsjoZcjRTc2gCGP2o86yTUdaHpnYozHxNkiATX3KRGPfFb7CyjoPW",
"ins_index": 0,
"inner_ins_index": 3,
"block_unix_time": 1754885184,
"block_number": 359262879,
"volume_usd": 6.332965138122014,
"volume": 24285.885836773,
"owner": "7dGrdJRYtsNR8UYxZ3TnifXGjGc9eRYLq9sELwYpuuUu",
"signers": [
"7dGrdJRYtsNR8UYxZ3TnifXGjGc9eRYLq9sELwYpuuUu"
],
"source": "meteora_dlmm",
"interacted_program_id": "King7ki4SKMBPb3iupnQwTyjsq294jaXsgLmJo8cb7T",
"pool_id": "6LR2pDMBbYZNhj1iF86b4X5zRYyX7BNrhpzRDEZYNam9"
}
],
"hasNext": true
}
}Transactions
Trades - Recent (V3)
Retrieve a list of recent trades.
GET
/
defi
/
v3
/
txs
/
recent
Trades - Recent (V3)
curl --request GET \
--url https://public-api.birdeye.so/defi/v3/txs/recent \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/defi/v3/txs/recent"
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/txs/recent', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"items": [
{
"base": {
"symbol": "CLIPPY",
"address": "GCLTmivKZfxYi8SV17FrpqH8HZtJauoePQPRHxJxBAGS",
"decimals": 9,
"price": 0.00026036603447282113,
"amount": "24285885836773",
"ui_amount": 24285.885836773,
"ui_change_amount": 24285.885836773,
"type_swap": "to",
"is_scaled_ui_token": false,
"multiplier": null
},
"quote": {
"symbol": "SOL",
"address": "So11111111111111111111111111111111111111112",
"decimals": 9,
"price": 185.6186502639611,
"amount": "34118151",
"ui_amount": 0.034118151,
"ui_change_amount": -0.034118151,
"type_swap": "from",
"is_scaled_ui_token": false,
"multiplier": null
},
"tx_type": "swap",
"tx_hash": "4z62PXFvbo52qY66XAMhsaKSfNH9MoBinFQtsjoZcjRTc2gCGP2o86yTUdaHpnYozHxNkiATX3KRGPfFb7CyjoPW",
"ins_index": 0,
"inner_ins_index": 3,
"block_unix_time": 1754885184,
"block_number": 359262879,
"volume_usd": 6.332965138122014,
"volume": 24285.885836773,
"owner": "7dGrdJRYtsNR8UYxZ3TnifXGjGc9eRYLq9sELwYpuuUu",
"signers": [
"7dGrdJRYtsNR8UYxZ3TnifXGjGc9eRYLq9sELwYpuuUu"
],
"source": "meteora_dlmm",
"interacted_program_id": "King7ki4SKMBPb3iupnQwTyjsq294jaXsgLmJo8cb7T",
"pool_id": "6LR2pDMBbYZNhj1iF86b4X5zRYyX7BNrhpzRDEZYNam9"
}
],
"hasNext": true
}
}- Usage Note
- Accessibility
- Chain Supported
Latest V3 trade feed on one chain.
- This endpoint is optimized for freshness rather than deep archival queries.
limitsupports1to500items per request, andoffset + limitmust stay within10,000.- You may filter by time or block-number window, but only one range model is allowed per request.
sort_byis selected automatically from the range filter you use, and sort order is descending.tx_typesupports side-aware values such asbuyandsell.- On Solana,
ui_amount_modecan switch betweenrawandscaled; other chains are normalized toscaled.
- Standard
- Lite
- Starter
- Premium
- Business
- Enterprise
All chains ⛓️ ✨
Compute Unit ⚙️
Compute Unit ⚙️
- CU is dynamic:
12 CUfor up to100items,30 CUfor up to300items, and50 CUfor up to500items.
Use Cases 💡
Use Cases 💡
- Get recent DEX trades across all tokens and pairs on a specific chain.
- Great for tracking whale activity, token movements, or suspicious patterns.
- Drive the freshest trade feed for dashboards, monitors, and alert pipelines.
- Watch a chain for sudden buy, sell, or swap bursts in near real time.
- Build recent-flow widgets before deciding which tokens deserve deeper analysis.
- Feed streaming-like polling systems when WebSocket is not the chosen integration.
How to Use 🛠️
How to Use 🛠️
- Set
x-chainfor the target network. - Use
tx_typeand optionalownerfilters to shape the recent feed. - Optionally narrow by recent time or block range, but do not mix both.
- Keep the request under the
10,000total record cap fromoffset + limit.
Best Practices ✅
Best Practices ✅
- Poll on a steady cadence and deduplicate by transaction identifiers in your consumer.
- Keep limits as low as the UI or job can tolerate so CU stays efficient.
- Use this endpoint for freshness, then hand off to
Trades - All (V3)or token-specific endpoints for deeper backfills.
Authorizations
API key for authentication
Headers
A chain name listed in supported networks.
Available options:
solana, ethereum, bsc, base, robinhood, sui, mantle, hyperevm, arbitrum, avalanche, optimism, polygon, zksync, monad, aptos, fogo, megaeth Query Parameters
Make sure offset + limit <= 10000
Required range:
0 <= x <= 9999Number of items per page.
Required range:
1 <= x <= 500Available options:
swap, add, remove, all The address of the wallet.
Specify the time seeked before using unix timestamps in seconds
Required range:
1 <= x <= 10000000000Specify the time seeked after using unix timestamps in seconds
Required range:
1 <= x <= 10000000000Specify the upper bound of block_number for the filter range, excluding values equal to before_block_number.
Required range:
1 <= x <= 9007199254740991Specify the lower bound of block_number for the filter range, excluding values equal to after_block_number.
Required range:
1 <= x <= 9007199254740991Indicate whether to use the scaled amount for scaled ui amount tokens. Only support solana
Available options:
raw, scaled Was this page helpful?

