import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: 'YOUR_API_KEY' });
const data = await client.getPnlV2TokenTraders('6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN', { limit: 50 });
curl --request GET \
--url https://data.solanatracker.io/v2/pnl/tokens/{token}/traders \
--header 'x-api-key: <api-key>'import requests
url = "https://data.solanatracker.io/v2/pnl/tokens/{token}/traders"
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://data.solanatracker.io/v2/pnl/tokens/{token}/traders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://data.solanatracker.io/v2/pnl/tokens/{token}/traders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://data.solanatracker.io/v2/pnl/tokens/{token}/traders"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://data.solanatracker.io/v2/pnl/tokens/{token}/traders")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data.solanatracker.io/v2/pnl/tokens/{token}/traders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"meta": {
"symbol": "TRUMP",
"name": "OFFICIAL TRUMP",
"image": "https://image.solanatracker.io/proxy?url=https%3A%2F%2Farweave.net%2FVQrPjACwnQRmxdKBTqNwPiyo65x7LAT773t8Kd7YBzw",
"decimals": 6,
"price": 2.8078556911015307,
"snapshotPrice": null,
"marketCap": 2807853276.49,
"liquidity": 66749438.29,
"primaryMarket": "meteora-dlmm"
},
"traders": [
{
"wallet": "3w8k9sBq4143HexEPbe4z4zBk4keNJSFswyMUg6uU8e3",
"pnl": {
"token": {
"realized": 0,
"unrealized": 495195.19,
"total": 495195.19
},
"wallet": {
"realized": 58523.47,
"unrealized": -11351.36,
"total": 47172.11,
"invested": 699558.43,
"proceeds": 758081.9,
"totalTrades": 13111,
"tokensTraded": 2258
}
},
"identity": {
"platforms": [
"axiom"
],
"type": "axiom",
"tags": [
"axiom"
]
},
"position": {
"balance": 393688.543322,
"costBasis": 610225.42,
"value": 1105420.62,
"price": 2.8078556911015307
},
"buyUsd": 610225.42,
"sellUsd": 0,
"counts": {
"buys": 1,
"sells": 0,
"total": 1
},
"roi": 81.15,
"invested": 610225.42,
"proceeds": 0,
"volume": {
"tokensBought": 393688.543322,
"tokensSold": 0,
"buyUsd": 610225.42,
"sellUsd": 0
},
"averages": {
"buy": 610225.42,
"sell": 0
},
"current": {
"balance": 393688.543322,
"costBasis": 610225.42,
"value": 1105420.62,
"price": 2.8078556911015307,
"avgCost": 1.5497
},
"timing": {
"firstTrade": 1775290706905,
"lastTrade": 1775290706905,
"firstBuy": 1775290706905,
"lastBuy": 1775290706905,
"firstSell": null,
"lastSell": null,
"holdTimeSecs": 86400
}
},
{
"wallet": "5cvQpjBpobuLEKf2myqpwrkcX4u1ct1XuEqmgcubAV7f",
"pnl": {
"token": {
"realized": 7164833.65,
"unrealized": -5205002.11,
"total": 1959831.54
},
"wallet": {
"realized": 4554030.67,
"unrealized": 32140.55,
"total": 4586171.22,
"invested": 2314000,
"proceeds": 6868030,
"totalTrades": 18432,
"tokensTraded": 1247
}
},
"identity": {
"type": "developer",
"tags": [
"developer"
],
"developer": {
"token": "TRUMPSo1111111111111111111111111111111111111",
"via": [
"token_creator"
]
}
},
"position": {
"balance": 275000.420021,
"costBasis": 5977163.61,
"value": 772161.49,
"price": 2.8078556911015307
},
"buyUsd": 13158433.11,
"sellUsd": 14346103.15,
"counts": {
"buys": 6,
"sells": 6,
"total": 12
},
"roi": 14.89,
"invested": 13158433.11,
"proceeds": 14346103.15,
"volume": {
"tokensBought": 550000.420021,
"tokensSold": 275000.420021,
"buyUsd": 13158433.11,
"sellUsd": 14346103.15
},
"averages": {
"buy": 2193072.19,
"sell": 2391017.19
},
"current": {
"balance": 275000.420021,
"costBasis": 5977163.61,
"value": 772161.49,
"price": 2.8078556911015307,
"avgCost": 21.7351
},
"timing": {
"firstTrade": 1737167236000,
"lastTrade": 1765823606000,
"firstBuy": 1737167236000,
"lastBuy": 1765823606000,
"firstSell": 1740000000000,
"lastSell": 1765823606000,
"holdTimeSecs": 28656360
}
}
],
"pagination": {
"hasMore": true,
"nextCursor": "eyJzb3J0VmFsdWUiOjI3NTAwMC40MjAwMjEsInRpZUJyZWFrZXIiOjQ4NzUxNTA0fQ==",
"count": 2,
"total": 2
}
}{
"error": "<string>"
}{
"error": "<string>"
}Get Token Traders
Returns wallets that traded the token, along with full position state: realized and unrealized PnL, remaining size, trade counts, and timing. Legacy fields (wallet, pnl, position, buyUsd, sellUsd, counts, roi, timing.firstTrade, timing.lastTrade) are unchanged. Additive fields (invested, proceeds, volume, averages, current, extended timing) align with /v2/pnl/wallets/:wallet/positions and /tokens/:token/holders?enrich=walletPnl for the same wallet-token pair.
import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: 'YOUR_API_KEY' });
const data = await client.getPnlV2TokenTraders('6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN', { limit: 50 });
curl --request GET \
--url https://data.solanatracker.io/v2/pnl/tokens/{token}/traders \
--header 'x-api-key: <api-key>'import requests
url = "https://data.solanatracker.io/v2/pnl/tokens/{token}/traders"
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://data.solanatracker.io/v2/pnl/tokens/{token}/traders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://data.solanatracker.io/v2/pnl/tokens/{token}/traders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://data.solanatracker.io/v2/pnl/tokens/{token}/traders"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://data.solanatracker.io/v2/pnl/tokens/{token}/traders")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data.solanatracker.io/v2/pnl/tokens/{token}/traders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"meta": {
"symbol": "TRUMP",
"name": "OFFICIAL TRUMP",
"image": "https://image.solanatracker.io/proxy?url=https%3A%2F%2Farweave.net%2FVQrPjACwnQRmxdKBTqNwPiyo65x7LAT773t8Kd7YBzw",
"decimals": 6,
"price": 2.8078556911015307,
"snapshotPrice": null,
"marketCap": 2807853276.49,
"liquidity": 66749438.29,
"primaryMarket": "meteora-dlmm"
},
"traders": [
{
"wallet": "3w8k9sBq4143HexEPbe4z4zBk4keNJSFswyMUg6uU8e3",
"pnl": {
"token": {
"realized": 0,
"unrealized": 495195.19,
"total": 495195.19
},
"wallet": {
"realized": 58523.47,
"unrealized": -11351.36,
"total": 47172.11,
"invested": 699558.43,
"proceeds": 758081.9,
"totalTrades": 13111,
"tokensTraded": 2258
}
},
"identity": {
"platforms": [
"axiom"
],
"type": "axiom",
"tags": [
"axiom"
]
},
"position": {
"balance": 393688.543322,
"costBasis": 610225.42,
"value": 1105420.62,
"price": 2.8078556911015307
},
"buyUsd": 610225.42,
"sellUsd": 0,
"counts": {
"buys": 1,
"sells": 0,
"total": 1
},
"roi": 81.15,
"invested": 610225.42,
"proceeds": 0,
"volume": {
"tokensBought": 393688.543322,
"tokensSold": 0,
"buyUsd": 610225.42,
"sellUsd": 0
},
"averages": {
"buy": 610225.42,
"sell": 0
},
"current": {
"balance": 393688.543322,
"costBasis": 610225.42,
"value": 1105420.62,
"price": 2.8078556911015307,
"avgCost": 1.5497
},
"timing": {
"firstTrade": 1775290706905,
"lastTrade": 1775290706905,
"firstBuy": 1775290706905,
"lastBuy": 1775290706905,
"firstSell": null,
"lastSell": null,
"holdTimeSecs": 86400
}
},
{
"wallet": "5cvQpjBpobuLEKf2myqpwrkcX4u1ct1XuEqmgcubAV7f",
"pnl": {
"token": {
"realized": 7164833.65,
"unrealized": -5205002.11,
"total": 1959831.54
},
"wallet": {
"realized": 4554030.67,
"unrealized": 32140.55,
"total": 4586171.22,
"invested": 2314000,
"proceeds": 6868030,
"totalTrades": 18432,
"tokensTraded": 1247
}
},
"identity": {
"type": "developer",
"tags": [
"developer"
],
"developer": {
"token": "TRUMPSo1111111111111111111111111111111111111",
"via": [
"token_creator"
]
}
},
"position": {
"balance": 275000.420021,
"costBasis": 5977163.61,
"value": 772161.49,
"price": 2.8078556911015307
},
"buyUsd": 13158433.11,
"sellUsd": 14346103.15,
"counts": {
"buys": 6,
"sells": 6,
"total": 12
},
"roi": 14.89,
"invested": 13158433.11,
"proceeds": 14346103.15,
"volume": {
"tokensBought": 550000.420021,
"tokensSold": 275000.420021,
"buyUsd": 13158433.11,
"sellUsd": 14346103.15
},
"averages": {
"buy": 2193072.19,
"sell": 2391017.19
},
"current": {
"balance": 275000.420021,
"costBasis": 5977163.61,
"value": 772161.49,
"price": 2.8078556911015307,
"avgCost": 21.7351
},
"timing": {
"firstTrade": 1737167236000,
"lastTrade": 1765823606000,
"firstBuy": 1737167236000,
"lastBuy": 1765823606000,
"firstSell": 1740000000000,
"lastSell": 1765823606000,
"holdTimeSecs": 28656360
}
}
],
"pagination": {
"hasMore": true,
"nextCursor": "eyJzb3J0VmFsdWUiOjI3NTAwMC40MjAwMjEsInRpZUJyZWFrZXIiOjQ4NzUxNTA0fQ==",
"count": 2,
"total": 2
}
}{
"error": "<string>"
}{
"error": "<string>"
}SDK Example
import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: 'YOUR_API_KEY' });
const data = await client.getPnlV2TokenTraders('6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN', { limit: 50 });
Autorizaciones
Clave API
Parámetros de ruta
Dirección mint (base58, 32–44 caracteres)
^[1-9A-HJ-NP-Za-km-z]{32,44}$Parámetros de consulta
Campo para ordenar traders
holding, value, pnl, realized, unrealized, invested, roi, last_trade, first_trade Dirección de ordenación
asc, desc Resultados por página
x <= 200Cursor opaco de pagination.nextCursor de la página anterior
Filtrar por plataformas de trading (lista separada por comas)
axiom, axiom-flash, bloom, photon Excluye bots de arbitraje; false para incluirlos
true, false Excluye carteras sin compras; false para incluirlas
true, false Solo carteras que siguen teniendo saldo > 0
true, false Mínimo de operaciones en este token
¿Esta página le ayudó?