---
title: "Get Wallet Markets"
method: GET
path: "/v2/polymarket/wallet/{wallet}/markets"
tags: ["polymarket", "smart-wallet"]
---

# Get Wallet Markets

`GET /v2/polymarket/wallet/{wallet}/markets`

Get per-market breakdown for a wallet.

Shows performance metrics for each market the wallet has traded in.

## Path parameters

- `wallet` string, required — Wallet address

## Query parameters

- `window` '1d' | '7d' | '30d' | 'all_time' — Time window for rolling metrics.
- `sort_by` 'realized_pnl' | 'total_pnl' | 'volume' | 'roi' | 'profit_factor' | 'win_rate' | 'trades' — Sort options for leaderboard.
- `order` 'asc' | 'desc' — Sort order direction enum.
- `min_trades` integer, nullable — Minimum trades per market
- `limit` integer — Results per page
- `pagination_key` string, nullable — Cursor for pagination

## Response `200`

Successful Response

- WalletMarketsResponse — Response for wallet's per-market breakdown.
  - `user` string, required — Wallet address
  - `window` '1d' | '7d' | '30d' | 'all_time', required — Time window for rolling metrics.
  - `markets` WalletMarketEntry[], required — Per-market metrics
    - `condition_id` string, required — Market condition ID
    - `title` string, nullable — Market title (resolved from market_state)
    - `market_slug` string, nullable — Market slug for URL construction
    - `metrics` 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.
    - `entry_edge` number, nullable — Price edge for this market
    - `first_trade_at` integer, nullable — First trade timestamp in this market
    - `last_trade_at` integer, nullable — Last trade timestamp in this market
  - `pagination` CursorPagination, required — Cursor-based pagination for endpoints that don't support offset.
    - `limit` integer, required — Requested limit
    - `count` integer, required — Number of items in current response
    - `pagination_key` string, nullable — Base64-encoded cursor for next page
    - `has_more` boolean, required — Whether there are more items available

## 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)
