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

# Trader Global PnL

> Get notified when a trader's global PnL crosses a configured threshold.

<Note>
  **Event:** `trader_global_pnl` \
  **Endpoint:** `wss://api.struct.to/ws/alerts` \
  **Cost:** 0.1 credits per event
</Note>

Fires when a trader's aggregated global profit and loss crosses the configured thresholds. This event covers the trader's entire Polymarket portfolio, making it useful for monitoring overall performance of specific wallets.

## Filters

| Filter                 | Type       | Required | Description                                                |
| ---------------------- | ---------- | -------- | ---------------------------------------------------------- |
| `traders`              | `string[]` | No       | Specific trader wallet addresses (max 500)                 |
| `min_realized_pnl_usd` | `number`   | No       | Minimum realized PnL in USD                                |
| `max_realized_pnl_usd` | `number`   | No       | Maximum realized PnL in USD                                |
| `min_volume_usd`       | `number`   | No       | Minimum total volume in USD                                |
| `min_win_rate`         | `number`   | No       | Minimum win rate percentage (0.0 to 100.0)                 |
| `max_volume_usd`       | `number`   | No       | Maximum total volume in USD                                |
| `min_buy_usd`          | `number`   | No       | Minimum buy volume in USD                                  |
| `min_sell_volume_usd`  | `number`   | No       | Minimum sell volume in USD                                 |
| `min_markets_traded`   | `number`   | No       | Minimum number of markets traded                           |
| `timeframes`           | `string[]` | No       | Timeframe windows: `1d`, `7d`, `30d`, `lifetime` (max 500) |

## Subscribe

```json theme={null}
{
  "op": "subscribe",
  "event": "trader_global_pnl",
  "traders": ["0x37BA57e2942A57F05B5E4BCFD4d027845cFC40ec"],
  "min_realized_pnl_usd": 5000,
  "min_win_rate": 60
}
```

## Response

```json theme={null}
{
  "event": "trader_global_pnl",
  "timestamp": 1775913505260,
  "data": {
    "trader": "0x37BA57e2942A57F05B5E4BCFD4d027845cFC40ec",
    "timeframe": "lifetime",
    "realized_pnl_usd": 12500.75,
    "events_traded": 45,
    "markets_traded": 82,
    "total_buys": 320,
    "total_sells": 180,
    "total_redemptions": 55,
    "total_merges": 12,
    "total_volume_usd": 250000.00,
    "buy_volume_usd": 175000.00,
    "sell_volume_usd": 50000.00,
    "redemption_volume_usd": 20000.00,
    "merge_volume_usd": 5000.00,
    "markets_won": 52,
    "markets_lost": 30,
    "market_win_rate_pct": 63.41,
    "avg_pnl_per_market": 152.45,
    "avg_pnl_per_trade": 25.00,
    "avg_hold_time_seconds": 604800.0,
    "total_fees": 500.00,
    "best_trade_pnl_usd": 3200.00,
    "best_trade_condition_id": "0x4fec624c0ff2bfae89956cebd6fbc9c58f995f824382dc587dc5a32a4b15940b",
    "first_trade_at": 1736929800,
    "last_trade_at": 1781620700
  }
}
```
