curl --request GET \
--url https://demo-api.mobula.io/api/2/token/trader-positions{
"data": [
{
"chainId": "<string>",
"walletAddress": "<string>",
"tokenAddress": "<string>",
"tokenAmount": "<string>",
"tokenAmountRaw": "<string>",
"tokenAmountUSD": "<string>",
"percentageOfTotalSupply": "<string>",
"pnlUSD": "<string>",
"realizedPnlUSD": "<string>",
"unrealizedPnlUSD": "<string>",
"totalPnlUSD": "<string>",
"buys": 123,
"sells": 123,
"volumeBuyToken": "<string>",
"volumeSellToken": "<string>",
"volumeBuyUSD": "<string>",
"volumeSellUSD": "<string>",
"avgBuyPriceUSD": "<string>",
"avgSellPriceUSD": "<string>",
"walletFundAt": "<string>",
"lastActivityAt": "<string>",
"firstTradeAt": "<string>",
"lastTradeAt": "<string>",
"fundingInfo": {
"from": "<string>",
"date": "<string>",
"chainId": "<string>",
"txHash": "<string>",
"amount": "<string>",
"formattedAmount": 123,
"currency": {
"name": "<string>",
"symbol": "<string>",
"logo": "<string>",
"decimals": 123,
"address": "<string>"
},
"fromWalletLogo": "<string>",
"fromWalletTag": "<string>",
"fromWalletMetadata": {
"entityName": "<string>",
"entityLogo": "<string>",
"entityLabels": [
"<string>"
],
"entityType": "<string>",
"entityDescription": "<string>",
"entityTwitter": "<string>",
"entityWebsite": "<string>",
"entityGithub": "<string>",
"entityDiscord": "<string>",
"entityTelegram": "<string>",
"extra": {}
}
},
"totalFeesPaidUSD": "0",
"buyFeesPaidUSD": "0",
"sellFeesPaidUSD": "0",
"nativeBalance": "0",
"nativeBalanceRaw": "0",
"labels": [],
"walletMetadata": {
"entityName": "<string>",
"entityLogo": "<string>",
"entityLabels": [
"<string>"
],
"entityType": "<string>",
"entityDescription": "<string>",
"entityTwitter": "<string>",
"entityWebsite": "<string>",
"entityGithub": "<string>",
"entityDiscord": "<string>",
"entityTelegram": "<string>",
"extra": {}
},
"platform": {
"id": "<string>",
"name": "<string>",
"logo": "<string>"
}
}
],
"totalCount": 123
}Retrieve trader positions for a token on a specific blockchain, including holdings, trading activity, and label-based filtering.
curl --request GET \
--url https://demo-api.mobula.io/api/2/token/trader-positions{
"data": [
{
"chainId": "<string>",
"walletAddress": "<string>",
"tokenAddress": "<string>",
"tokenAmount": "<string>",
"tokenAmountRaw": "<string>",
"tokenAmountUSD": "<string>",
"percentageOfTotalSupply": "<string>",
"pnlUSD": "<string>",
"realizedPnlUSD": "<string>",
"unrealizedPnlUSD": "<string>",
"totalPnlUSD": "<string>",
"buys": 123,
"sells": 123,
"volumeBuyToken": "<string>",
"volumeSellToken": "<string>",
"volumeBuyUSD": "<string>",
"volumeSellUSD": "<string>",
"avgBuyPriceUSD": "<string>",
"avgSellPriceUSD": "<string>",
"walletFundAt": "<string>",
"lastActivityAt": "<string>",
"firstTradeAt": "<string>",
"lastTradeAt": "<string>",
"fundingInfo": {
"from": "<string>",
"date": "<string>",
"chainId": "<string>",
"txHash": "<string>",
"amount": "<string>",
"formattedAmount": 123,
"currency": {
"name": "<string>",
"symbol": "<string>",
"logo": "<string>",
"decimals": 123,
"address": "<string>"
},
"fromWalletLogo": "<string>",
"fromWalletTag": "<string>",
"fromWalletMetadata": {
"entityName": "<string>",
"entityLogo": "<string>",
"entityLabels": [
"<string>"
],
"entityType": "<string>",
"entityDescription": "<string>",
"entityTwitter": "<string>",
"entityWebsite": "<string>",
"entityGithub": "<string>",
"entityDiscord": "<string>",
"entityTelegram": "<string>",
"extra": {}
}
},
"totalFeesPaidUSD": "0",
"buyFeesPaidUSD": "0",
"sellFeesPaidUSD": "0",
"nativeBalance": "0",
"nativeBalanceRaw": "0",
"labels": [],
"walletMetadata": {
"entityName": "<string>",
"entityLogo": "<string>",
"entityLabels": [
"<string>"
],
"entityType": "<string>",
"entityDescription": "<string>",
"entityTwitter": "<string>",
"entityWebsite": "<string>",
"entityGithub": "<string>",
"entityDiscord": "<string>",
"entityTelegram": "<string>",
"extra": {}
},
"platform": {
"id": "<string>",
"name": "<string>",
"logo": "<string>"
}
}
],
"totalCount": 123
}Blockchain chain ID (e.g., "evm:56", "solana:solana")
Token contract address
Filter by wallet label (e.g. sniper, bundler, insider)
sniper, insider, bundler, proTrader, smartTrader, freshTrader, dev, liquidityPool, locker Maximum number of results (default: 100)
Offset for pagination
Comma-separated wallet addresses to filter
Use swap recipient mode for accurate Account Abstraction tracking
Include total fees paid (gas + platform + MEV) and deduct from PnL