curl --request GET \
--url https://public-api.birdeye.so/trader/gainers-losers \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/trader/gainers-losers"
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/trader/gainers-losers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"items": [
{
"address": "1JKP3jcMcBzpp5SUSj9DFMFZGiJiXLyuRyGYcf6E97z",
"pnl": 67395290.55367899,
"realized_pnl": 761218.7928862367,
"unrealized_pnl": 66634071.76079275,
"volume": 7103127.149509426,
"trade_count": 83,
"network": "solana"
},
{
"address": "81m9aRw8RSAKchZ6pZo1L8m6DeJskq8hLZoTLU5gzoUc",
"pnl": 64080474.36939919,
"realized_pnl": -26045.200510758965,
"unrealized_pnl": 64106519.56990995,
"volume": 971495.1923311986,
"trade_count": 82,
"network": "solana"
}
]
}
}Trader - Gainers/Losers
Retrieve detailed information about top gainers/losers
curl --request GET \
--url https://public-api.birdeye.so/trader/gainers-losers \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/trader/gainers-losers"
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/trader/gainers-losers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"items": [
{
"address": "1JKP3jcMcBzpp5SUSj9DFMFZGiJiXLyuRyGYcf6E97z",
"pnl": 67395290.55367899,
"realized_pnl": 761218.7928862367,
"unrealized_pnl": 66634071.76079275,
"volume": 7103127.149509426,
"trade_count": 83,
"network": "solana"
},
{
"address": "81m9aRw8RSAKchZ6pZo1L8m6DeJskq8hLZoTLU5gzoUc",
"pnl": 64080474.36939919,
"realized_pnl": -26045.200510758965,
"unrealized_pnl": 64106519.56990995,
"volume": 971495.1923311986,
"trade_count": 82,
"network": "solana"
}
]
}
}- Usage Note
- Accessibility
- Chain Supported
Top gaining and losing traders.
limitsupports up to100, andoffsetsupports up to10,000.- Use
typeto choose the ranking window and mode. sort_bycontrols the ranking basis.
- Standard
- Lite
- Starter
- Premium
- Business
- Enterprise
All chains ⛓️ ✨
Compute Unit ⚙️
Compute Unit ⚙️
- This endpoint consumes
30 CUper request.
Use Cases 💡
Use Cases 💡
- Rank top performing and worst performing traders over a selected window.
- Build gainers/losers trader boards and wallet discovery tools.
- Find unusual outperformers or underperformers for further wallet research.
How to Use 🛠️
How to Use 🛠️
- Set
x-chainfor the target network. - Choose the ranking
typeandsort_by. - Use
min_tradeandmax_tradeto filter by the number of trades. - Use
min_volume_usdandmax_volume_usdto filter by trading volume. - Use the realized, unrealized, or total PnL min/max filters to narrow the ranked traders by USD PnL.
- Page through the trader list with
offsetandlimit.
Best Practices ✅
Best Practices ✅
- Treat leaderboard position as a discovery signal, not a conclusion; follow up with wallet-level PnL and transaction review.
- Keep the selected time window visible so gains and losses are interpreted correctly.
Authorizations
API key for authentication
Headers
A chain name listed in supported networks.
solana, ethereum, bsc, base, robinhood, arc, sui, mantle, hyperevm, arbitrum, avalanche, optimism, polygon, zksync, monad, aptos, fogo, megaeth Query Parameters
Specify the type of top gainers/losers. Filter for records with type equal to the specified type.
yesterday, today, 1W, 30d, 90d Specify the sort field. Use trader_score to rank traders by an overall 0–100 score based on profitability, consistency, trading quality, and activity relative to other eligible traders. Higher scores indicate stronger overall trading performance.
PnL, realized_pnl, unrealized_pnl, trader_score Minimum number of trades. Must be greater than or equal to 0.
x >= 0Maximum number of trades. Must be greater than or equal to min_trade.
x >= 0Minimum trading volume in USD. Must be greater than or equal to 0.
x >= 0Maximum trading volume in USD. Must be greater than or equal to min_volume_usd.
x >= 0Minimum realized PnL in USD. Must be greater than or equal to 1000. Defaults to 1000 when sort_by=realized_pnl and this parameter is not provided.
Maximum realized PnL in USD. Must be greater than or equal to min_realized_pnl.
Minimum unrealized PnL in USD. Must be greater than or equal to 1000. Defaults to 1000 when sort_by=unrealized_pnl and this parameter is not provided..
Maximum unrealized PnL in USD. Must be greater than or equal to min_unrealized_pnl.
Minimum PnL in USD. Must be greater than or equal to 1000. Defaults to 1000 when sort_by=PnL and this parameter is not provided.
Maximum PnL in USD. Must be greater than or equal to min_pnl.
Pagination start position. offset + limit <= 10000
0 <= x <= 100001 <= x <= 100Was this page helpful?

