import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: 'YOUR_API_KEY' });
const data = await client.getPnlV2WalletPerformance('FbMxP3GVq8TQ36nbYgx4NP9iygMpwAwFWJwW81ioCiSF', { period: '30d' });
curl --request GET \
--url https://data.solanatracker.io/v2/pnl/wallets/{wallet}/performance \
--header 'x-api-key: <api-key>'import requests
url = "https://data.solanatracker.io/v2/pnl/wallets/{wallet}/performance"
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/wallets/{wallet}/performance', 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/wallets/{wallet}/performance",
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/wallets/{wallet}/performance"
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/wallets/{wallet}/performance")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data.solanatracker.io/v2/pnl/wallets/{wallet}/performance")
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{
"wallet": "CyaE1VxvBrahnPWkqm5VsdCvyS2QmNht2UFrKJHga54o",
"identity": {
"name": "Cented",
"twitter": "@Cented7",
"avatar": "https://kol-avatar.solanatracker.io/CyaE1VxvBrahnPWkqm5VsdCvyS2QmNht2UFrKJHga54o",
"platforms": [
"axiom",
"bloom"
],
"type": "kol",
"tags": [
"kol",
"axiom",
"bloom"
]
},
"window": 30,
"totals": {
"realizedPnl": 511646.27,
"volume": 4525541.11,
"trades": 1854
},
"bestDay": {
"date": "2026-03-23",
"realizedPnl": 85718.59,
"volume": 266262.59,
"totalPnl": 10264040.54,
"trades": 954
},
"worstDay": {
"date": "2026-04-10",
"realizedPnl": 3543.36,
"volume": 30954.42,
"totalPnl": 10509957.54,
"trades": 12
},
"streaks": {
"positive": 27,
"negative": 0,
"currentPositive": 27,
"currentNegative": 0
},
"drawdown": {
"amount": 0,
"percent": 0
},
"days": [
{
"date": "2026-03-20",
"realizedPnl": 21677.68,
"unrealizedPnl": 0,
"totalPnl": 10133634.03,
"volume": 252414.51,
"trades": 812
},
{
"date": "2026-03-21",
"realizedPnl": 20060.91,
"unrealizedPnl": 0,
"totalPnl": 10153694.95,
"volume": 190766.56,
"trades": 642
}
],
"updatedAt": "2026-04-19T17:53:30.439Z"
}{
"error": "<string>"
}{
"error": "<string>"
}Get Wallet Performance
Estadísticas móviles: PnL realizado, volumen, rachas, drawdown, mejor/peor día y desglose diario. Las operaciones (totals.trades y trades diarios) reflejan actividad diaria en la ventana (day_buys + day_sells), no totales acumulados de por vida.
import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: 'YOUR_API_KEY' });
const data = await client.getPnlV2WalletPerformance('FbMxP3GVq8TQ36nbYgx4NP9iygMpwAwFWJwW81ioCiSF', { period: '30d' });
curl --request GET \
--url https://data.solanatracker.io/v2/pnl/wallets/{wallet}/performance \
--header 'x-api-key: <api-key>'import requests
url = "https://data.solanatracker.io/v2/pnl/wallets/{wallet}/performance"
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/wallets/{wallet}/performance', 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/wallets/{wallet}/performance",
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/wallets/{wallet}/performance"
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/wallets/{wallet}/performance")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data.solanatracker.io/v2/pnl/wallets/{wallet}/performance")
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{
"wallet": "CyaE1VxvBrahnPWkqm5VsdCvyS2QmNht2UFrKJHga54o",
"identity": {
"name": "Cented",
"twitter": "@Cented7",
"avatar": "https://kol-avatar.solanatracker.io/CyaE1VxvBrahnPWkqm5VsdCvyS2QmNht2UFrKJHga54o",
"platforms": [
"axiom",
"bloom"
],
"type": "kol",
"tags": [
"kol",
"axiom",
"bloom"
]
},
"window": 30,
"totals": {
"realizedPnl": 511646.27,
"volume": 4525541.11,
"trades": 1854
},
"bestDay": {
"date": "2026-03-23",
"realizedPnl": 85718.59,
"volume": 266262.59,
"totalPnl": 10264040.54,
"trades": 954
},
"worstDay": {
"date": "2026-04-10",
"realizedPnl": 3543.36,
"volume": 30954.42,
"totalPnl": 10509957.54,
"trades": 12
},
"streaks": {
"positive": 27,
"negative": 0,
"currentPositive": 27,
"currentNegative": 0
},
"drawdown": {
"amount": 0,
"percent": 0
},
"days": [
{
"date": "2026-03-20",
"realizedPnl": 21677.68,
"unrealizedPnl": 0,
"totalPnl": 10133634.03,
"volume": 252414.51,
"trades": 812
},
{
"date": "2026-03-21",
"realizedPnl": 20060.91,
"unrealizedPnl": 0,
"totalPnl": 10153694.95,
"volume": 190766.56,
"trades": 642
}
],
"updatedAt": "2026-04-19T17:53:30.439Z"
}{
"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.getPnlV2WalletPerformance('FbMxP3GVq8TQ36nbYgx4NP9iygMpwAwFWJwW81ioCiSF', { period: '30d' });
Autorizaciones
Clave API
Parámetros de ruta
Dirección cartera Solana (base58, 32–44 caracteres)
^[1-9A-HJ-NP-Za-km-z]{32,44}$Parámetros de consulta
Moneda de los importes de la respuesta; predeterminado usd. sol o eur convierten snapshots USD con precios ClickHouse; histórico usa tipo diario por fecha, resumen usa spot actual. Conteos, porcentajes, marcas de tiempo y ROI no se convierten; valor inválido devuelve 400.
usd, sol, eur Atajo de periodo (p. ej. 30d); alternativa a days
1d, 7d, 14d, 30d, 90d, all Ventana en días; predeterminado 30, máx. 365
x <= 365Respuesta
Successful response.
Response denomination when ?currency=sol or ?currency=eur is requested. Omitted for the default USD response.
sol, eur Unified wallet identity. Only fields with known values are returned; a wallet can carry multiple tags at once.
Show child attributes
Show child attributes
Number of days in the window.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Win/loss streaks in consecutive trading days.
Show child attributes
Show child attributes
Maximum drawdown from peak total PnL within the window.
Show child attributes
Show child attributes
Day-by-day PnL and volume for the window.
Show child attributes
Show child attributes
¿Esta página le ayudó?