---
title: "Get trader trade history v2"
method: GET
path: "/v1/traders/{trader_pubkey}/trades_v2"
tags: ["Trader"]
---

# Get trader trade history v2

`GET /v1/traders/{trader_pubkey}/trades_v2`

Handles `GET /v1/traders/{trader_pubkey}/trades_v2` via `get.v1.traders.by_trader_pubkey.trades_v2`.

## Path parameters

- `trader_pubkey` string, required

## Query parameters

- `market_symbol` string
- `trader_pda_index` integer
- `limit` integer
- `cursor` string
- `privy_id` string

## Response `200`

- PaginatedResponseVecTradeHistoryV2Item — Generic paginated response wrapper with bidirectional cursor support. The cursor system supports both forward (newer) and backward (older) pagination: - `prev_cursor`: Use this cursor to poll for new items (items newer than the current result set) - `next_cursor`: Use this cursor to load more items (items older than the current result set) The direction is embedded in the cursor itself, so clients just need to pass the appropriate cursor to the `cursor` parameter.
  - `data` object[], required
    - `baseLotsAfter` string, required — Base lots after the trade (human readable)
    - `baseLotsBefore` string, required — Base lots before the trade (human readable)
    - `baseLotsDelta` string, required — Base lots delta (human readable, signed)
    - `eventIndex` integer, required
    - `fees` string, required
    - `fillId` string, nullable — Deterministic UUID v3 derived from the raw fill coordinates.
    - `instructionIndex` integer, required
    - `instructionType` string, required — Instruction type (e.g., "PlaceLimitOrder", "PlaceMarketOrder")
    - `liquidity` 'maker' | 'taker', required — Liquidity role for the tracked account's fill.
    - `marketSymbol` string, required — Market symbol
    - `orderSequenceNumber` integer, nullable
    - `price` string, required
    - `realizedPnl` string, required — Realized PnL from this trade (human readable USD)
    - `signature` string, nullable — Transaction signature
    - `slot` integer, required — Slot coordinates for cursor
    - `slotIndex` integer, required
    - `splineSequenceNumber` integer, nullable
    - `subaccountIndex` integer, required — Subaccount index
    - `timestamp` string, date-time, required — Formatted datetime string (ISO 8601).
    - `tradeType` 'limit' | 'market' | 'liquidation' | 'adl', required
    - `traderId` integer, required — Trader ID
    - `traderPdaIndex` integer, required — Trader PDA index
    - `userId` integer, required — User ID
    - `virtualQuoteLotsAfter` string, required — Virtual quote lots after (human readable)
    - `virtualQuoteLotsBefore` string, required — Virtual quote lots before (human readable)
    - `virtualQuoteLotsDelta` string, required — Virtual quote lots delta (human readable, signed)
  - `hasMore` boolean, required — Whether there are more results available after this page
  - `nextCursor` string, nullable — Opaque cursor for fetching the next page of older results. Pass this value as the `cursor` parameter in the next request to load more.
  - `prevCursor` string, nullable — Opaque cursor for fetching newer items (for polling). Pass this value as the `cursor` parameter to get items newer than the first item in data.

---

[API](https://skmtc.net/phoenix/apis/phoenix-eternal-api.md) · [All operations](https://skmtc.net/phoenix/apis/phoenix-eternal-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/phoenix/phoenix-eternal-api/versions/0f598402d680/schema)
