> ## Documentation Index
> Fetch the complete documentation index at: https://docs.solanatracker.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Crear rankings de traders y KOLs en Solana

> Clasifica traders y KOLs por PnL, ROI o actividad, con filtros de periodo, plataforma y número de trades.

Elige el ranking KOL para la lista de wallets públicas o el de traders para una cobertura más amplia. Compara resultados con el mismo periodo y filtros.

## Leaderboards de KOLs

Los KOLs son wallets monitorizadas con identidad pública. Cada entrada puede incluir nombre, handle de Twitter y avatar.

<img src="https://mintcdn.com/solanatracker/ZM5vWoSAJUJFeh6A/images/guides/kolscan-leaderboard.png?fit=max&auto=format&n=ZM5vWoSAJUJFeh6A&q=85&s=41ee74323643314e245c054c9283d73d" alt="Leaderboard de KOLScan con calendario de actividad y rendimiento rankeado de wallets" width="3054" height="1834" data-path="images/guides/kolscan-leaderboard.png" />

### All-time

El [leaderboard de KOLs](/es/data-api/pnl-v2/leaderboard/get-kol-leaderboard) clasifica wallets de KOLs por rendimiento lifetime.

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://data.solanatracker.io/v2/pnl/leaderboard/kols?sort=realized&direction=desc&limit=25" \
    -H "x-api-key: YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const res = await fetch(
    "https://data.solanatracker.io/v2/pnl/leaderboard/kols?sort=realized&direction=desc&limit=25",
    { headers: { "x-api-key": "YOUR_API_KEY" } }
  );
  const { traders } = await res.json();

  traders.forEach((kol, i) => {
    console.log(`#${i + 1} ${kol.identity.name} (@${kol.identity.twitter})`);
    console.log(`   Realized: $${kol.pnl.realized.toLocaleString()}`);
    console.log(`   Win Rate: ${kol.winRate}%`);
  });
  ```

  ```python Python theme={null}
  import requests

  res = requests.get(
      "https://data.solanatracker.io/v2/pnl/leaderboard/kols",
      params={"sort": "realized", "direction": "desc", "limit": 25},
      headers={"x-api-key": "YOUR_API_KEY"}
  )

  for i, kol in enumerate(res.json()["traders"], 1):
      name = kol["identity"]["name"]
      pnl = kol["pnl"]["realized"]
      print(f"#{i} {name}: ${pnl:,.2f}")
  ```
</CodeGroup>

#### Opciones de orden

| Campo | Descripción |
| - | - |
| `total` | PnL total (realizado + no realizado) |
| `realized` | PnL realizado |
| `unrealized` | PnL no realizado |
| `invested` | Total invertido |
| `proceeds` | Total recibido por ventas |
| `trades` | Número de operaciones |
| `tokens` | Número de tokens operados |
| `roi` | Retorno de la inversión |
| `win_percentage` | Tasa de aciertos |
| `last_trade` | Última operación |

### Por periodo

El [leaderboard por periodo](/es/data-api/pnl-v2/leaderboard/get-kol-leaderboard-for-a-period) rankea KOLs dentro de una ventana concreta. Usa atajos como `7d`, `30d` o define `start`/`end` explícitos.

```bash theme={null}
# Last 7 days
curl "https://data.solanatracker.io/v2/pnl/leaderboard/kols/period?period=7d&sort=realized" \
  -H "x-api-key: YOUR_API_KEY"

# Custom range
curl "https://data.solanatracker.io/v2/pnl/leaderboard/kols/period?start=2025-03-01&end=2025-03-31" \
  -H "x-api-key: YOUR_API_KEY"
```

<CardGroup cols={2}>
  <Card title="KOLs = wallets con nombre">
    Lo mejor cuando importa la identidad y quieres comparar figuras públicas.
  </Card>

  <Card title="Top traders = rendimiento puro">
    Mejor cuando te interesan los resultados, no la reputación.
  </Card>
</CardGroup>

### Calendario mensual

El [endpoint de calendario](/es/data-api/pnl-v2/leaderboard/get-kol-calendar) devuelve rendimiento agregado de KOLs por día para un mes dado. Ideal para visualizaciones tipo heatmap.

```bash theme={null}
curl "https://data.solanatracker.io/v2/pnl/leaderboard/kols/calendar?year=2025&month=3" \
  -H "x-api-key: YOUR_API_KEY"
```

<Tip>
  Colorea cada día por el PnL total de KOLs para detectar rápidamente tendencias del mercado.
</Tip>

### Día concreto

El [endpoint de desglose diario](/es/data-api/pnl-v2/leaderboard/get-kol-daily-breakdown) muestra las operaciones y PnL de cada KOL para un día concreto.

```bash theme={null}
curl "https://data.solanatracker.io/v2/pnl/leaderboard/kols/date?date=2025-03-15" \
  -H "x-api-key: YOUR_API_KEY"
```

<a id="solana-traders-leaderboard" />

## Leaderboard de traders de Solana

El [Leaderboard de Traders de Solana](/es/data-api/pnl-v2/leaderboard/solana-traders-leaderboard) clasifica wallets de trading de Solana en una ventana móvil soportada (`1`, `7`, `30` o `90` días). A diferencia del leaderboard de KOLs, cubre **todas las wallets**, no solo las conocidas.

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://data.solanatracker.io/v2/pnl/leaderboard/top?days=30&sort=realized&direction=desc&limit=50" \
    -H "x-api-key: YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const res = await fetch(
    "https://data.solanatracker.io/v2/pnl/leaderboard/top?days=30&sort=realized&direction=desc&limit=50",
    { headers: { "x-api-key": "YOUR_API_KEY" } }
  );
  const { traders } = await res.json();

  traders.forEach((t, i) => {
    console.log(`#${i + 1} ${t.wallet}`);
    console.log(`   Realized: $${t.period.realized.toLocaleString()}, ROI: ${t.period.roi}%`);
  });
  ```
</CodeGroup>

### Filtros

Usa umbrales mínimos para descartar golpes de suerte puntuales:

<img src="https://mintcdn.com/solanatracker/ZM5vWoSAJUJFeh6A/images/guides/photon-leaderboard.png?fit=max&auto=format&n=ZM5vWoSAJUJFeh6A&q=85&s=0a717216be77f259ce972667008dd200" alt="Leaderboard de Photon filtrado a wallets que operan a través de Photon" width="2712" height="1890" data-path="images/guides/photon-leaderboard.png" />

<img src="https://mintcdn.com/solanatracker/ZM5vWoSAJUJFeh6A/images/guides/bloom-leaderboard.png?fit=max&auto=format&n=ZM5vWoSAJUJFeh6A&q=85&s=d6d52d69a709b4bb1b06b4a89645f22e" alt="Leaderboard de Bloom filtrado a wallets que operan a través de Bloom" width="2620" height="2152" data-path="images/guides/bloom-leaderboard.png" />

| Parámetro | Por defecto | Descripción |
| - | - | - |
| `days` | `90` | Ventana móvil en días. Usa `1`, `7`, `30` o `90` como ventanas exactas soportadas. |
| `sort` | `realized` | `realized`, `volume`, `days`, `roi`, `win_percentage`, `trades`, `tokens` |
| `minTrades` | `20` | Número mínimo de operaciones |
| `minInvested` | `1` | USD mínimo total invertido |
| `minDays` | `3` | Días activos mínimos de trading |
| `minWinRate` | — | Tasa de aciertos mínima |
| `minRoi` | — | ROI mínimo |
| `minClosedTokens` | — | Número mínimo de posiciones cerradas |
| `maxSingleTokenPct` | — | % máximo de PnL procedente de un solo token (filtra one-hit wonders) |
| `excludeArbitrage` | `true` | Las wallets de arbitraje se excluyen por defecto. Pon `false` para incluirlas. |
| `platform` | — | Filtra por plataforma (`axiom`, `bloom`, `photon`). Separados por coma para varios. `axiom-flash` se acepta como alias de `axiom`. |
| `pnlMode` | `strict` | `strict`, `adjusted` o `raw`. Consulta [Esenciales](/es/guides/pnl-v2/overview#essentials). |

<Warning>
  **Cobertura:** el leaderboard de top traders clasifica las **top 500k wallets** por periodo. Una wallet puede haber operado y aun así no aparecer aquí. Para inspeccionar cualquier wallet directamente, llama a `/v2/pnl/wallets/:wallet`.
</Warning>

<Tip>
  Prueba `maxSingleTokenPct=30` + `minDays=10` + `minTrades=50` para encontrar traders consistentemente rentables, no solo one-hit wonders.
</Tip>

<CardGroup cols={2}>
  <Card title="Peticiones por lotes" href="/es/guides/pnl-v2/batch-operations">
    Tras seleccionar wallets, usa endpoints batch para enriquecerlas a granel.
  </Card>

  <Card title="PnL de la wallet" href="/es/guides/pnl-v2/wallet-analysis">
    Profundiza en el historial completo y el perfil de riesgo de un wallet.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.