Skip to main content
GET
/
api
/
v1
/
leaderboard
cURL
curl -sS \
  -H 'Authorization: Bearer $OXI_SK' \
  'https://api.0xinsider.com/api/v1/leaderboard'
{
  "object": "list",
  "data": [],
  "has_more": false,
  "next_cursor": null,
  "total": 0,
  "meta": {
    "request_id": "req_example",
    "cached": false
  }
}
Top traders by composite score. Only S, A, and B grades appear; see Trader Grades. Filter by category (crypto, politics, sports) or strategy (swing_trader, and others). Some traders rank with no detected strategy, so strategy_type is nullable.
curl -H "Authorization: Bearer $OXINSIDER_API_KEY" \
  "https://api.0xinsider.com/api/v1/leaderboard?limit=20&category=crypto"
Cursor-paginated. Pass next_cursor from one response as cursor on the next. See Pagination.

Authorizations

Authorization
string
header
required

API key: Authorization: Bearer oxi_sk_live_... for live data (requires an active Insider subscription), or oxi_sk_test_... for sandbox/test mode (free account, deterministic fixture data, no live rows). Both key classes use the same paths; the prefix selects live vs sandbox.

Headers

If-None-Match
string

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

Query Parameters

limit
integer
default:20
Required range: 1 <= x <= 100
cursor
string

Pagination cursor (score_address format).

category
string

Filter by category. Values are matched to canonical category buckets: political variants (Elections, Global Politics, U.S. Politics, ...) fold into Politics, Geopolitics stays distinct, Culture/Entertainment map to Pop Culture, Science maps to Science & Tech, and Finance/Business map to Stocks. Mapped buckets are case-insensitive; passthrough categories (Crypto, NBA, and the sports leagues) match case-sensitively against the provider-native bucket key, so use exact casing (e.g. Crypto, NBA).

strategy
enum<string>

Filter by ML-detected strategy type. Values come from backend/src/trader_analysis/classification/decision_tree.rs and are matched exactly against trader_classifications.primary_type. Unknown values currently match zero rows; the handler does not return HTTP 400.

Available options:
accumulator,
algo_trader,
arbitrageur,
directional,
event_driven,
market_maker,
momentum,
scalper,
speculator,
swing_trader

Response

Ranked trader list

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