Trades - Pair
curl --request GET \
--url https://public-api.birdeye.so/defi/txs/pair \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/defi/txs/pair"
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/txs/pair', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"items": [
{
"txHash": "2s27V8t3HANqUA572KLqBNXFvGyqvYobFX2Cn3c5puoWbHSNCebjT6PDX7gixe5HjdNhuG7SuHpDroJXFrBpAFn1",
"source": "phoenix",
"blockUnixTime": 1754882843,
"txType": "swap",
"address": "4DoNfFBfF7UokCC2FQzriy7yHK6DY6NVdYpuekQ5pRgg",
"owner": "MfDuWeqSHEqTFVYZ7LoexgAK9dxk7cy4DFJWjWMGVWa",
"from": {
"symbol": "USDC",
"decimals": 6,
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": 4000129768,
"type": "log",
"typeSwap": "from",
"uiAmount": 4000.129768,
"price": 0.99986,
"nearestPrice": 0.99986,
"changeAmount": -4000129768,
"uiChangeAmount": -4000.129768,
"isScaledUiToken": false,
"multiplier": null
},
"to": {
"symbol": "SOL",
"decimals": 9,
"address": "So11111111111111111111111111111111111111112",
"amount": 21638000000,
"type": "log",
"typeSwap": "to",
"uiAmount": 21.638,
"price": 184.67395202659998,
"nearestPrice": 184.67395202659998,
"changeAmount": 21638000000,
"uiChangeAmount": 21.638,
"isScaledUiToken": false,
"multiplier": null
}
}
],
"hasNext": true
}
}Transactions
Trades - Pair
Retrieve a list of trades of a specified pair.
GET
/
defi
/
txs
/
pair
Trades - Pair
curl --request GET \
--url https://public-api.birdeye.so/defi/txs/pair \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/defi/txs/pair"
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/txs/pair', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"items": [
{
"txHash": "2s27V8t3HANqUA572KLqBNXFvGyqvYobFX2Cn3c5puoWbHSNCebjT6PDX7gixe5HjdNhuG7SuHpDroJXFrBpAFn1",
"source": "phoenix",
"blockUnixTime": 1754882843,
"txType": "swap",
"address": "4DoNfFBfF7UokCC2FQzriy7yHK6DY6NVdYpuekQ5pRgg",
"owner": "MfDuWeqSHEqTFVYZ7LoexgAK9dxk7cy4DFJWjWMGVWa",
"from": {
"symbol": "USDC",
"decimals": 6,
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": 4000129768,
"type": "log",
"typeSwap": "from",
"uiAmount": 4000.129768,
"price": 0.99986,
"nearestPrice": 0.99986,
"changeAmount": -4000129768,
"uiChangeAmount": -4000.129768,
"isScaledUiToken": false,
"multiplier": null
},
"to": {
"symbol": "SOL",
"decimals": 9,
"address": "So11111111111111111111111111111111111111112",
"amount": 21638000000,
"type": "log",
"typeSwap": "to",
"uiAmount": 21.638,
"price": 184.67395202659998,
"nearestPrice": 184.67395202659998,
"changeAmount": 21638000000,
"uiChangeAmount": 21.638,
"isScaledUiToken": false,
"multiplier": null
}
}
],
"hasNext": true
}
}- Usage Note
- Accessibility
- Chain Supported
Legacy trade list for one pair or pool.
- Pass the pair address in
address. limitsupports1to50items per request, andoffsetsupports up to50,000.tx_typedefaults toswapand can also be used to inspectaddorremoveliquidity events.- Pair-level trade history is useful when venue-specific behavior matters more than token-level aggregation.
- Use descending sort when you want the most recent trades first.
- Standard
- Lite
- Starter
- Premium
- Business
- Enterprise
All chains ⛓️ ✨
Compute Unit ⚙️
Compute Unit ⚙️
- This endpoint consumes
10 CUper request.
Use Cases 💡
Use Cases 💡
- Inspect venue-specific trade flow for one pool or pair.
- Monitor pair activity for LP analysis, execution review, or routing research.
- Compare one pair’s tape with token-level aggregates to spot fragmented liquidity behavior.
- Build pair trade feeds for dashboards or trading surfaces.
How to Use 🛠️
How to Use 🛠️
- Set
x-chainfor the target network. - Pass the pair address in
address. - Page with
offsetandlimit, keepinglimitat50or below. - Use
tx_typeto isolate swaps versus liquidity changes.
Best Practices ✅
Best Practices ✅
- Prefer pair-level trades when the asset has multiple active venues and you care about one exact market.
- Keep pair identity visible in your UI so the feed is not confused with token-wide trading.
- Pair this endpoint with pair OHLCV and liquidity endpoints for fuller venue diagnostics.
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
The address of a pair contract
Make sure offset + limit <= 10000
Required range:
0 <= x <= 9999Number of items per page.
Required range:
1 <= x <= 50Available options:
swap, add, remove, all Specify the sort order.
Available options:
desc, asc Indicate whether to use the scaled amount for scaled ui amount tokens. Only support solana
Available options:
raw, scaled Was this page helpful?

