v1
latestOpenAPI 3.1.02026-07-243035381.4 MBGet wallet trade history
/v4/data/prediction/wallets/{address}/trades
100 credits per API call
Trade-only fills for a wallet — one row per trade, with the buy/sell side, outcome metadata, size, price, transaction hash, and the trader's profile fields (display name, profile image). Trade-only — does not include non-trade events like splits, merges, redemptions or rewards (use /wallets/{address}/activity for the full feed).
Platform support
- Polymarket only. Kalshi wallets return 400.
Filtering and pagination
- market / eventId scope the response (mutually exclusive, up to 50 entries each).
- side filters to BUY or SELL trades.
- takerOnly defaults to true — set to false to include maker-side fills.
- filterType and filterAmount set a minimum trade size threshold. filterType=CASH filters by USDC notional; filterType=TOKENS filters by outcome-token count. Both must be provided together — passing one without the other returns 400.
- Pagination is offset-based — limit (1..10000, default 100) and offset (0..10000, default 0). The upstream feed enforces a hard cap at offset = 3000; calls past that point return an empty page rather than an error.
Other notes
- address is normalised to lowercase before being echoed in the response (every row's proxyWallet).
- timestamp is unix-seconds (not milliseconds).
- side uses the trade-direction vocabulary (BUY / SELL) — distinct from the outcome-side vocabulary (yes / no) used by /markets/{id}/trades.
Path parameters
EVM wallet address — 0x-prefixed, 40 hex characters. Returned lowercased in response payloads. Non-EVM inputs (e.g. Kalshi user identifiers) return 400 from every wallets endpoint.
Wallet address (0x + 40 hex). Kalshi addresses return 400.
Query parameters
Comma-separated list of condition ids (0x + 64 hex). Up to 50 entries. Mutually exclusive with eventId.
Comma-separated list of Polymarket numeric event ids. Up to 50 entries. Mutually exclusive with market.
Order direction (buy / sell). Distinct from the outcome-side enum.
Filter by trade direction.
Include only taker-side fills. Defaults to true; set to false to include maker-side fills.
Unit used by the filterAmount minimum-trade-size threshold on /wallets/{address}/trades. CASH = USDC notional, TOKENS = outcome-token count.
Minimum-trade-size unit. Must be combined with filterAmount — passing one without the other returns 400.
Minimum trade size, interpreted via filterType. Must be combined with filterType.
Page size. Defaults to 100. Note the upstream offset cap of 3000 — calls past that point return an empty page.
Page offset. Defaults to 0. The upstream feed enforces a hard cap at offset 3000; calls past that point return an empty page.
Response
OK
Example response
{
"data": [
{
"proxyWallet": "0x56687bf447db6ffa42ffe2204a05edaa20f55839",
"side": "BUY",
"asset": "71321045679252212594626385532706912750332728571942612009397583165281712267356",
"conditionId": "0xdd22472e552920b8438158ea7238bfadfa4f736aa4cee91a6b86c39ead110917",
"size": 250,
"price": 0.42,
"timestamp": 1747569600,
"title": "Will candidate X win the 2024 election?",
"slug": "will-candidate-x-win-the-2024-election",
"icon": "https://polymarket.com/images/election.png",
"eventSlug": "election-2024",
"outcome": "YES",
"name": "JaneDoe",
"pseudonym": "WitnessProtection",
"bio": "Trading politics since 2020.",
"profileImage": "https://polymarket.com/avatars/jane.png",
"profileImageOptimized": "https://polymarket.com/avatars/jane.opt.png",
"transactionHash": "0xabc123…"
}
],
"pagination": {
"pageSize": 100
}
}