---
title: "Get Wallet PnL Calendar"
method: GET
path: "/v2/pnl/wallets/{wallet}/history"
tags: ["Wallet"]
---

# Get Wallet PnL Calendar

`GET /v2/pnl/wallets/{wallet}/history`

Returns daily wallet snapshots with cumulative PnL plus per-day realized PnL, volume, buy and sell counts, and averages. Use `period` for quick windows or `start` and `end` for exact ranges. Pass `?currency=sol` or `?currency=eur` to convert monetary fields at read time using historical daily reference rates.

## Path parameters

- `wallet` string, required

## Query parameters

- `currency` 'usd' | 'sol' | 'eur'
- `period` '1d' | '7d' | '14d' | '30d' | '90d' | 'all'
- `start` string, date
- `end` string, date
- `limit` integer

## Response `200`

Successful response.

- object
  - `wallet` string
  - `currency` 'sol' | 'eur' — Response denomination when `?currency=sol` or `?currency=eur` is requested. Omitted for the default USD response.
  - `identity` Identity — Unified wallet identity. Only fields with known values are returned; a wallet can carry multiple tags at once.
    - `name` string, nullable — Display name, if known.
    - `twitter` string, nullable — Twitter/X handle, if known.
    - `avatar` string, uri, nullable — Avatar image URL.
    - `type` string, nullable — Primary label for single-badge UIs, such as `kol`, `developer`, `pool`, `bot`, `hacker`, `spam_dusting`, `exchange`, or a platform tag.
    - `tags` string[] — All resolved labels for the wallet, including KOL, platform, pool, developer, bot, arbitrage, hacker, spam-dusting, or exchange tags.
    - `platforms` string[] — Normalized trading frontend tags such as `axiom`, `bloom`, or `photon`. Query filters also accept `axiom-flash`, which is normalized to `axiom` in identity responses.
    - `bot` object
      - `name` string, nullable
      - `avatar` string, uri, nullable
    - `pool` object
      - `program` string, nullable
      - `poolAddress` string, nullable
    - `developer` object
      - `token` string, nullable
      - `via` string[]
      - `pools` string[]
      - `creationTx` string, nullable
      - `createdAt` integer, nullable — Unix timestamp in seconds.
    - `hacker` object — Curated exploit/scam wallet label, when known.
      - `label` string, nullable
    - `spamDusting` object — Curated spam-dusting wallet label, when known.
      - `label` string, nullable
    - `exchange` object — Known centralized exchange hot wallet label, when known.
      - `name` string, nullable
  - `days` Snapshot[]
    - `date` string, date — Snapshot date (YYYY-MM-DD).
    - `cumulative` object — Running totals up to and including this date.
      - `pnl` PnlBlock — Realized, unrealized, and total profit/loss in USD.
        - `realized` number, nullable — Profit/loss from closed trades (tokens fully or partially sold).
        - `realizedRaw` number, nullable — Unfiltered realized PnL before `pnlMode` adjustments. Present on position rows and leaderboard period stats when available.
        - `unrealized` number, nullable — Paper profit/loss on tokens still held, based on current market price.
        - `total` number, nullable — Sum of realized + unrealized PnL.
      - `cost` number, nullable
      - `proceeds` number, nullable
      - `openPositions` object
        - `cost` number, nullable
        - `value` number, nullable
      - `counts` object
        - `buys` integer
        - `sells` integer
        - `tokensTraded` integer
    - `activity` object — Trading activity for this specific day only.
      - `pnl` object
        - `realized` number, nullable
      - `counts` object
        - `buys` integer
        - `sells` integer
      - `volume` object
        - `costUsd` number, nullable — USD spent on buys today.
        - `total` number, nullable — Total volume (buys + sells) today.
      - `averages` object
        - `buy` number, nullable
        - `sell` number, nullable
        - `realizedPnl` number, nullable — Average realized PnL per sell today.
        - `holdTimeSecs` integer, nullable — Average hold time in seconds for tokens sold today.
  - `summary` object
    - `days` object
      - `trading` integer — Days with any trading activity.
      - `positive` integer — Days with positive realized PnL.
      - `negative` integer — Days with negative realized PnL.
      - `breakEven` integer
    - `totals` object
      - `realizedPnl` number, nullable
      - `volume` number, nullable
    - `winRate` number, nullable — Percentage of trading days that were profitable.
    - `totalDays` integer — Total days in the full date range (before limit is applied).
    - `deltas` object, nullable — Change between first and last snapshot in the range.
      - `realized` number, nullable
      - `total` number, nullable

## Other responses

- `400` — Invalid request parameters.
- `500` — Server error.

---

[API](https://skmtc.net/solanatracker/apis/solana-tracker-data-api.md) · [All operations](https://skmtc.net/solanatracker/apis/solana-tracker-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/solanatracker/solana-tracker-data-api/versions/c07c6f82d0c4/schema)
