Skip to main content
GET
cURL
Use this once a search or explore call has given you a market. It sums every tracked whale trade in the window, at any grade, then lists the largest positions held by S, A, and B wallets. For several markets in one request, use Batch market flow.

Parameters

Key response fields

A cached body lives 60 seconds under timeframe=1h, and 300 seconds under the other three windows.

Example

What it does not return

  • Flow filtered by grade. Every tracked whale trade counts toward the flow, and only top_positions is limited to graded wallets.
  • A grade floor you can set. Sharp money flows has min_grade for that.
  • A trade from before the window. 7d is the widest window on offer.
  • A price, an order book, or live sports context. Those are on Market snapshot.
  • The full holder roster. Market holders pages through every S, A, and B wallet in the market.
  • A market 0xinsider has not indexed. That answers 404, and nothing is fetched from Polymarket while your request runs.

Caching

Send the ETag from a response back in an If-None-Match header. If the body has not changed, you get 304 Not Modified with an empty body.

Authorizations

Authorization
string
header
required

Legacy default or named integration API key, or OAuth 2.1 access token, in the Authorization header as Bearer oxi_sk_live_... or Bearer oxi_at_.... Default keys retain full access; integration keys are limited to their approved read, webhooks, export and usage scopes and expire within 90 days. All credentials share the owner's account limits. Data calls require an active Pro subscription and return live data. A 401 carries WWW-Authenticate: Bearer resource_metadata="https://api.0xinsider.com/.well-known/oauth-protected-resource" (RFC 6750 section 3, RFC 9728).

Headers

X-Query-Validation
enum<string>

Opt into strict query-name validation. The default is compatible: unknown names are ignored and reported in X-Query-Ignored. With strict, an unknown name returns 400 bad_request with error.reason unknown_query_parameter before the handler runs, including when its percent escape is incomplete.

Available options:
strict
If-None-Match
string

Conditional GET validator from a previous ETag. Matching values return 304 Not Modified with an empty body.

Path Parameters

condition_id
string
required

Market condition ID. Accepts the raw provider-backed condition_id returned by /api/v1/markets/search or the mkt_-prefixed market.id emitted by V1 responses.

Query Parameters

timeframe
enum<string>
default:24h

Lookback window for whale flow aggregation.

Available options:
1h,
4h,
24h,
7d

Response

One market's flow and top positions

object
string
required
Allowed value: "market_flow"
data
object
required
meta
object
required