Prediction Hunt/ API
REST API / Polymarket / Smart Money (per market)

Smart Money Positioning (Polymarket)

How smart-money wallets are positioned in a single market over the window: net buyers vs. sellers, buy/sell volume split, and volume-weighted entry prices, with a per-wallet breakdown. Pairs with Smart Activity Markets — discover a market there, then drill into it here. Cost-basis PnL/ROI fields are not yet computed and are returned as null.

GET/v2/polymarket/market/{condition_id}/smart-money

Query Parameters

condition_idstring (path)Required

Market condition ID — must match ^0x[0-9a-f]{64}$.

windowstring

Optional. 1d (default), 7d, 30d, or all_time. Longer windows favor recently-active wallets.

Response Schema

smart_wallet_criteriaobject

Thresholds defining a smart-money wallet for this response.

min_lifetime_pnl_usdnumber

Minimum lifetime PnL (USD) to count as smart money.

min_trade_notional_usdnumber

Minimum per-fill notional (USD) counted.

windowstring

Rolling window applied (1d, 7d, 30d, all_time).

condition_idstring

Market condition ID.

titlestring

Market title (null if not resolved).

market_slugstring

Market slug (null if not resolved).

smart_wallet_countinteger

Distinct smart wallets active in this market in the window.

net_buyersinteger

Smart wallets whose buy volume exceeds sell volume.

net_sellersinteger

Smart wallets whose sell volume exceeds buy volume.

neutralinteger

Smart wallets with balanced buy/sell volume.

net_buyers_pctnumber

net_buyers / smart_wallet_count (0–1).

total_smart_volumenumber

Total smart-money notional (USD).

total_smart_buy_volumenumber

Buy-side smart notional (USD).

total_smart_sell_volumenumber

Sell-side smart notional (USD).

avg_smart_buy_pricenumber

Volume-weighted average smart buy price (0–1).

avg_smart_sell_pricenumber

Volume-weighted average smart sell price (0–1).

total_smart_realized_pnlnumber

Realized PnL. Not yet computed — returned as null (see _meta.unavailable_fields).

total_smart_total_pnlnumber

Total PnL. Not yet computed — returned as null.

avg_smart_roinumber

Average ROI. Not yet computed — returned as null.

avg_smart_win_ratenumber

Average win rate. Not yet computed — returned as null.

smart_walletsarray

Top smart wallets in this market by volume (capped).

proxy_walletstring

Smart wallet (Polymarket proxy address).

lifetime_pnlnumber

Wallet lifetime PnL (USD).

smart_volumenumber

This wallet's notional in this market in the window (USD).

sidestring

buyer, seller, or neutral for this market in the window.

_metaobject

Source, data floor, and field-availability metadata.

sourcestring

Data source identifier.

data_available_fromstring

ISO timestamp; trade data is served from this point onward.

unavailable_fieldsarray

Fields returned as null pending per-wallet cost-basis accounting.

notestring

Which fields are exact vs. not yet available.

coverage_notestring

How smart-wallet coverage relates to the chosen window.

Error Responses

All errors return the same envelope. The code field is stable and programmatically branchable; error and message are human-readable. errors[] is present only on validation failures with field-level detail. See the full error code reference →

successboolean

Always `false` on error responses.

errorstring

Short, human-readable title (e.g. 'Invalid API Key.').

messagestring

Human-readable explanation for the error. Safe to surface in UIs.

codestring

Stable, hierarchical machine-readable code (e.g. 'validation.invalid_enum'). Use for programmatic handling.

doc_urlstring

Link to this code's entry in the Error Reference.

errorsobject[]

Optional. Present only on validation failures with field-level detail.

fieldstring

Name of the offending parameter.

codestring

Field-level machine code.

messagestring

Human-readable explanation.

Authentication

API Key

To secure your requests, we strongly recommend passing your API key via the X-API-Key header. This prevents sensitive keys from being exposed in access logs or browser history.

Request HeaderX-API-Key: pmx_test_5e8f...

Rate Limits

API rate limits are enforced based on the tier associated with your API key. Limits are tracked on two dimensions: requests per second and requests per month. Each completed request counts toward the global monthly quota. Separate endpoint-group monthly limits (matched markets, arbitrage, EV) only advance when the response body has success: true.

Usage is returned on responses via headers such as:

Response Headers (global)X-RateLimit-Limit-Second: 10X-RateLimit-Remaining-Second: 9X-RateLimit-Limit-Month: 1000X-RateLimit-Remaining-Month: 842Example (endpoint-group, when applicable)X-RateLimit-Limit-Arb-Month: 500X-RateLimit-Remaining-Arb-Month: 412

If you exceed a rate limit, the API returns a 429 status with a Retry-After header indicating when you can resume.

Request

Live API Key

Demo Mode
Verified

Parameters

Condition IDRequired

Response

Click EXECUTE to send a request →