Skip to main content
GET
/
api
/
v1
/
markets
/
smart-money-flows
cURL
curl -sS \
  -H 'Authorization: Bearer $OXI_SK' \
  'https://api.0xinsider.com/api/v1/markets/smart-money-flows?timeframe=7d&min_grade=B&limit=10'
{
  "object": "list",
  "data": [
    {
      "market": {
        "id": "mkt_0x123",
        "condition_id": "0x123",
        "title": "Will BTC close above $100k this week?",
        "slug": "btc-close-above-100k-this-week",
        "category": "Crypto",
        "platform": "polymarket"
      },
      "smart_money": {
        "net_flow_usd": 12345.67,
        "direction": "YES",
        "whale_trade_count": 7,
        "buy_volume_usd": 20000,
        "sell_volume_usd": 7654.33
      },
      "timeframe": "24h"
    }
  ],
  "has_more": false,
  "next_cursor": null,
  "meta": {
    "request_id": "req_example",
    "cached": false
  }
}
Rank markets by where graded traders are putting money. This is the “where is smart money flowing right now?” feed: it aggregates whale flow from S, A, and B grade traders and ranks markets by absolute net flow over your chosen window. Use it for discovery, before you know a condition_id. Once you have a market, follow up with Get Market Intel for the single-market breakdown. Common filters:
  • timeframe=24h — lookback window (1h, 4h, 24h, or 7d).
  • min_grade=B — minimum trader grade in the flow. The default B means S, A, and B graded traders only.
  • platform=polymarket or platform=kalshi.
  • direction=YES or direction=NO — restrict to one side of the flow.
  • category=crypto — case-insensitive exact match against the provider-backed market category.
curl -H "Authorization: Bearer $OXINSIDER_API_KEY" \
  "https://api.0xinsider.com/api/v1/markets/smart-money-flows?timeframe=7d&min_grade=B&limit=10"
Cursor-paginated. The cursor is anchored to the first page’s as_of timestamp, so new whale trades do not reorder later pages. See Pagination.

Authorizations

Authorization
string
header
required

API key: Authorization: Bearer oxi_sk_live_...

Headers

If-None-Match
string

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

Query Parameters

timeframe
enum<string>
default:24h

Lookback window for grade-filtered whale flow aggregation.

Available options:
1h,
4h,
24h,
7d
limit
integer
default:20

Page size.

Required range: 1 <= x <= 100
cursor
string

Opaque cursor from previous response's next_cursor. Encodes the first-page as_of timestamp plus the last row's absolute net flow and condition_id.

category
string

Case-insensitive exact match against provider-backed market_canonical.category.

platform
enum<string>
default:all

Filter by source platform. all is a request-side no-op.

Available options:
polymarket,
kalshi,
all
min_grade
enum<string>
default:B

Minimum latest trader grade included in the flow. Default B means S/A/B only; unranked traders are excluded.

Available options:
S,
A,
B,
C,
D,
F
direction
enum<string>

Optional post-aggregate flow direction filter.

Available options:
YES,
NO

Response

Ranked market smart-money flows

object
string
required
Allowed value: "list"
data
object[]
required
has_more
boolean
required
meta
object
required
next_cursor
string | null
total
integer | null