---
title: "Get Wallet Profiles Batch"
method: GET
path: "/v2/polymarket/wallets/profiles"
tags: ["polymarket", "smart-wallet"]
---

# Get Wallet Profiles Batch

`GET /v2/polymarket/wallets/profiles`

Get wallet profiles for multiple addresses in a single request.

Returns the same data as the single wallet profile endpoint, but for multiple wallets.
Wallets not found are omitted from the response.

## Query parameters

- `addresses` string, required — Comma-separated wallet addresses (max 20)

## Response `200`

Successful Response

- WalletProfileResponse[]
  - `user` string, required — Wallet address
  - `metrics` WalletMetrics, required — All metrics for a wallet across all time windows.
    - `one_day` WindowMetrics, required — Metrics for a specific time window.
      - `realized_pnl` number, required — Realized profit/loss in USD (from closed positions)
      - `total_pnl` number, nullable — Total PnL in USD (realized + unrealized - net fees)
      - `volume` number, required — Trading volume in USD
      - `roi` number, required — Return on investment (decimal, e.g., 0.5 = 50%)
      - `trades` integer, required — Number of trades
      - `wins` integer, required — Number of winning positions closed
      - `losses` integer, required — Number of losing positions closed
      - `win_rate` number, required — Win rate (decimal, e.g., 0.6 = 60%)
      - `profit_factor` number, required — Profit factor (gross profit / gross loss)
      - `positions_closed` integer, required — Number of positions closed
      - `avg_buy_price` number, nullable — Volume-weighted average buy price (0-1)
      - `avg_sell_price` number, nullable — Volume-weighted average sell price (0-1)
      - `fees_paid` number — Taker fees paid in USD
      - `fees_refunded` number — DEPRECATED: always 0. Refunds are already netted into fees_paid.
    - `seven_day` WindowMetrics, required — Metrics for a specific time window.
      - `realized_pnl` number, required — Realized profit/loss in USD (from closed positions)
      - `total_pnl` number, nullable — Total PnL in USD (realized + unrealized - net fees)
      - `volume` number, required — Trading volume in USD
      - `roi` number, required — Return on investment (decimal, e.g., 0.5 = 50%)
      - `trades` integer, required — Number of trades
      - `wins` integer, required — Number of winning positions closed
      - `losses` integer, required — Number of losing positions closed
      - `win_rate` number, required — Win rate (decimal, e.g., 0.6 = 60%)
      - `profit_factor` number, required — Profit factor (gross profit / gross loss)
      - `positions_closed` integer, required — Number of positions closed
      - `avg_buy_price` number, nullable — Volume-weighted average buy price (0-1)
      - `avg_sell_price` number, nullable — Volume-weighted average sell price (0-1)
      - `fees_paid` number — Taker fees paid in USD
      - `fees_refunded` number — DEPRECATED: always 0. Refunds are already netted into fees_paid.
    - `thirty_day` WindowMetrics, required — Metrics for a specific time window.
      - `realized_pnl` number, required — Realized profit/loss in USD (from closed positions)
      - `total_pnl` number, nullable — Total PnL in USD (realized + unrealized - net fees)
      - `volume` number, required — Trading volume in USD
      - `roi` number, required — Return on investment (decimal, e.g., 0.5 = 50%)
      - `trades` integer, required — Number of trades
      - `wins` integer, required — Number of winning positions closed
      - `losses` integer, required — Number of losing positions closed
      - `win_rate` number, required — Win rate (decimal, e.g., 0.6 = 60%)
      - `profit_factor` number, required — Profit factor (gross profit / gross loss)
      - `positions_closed` integer, required — Number of positions closed
      - `avg_buy_price` number, nullable — Volume-weighted average buy price (0-1)
      - `avg_sell_price` number, nullable — Volume-weighted average sell price (0-1)
      - `fees_paid` number — Taker fees paid in USD
      - `fees_refunded` number — DEPRECATED: always 0. Refunds are already netted into fees_paid.
    - `all_time` AllTimeMetrics, required — Extended metrics available only for all-time window.
      - `realized_pnl` number, required — Realized profit/loss in USD (from closed positions)
      - `total_pnl` number, nullable — Total PnL in USD (realized + unrealized - net fees)
      - `volume` number, required — Trading volume in USD
      - `roi` number, required — Return on investment (decimal, e.g., 0.5 = 50%)
      - `trades` integer, required — Number of trades
      - `wins` integer, required — Number of winning positions closed
      - `losses` integer, required — Number of losing positions closed
      - `win_rate` number, required — Win rate (decimal, e.g., 0.6 = 60%)
      - `profit_factor` number, required — Profit factor (gross profit / gross loss)
      - `positions_closed` integer, required — Number of positions closed
      - `avg_buy_price` number, nullable — Volume-weighted average buy price (YES-adjusted, 0-1)
      - `avg_sell_price` number, nullable — Volume-weighted average sell price (YES-adjusted, 0-1)
      - `fees_paid` number — Taker fees paid in USD
      - `fees_refunded` number — DEPRECATED: always 0. Refunds are already netted into fees_paid.
      - `avg_hold_time_seconds` number, required — Average hold time in seconds
      - `wallet_age_days` integer, required — Days since first trade
      - `total_positions` integer, required — Total token positions ever opened (YES and NO counted separately)
      - `active_positions` integer, required — Number of currently open positions
      - `max_win_streak` integer, required — Maximum consecutive wins
      - `max_loss_streak` integer, required — Maximum consecutive losses
      - `best_position_realized_pnl` number, required — Best single position realized PnL in USD
      - `worst_position_realized_pnl` number, required — Worst single position realized PnL in USD
  - `trading_styles` TradingStyleFlags, required — Multi-label trading style classification.
    - `is_whale` boolean, required — Large position trader (avg trade > $1000)
    - `is_market_maker` boolean, required — Balanced buy/sell + frequent trading
    - `is_active_trader` boolean, required — High trade frequency (>4 trades/position)
    - `is_buy_and_hold` boolean, required — Long holding periods (<=2 trades/position)
    - `is_degen` boolean, required — High-risk pattern (win rate < 35%, 50+ closes)
    - `is_high_conviction` boolean, required — Buys at high YES prices (>=0.80)
    - `is_contrarian` boolean, required — Takes unpopular sides (<=0.25)
    - `is_value_hunter` boolean, required — Enters at uncertain odds (0.35-0.55)
    - `primary_style` string, required — Primary trading style classification
  - `entry_edge` number, nullable — Price edge (avg_sell - avg_buy)
  - `unrealized_pnl` number, nullable — Total unrealized PnL in USD
  - `total_pnl` number, nullable — Total PnL (realized + unrealized - net fees)
  - `first_trade_at` integer, nullable — Unix timestamp of first trade
  - `last_trade_at` integer, nullable — Unix timestamp of last trade
  - `computed_at` integer, nullable — Unix timestamp when metrics were computed

## Other responses

- `400` — Bad Request
- `422` — Validation Error
- `503` — Service Unavailable

---

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