Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

0xinsider

REMOTE · API.0XINSIDER.COM · 2 COMPONENTS

Polymarket sports and esports data: wallet grades on settled P&L, large trades, markets.

0 this week 88 Trust /100

Last scanned (10 hours ago)

Scores higher than 96% of remote servers

Unreachable for 1 day in a row. Last reached 4 Nov 2026.

Category Finance and Payments

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security11
Transport & Reachability0
Schema Quality & AI Usability0
  • Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.Unverified
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
  • Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Tool Safety0
  • Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Capabilities0
  • Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified

Unverified: 5 categories

Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

What we tested

Checks we ran (3)

  • HTTPS
  • DNSSEC
  • Transport

Checks we could not complete (8)

These are gaps on our side, not findings about this hosted endpoint. We only credit what we can confirm, so a category made up entirely of them scores 0.

  • TLS certificate in Endpoint SecurityTLS not yet verified: we couldn't open a connection to check the certificate.
  • Authorization in Endpoint SecurityAuthorisation not yet verified: we couldn't confirm whether this endpoint requires it.
  • HSTS header in Endpoint SecurityHSTS not yet verified: we couldn't read the response headers to check for it.
  • Schema quality in Schema Quality & AI Usability (scores 0 for this)Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.
  • Stability in Stability & Change Management (scores 0 for this)Stability not yet verified: not enough scan history yet (needs a 30-day window).
  • Tool coverage in Tool Coverage (scores 0 for this)Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
  • Tool safety in Tool Safety (scores 0 for this)Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
  • Capabilities in Capabilities (scores 0 for this)Capabilities not yet verified: we couldn't read the endpoint's capabilities.

Does not apply to this hosted endpoint (2)

  • Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
  • Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.

The score does not measure everything. What the score does not measure →

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +84

    The score moved with no change recorded against any check. We would rather say so than guess.

  • 4 Nov 26 −84
    • Endpoint reachability: reachable → unreachable ▼ security
    • TLS certificate: pass → unverified ▼ security
    • Stability: fail → unverified ▼ security
    • HSTS header: fail → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Authorization: pass → unverified ▼ security
    • Transport: pass → fail ▼ security
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “batch_get_market_flow” rewrote its description, which is the text the model reads security
    • Tool “batch_get_market_intel” rewrote its description, which is the text the model reads security
    • Tool “batch_get_traders” rewrote its description, which is the text the model reads security
    • Tool “explore_markets” rewrote its description, which is the text the model reads security
    • Tool “get_edge_hunter” rewrote its description, which is the text the model reads security
    • Tool “get_game_holders” rewrote its description, which is the text the model reads security
    • Tool “get_positions” rewrote its description, which is the text the model reads security
    • Tool “get_pick_of_the_day_stats” rewrote its description, which is the text the model reads security
    • Tool “get_pick_of_the_day_archive” rewrote its description, which is the text the model reads security
    • Tool “get_pick_of_the_day” rewrote its description, which is the text the model reads security
    • Tool “get_leaderboard” rewrote its description, which is the text the model reads security
    • Tool “get_large_trades_history” rewrote its description, which is the text the model reads security
    • Tool “get_large_trades” rewrote its description, which is the text the model reads security
    • Tool “get_large_positions” rewrote its description, which is the text the model reads security
    • Tool “search_markets” rewrote its description, which is the text the model reads security
    • Tool “list_webhooks” rewrote its description, which is the text the model reads security
    • Tool “get_whale_trades_history” rewrote its description, which is the text the model reads security
    • Tool “get_whale_trades” rewrote its description, which is the text the model reads security
    • Tool “get_webhook” rewrote its description, which is the text the model reads security
    • Tool “get_trader_categories” rewrote its description, which is the text the model reads security
    • Tool “get_trader” rewrote its description, which is the text the model reads security
    • Tool “get_smart_money_flows” rewrote its description, which is the text the model reads security
    • Tool “get_sharp_money_flows” rewrote its description, which is the text the model reads security
    • Tool coverage: 100 → unverified ▼ functional
    • Capabilities: pass → unverified ▼ functional
    • First check of Schema quality: unverified functional
    • “get_pick_of_the_day” added an optional parameter “pick_id” cosmetic
    • “get_pick_of_the_day_stats” added an optional parameter “view” cosmetic
    • “get_pick_of_the_day_stats” added an optional parameter “sections” cosmetic
    • “get_pick_of_the_day_archive” added an optional parameter “view” cosmetic
    • “get_pick_of_the_day_archive” added an optional parameter “limit” cosmetic
    • “get_pick_of_the_day_archive” added an optional parameter “cursor” cosmetic
    • “get_pick_of_the_day” added an optional parameter “view” cosmetic
    • “get_large_trades” added an optional parameter “min_grade_at_trade” cosmetic
    • “get_whale_trades” added an optional parameter “min_grade_at_trade” cosmetic
    • “explore_markets” reworded the description of “category” cosmetic
    • “get_edge_hunter” reworded the description of “category” cosmetic
    • “get_leaderboard” reworded the description of “category” cosmetic
    • “get_large_trades_history” reworded the description of “category” cosmetic
    • “get_large_trades” reworded the description of “min_grade” cosmetic
    • “get_large_trades” reworded the description of “category” cosmetic
    • “get_large_positions” reworded the description of “category” cosmetic
    • “search_markets” reworded the description of “category” cosmetic
    • “get_whale_trades_history” reworded the description of “category” cosmetic
    • “get_whale_trades” reworded the description of “min_grade” cosmetic
    • “get_whale_trades” reworded the description of “category” cosmetic
    • “get_trader_categories” reworded the description of “category” cosmetic
    • “get_smart_money_flows” reworded the description of “category” cosmetic
    • “get_sharp_money_flows” reworded the description of “category” cosmetic
    • “get_positions” reworded the description of “category” cosmetic
  • 3 Nov 26 0
    • Tool “get_game” rewrote its description, which is the text the model reads security
    • Tool “list_games” rewrote its description, which is the text the model reads security
    • Tool “get_edge_hunter” rewrote its description, which is the text the model reads security
    • Tool “get_large_trades_history” rewrote its description, which is the text the model reads security
    • Tool “get_trader” rewrote its description, which is the text the model reads security
    • Tool “get_whale_trades” rewrote its description, which is the text the model reads security
    • Tool “get_whale_trades_history” rewrote its description, which is the text the model reads security
    • Tool “get_large_trades” rewrote its description, which is the text the model reads security
    • Tool “batch_get_traders” rewrote its description, which is the text the model reads security
    • Tool “get_market_top_holders” rewrote its description, which is the text the model reads security
    • Tool “get_positions” rewrote its description, which is the text the model reads security
    • “get_edge_hunter” reworded the description of “admission” cosmetic
    • “get_trader” reworded the description of “expand” cosmetic
    • “get_trader” reworded the description of “max_age_s” cosmetic
  • 2 Nov 26 0
    • Tool “get_pick_of_the_day” rewrote its description, which is the text the model reads security
    • Tool “get_whale_trades_history” rewrote its description, which is the text the model reads security
    • Tool “list_games” rewrote its description, which is the text the model reads security
    • Tool “search_markets” rewrote its description, which is the text the model reads security
    • Tool “get_market_holders” rewrote its description, which is the text the model reads security
    • Tool “get_sharp_money_flows” rewrote its description, which is the text the model reads security
    • Tool “get_game” rewrote its description, which is the text the model reads security
    • Tool “get_large_trades” rewrote its description, which is the text the model reads security
    • Tool “get_large_trades_history” rewrote its description, which is the text the model reads security
    • Tool “get_leaderboard” rewrote its description, which is the text the model reads security
    • Tool “get_smart_money_flows” rewrote its description, which is the text the model reads security
    • Tool “get_trader_context” rewrote its description, which is the text the model reads security
    • Tool “get_whale_trades” rewrote its description, which is the text the model reads security
    • Schema quality: 18509 → 24729 ▼ functional
    • Schema quality: 18509 → 24577 ▼ functional
    • New tool “get_account” functional
    • New tool “list_game_markets” functional
    • New tool “list_category_leaders” functional
    • New tool “get_usage” functional
    • New tool “get_sport_leaderboard” functional
    • New tool “get_resolution_report” functional
    • New tool “get_pick_of_the_day_stats” functional
    • New tool “get_market_wallets_in_out” functional
    • New tool “get_market_top_holders” functional
    • New tool “get_leaderboard_leagues” functional
    • New tool “get_game_trades” functional
    • New tool “get_game_sharp_money” functional
    • New tool “get_game_holders” functional
    • New tool “get_category_leaderboard” functional
    • “get_pick_of_the_day” added an optional parameter “date” cosmetic
    • “get_whale_trades” added an optional parameter “event_slug” cosmetic
    • “get_whale_trades_history” added an optional parameter “event_slug” cosmetic
    • “list_games” added an optional parameter “expand” cosmetic
    • “list_games” added an optional parameter “window” cosmetic
    • “get_whale_trades” added an optional parameter “condition_id” cosmetic
    • “get_large_trades” added an optional parameter “condition_id” cosmetic
    • “get_large_trades” added an optional parameter “event_slug” cosmetic
    • “get_large_trades_history” added an optional parameter “event_slug” cosmetic
    • “get_leaderboard” added an optional parameter “activity” cosmetic
    • “get_leaderboard” added an optional parameter “dir” cosmetic
    • “get_leaderboard” added an optional parameter “sort” cosmetic
    • “get_sharp_money_flows” added an optional parameter “condition_id” cosmetic
    • “get_sharp_money_flows” added an optional parameter “event_slug” cosmetic
    • “get_smart_money_flows” added an optional parameter “condition_id” cosmetic
    • “get_smart_money_flows” added an optional parameter “event_slug” cosmetic
    • “search_markets” reworded the description of “q” cosmetic
  • 1 Nov 26 0
    • MCP protocol: Implements a current MCP spec version (2026-07-28). functional
    • MCP protocol version: 2025-11-25 → 2026-07-28 functional
  • 28 Oct 26 0
    • Tool “get_trader_context” rewrote its description, which is the text the model reads security
  • 27 Oct 26 −1
    • Tool “get_whale_trade” rewrote its description, which is the text the model reads security
    • Tool “get_whale_trades” rewrote its description, which is the text the model reads security
    • Tool “get_whale_trades_history” rewrote its description, which is the text the model reads security
    • Tool “get_trader” rewrote its description, which is the text the model reads security
    • Tool “get_smart_money_flows” rewrote its description, which is the text the model reads security
    • Tool “get_sharp_money_flows” rewrote its description, which is the text the model reads security
    • Tool “get_platforms” rewrote its description, which is the text the model reads security
    • Tool “get_pick_of_the_day_archive” rewrote its description, which is the text the model reads security
    • Tool “get_pick_of_the_day” rewrote its description, which is the text the model reads security
    • Tool “get_market_intel” rewrote its description, which is the text the model reads security
    • Tool “get_leaderboard” rewrote its description, which is the text the model reads security
    • Tool “get_large_trades_history” rewrote its description, which is the text the model reads security
    • Tool “get_large_trades” rewrote its description, which is the text the model reads security
    • Tool “get_large_trade” rewrote its description, which is the text the model reads security
    • Tool “get_insider_radar_flag” rewrote its description, which is the text the model reads security
    • Tool “get_insider_radar” rewrote its description, which is the text the model reads security
    • Tool “get_coverage” rewrote its description, which is the text the model reads security
    • Tool “explore_markets” rewrote its description, which is the text the model reads security
    • Tool “batch_get_traders” rewrote its description, which is the text the model reads security
    • Tool “batch_get_market_intel” rewrote its description, which is the text the model reads security
    • Tool “get_trending_wallets” rewrote its description, which is the text the model reads security
    • Tool “get_trader_pnl” rewrote its description, which is the text the model reads security
    • “explore_markets” reworded the description of “sort” cosmetic
  • 24 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://api.0xinsider.com/api/v1/mcp

TLS unreached
DNSSEC insecure

Validation of api.0xinsider.com. — Not signed

Zone DS Keys Algorithms Outcome
. Trust anchor 20326, 38696 8, 8 Verified
com. DS published 19718 13 Verified
0xinsider.com. No DS Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Inconclusive

We could not reach the endpoint well enough to judge its authorisation posture.

Result Inconclusive

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.0xinsider.com/api/v1/mcp Unreachable
http (plaintext) http://api.0xinsider.com/api/v1/mcp HTTPS enforced
MCP tools · 69 exposed · ~26,956 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
get_trader ~640

Look up a prediction market trader by wallet address or username. Returns grade (S through F), the edge over the price paid the profile badge shows (price_edge), and the sports and esports record: realized P&L (pnl.in_scope), markets traded, win rate, and volume. Wallet figures cover sports and esports markets only. Optional expand fields for heavier data: - strategy: Trading strategy classification - categories: Per-category performance breakdown - quant_metrics: retired since 2026-10-27; accepted and never returned, because its metrics covered every market of the wallet. Read pnl.in_scope or get_trader_pnl for the sports and esports record - trust: Per-field provenance (source, freshness, reconciliation, completeness) for grade, P&L, and stats - breakdowns: The profile's strategy breakdowns over sports and esports markets: P&L and win rate by UTC hour of first trade, hold-time and hour-of-day bands, risk metrics with category concentration, and entry-price buckets with their coverage (the settled positions the buckets leave out, such as two-sided hedges, by reason, count and P&L; its per-market P&L sum differs from pnl.in_scope.realized_pnl, which is Polymarket's published figure). Computed on the request, so slower for large wallets A wallet address with no trader yet returns sync_status "unknown" (not an error). A username or trader id that matches no trader is a not_found error. Args: - address (string, required): Ethereum wallet address (0x...) or trader username - expand (string[], optional): Heavy fields to include: "strategy", "categories", "trust", "breakdowns" ("quant_metrics" is accepted and returns nothing) - max_age_s (integer, optional, 0 or more): Freshness ceiling in seconds. The call answers only when data_quality.status is fresh or stale and data_quality.as_of is no older than this; otherwise it fails with reason freshness_ceiling_unsatisfied (HTTP 409). Nothing is refreshed to meet it Returns: Trader profile with grade, P&L, stats, and…

NameTypeReqDescription
addressstringyesEthereum wallet address (0x...) or trader username
expandarray–Optional heavy fields to include; breakdowns adds the profile's hourly performance, hold-time and hour bands, risk metrics with category concentration, and entry-price buckets, computed on the request
max_age_sinteger–Freshness ceiling in seconds: answer only when data_quality.status is fresh or stale and data_quality.as_of is no older than this, otherwise fail with freshness_ceiling_unsatisfied

Structured output declared, but exposes no named fields.

No examples provided.

get_trader_categories ~338

One wallet's win record in every canonical category it has a settled market in: wins, decided (wins plus losses) and win_rate per category, busiest first. The Esports record also lists each esports game it has a settled market in. The basis is every settled market at any size, so it differs from get_trader's categories expansion, which applies a 20 USD notional floor and an entry-price rule; neither corrects the other. A category with fewer decided markets than min_decided_for_win_rate keeps its counts with win_rate null and status not_enough_data. An absent category means no record, never a 0% record. Args: - address (string, required): Wallet address (0x...), username, or trd_-prefixed trader id - category (string, optional): One canonical category through the shared rollup: soccer and EPL reach Soccer, every esports label reaches Esports, football is American football, and sports returns every record but Esports. A game is not a filter: ask for esports and read games Returns: records, min_decided_for_win_rate, basis, computed_at and meta. A trader with no settled market returns empty records; an unknown address is a not_found error.

NameTypeReqDescription
addressstringyesWallet address (0x...), username, or trd_-prefixed trader id
categorystring–One canonical category through the shared rollup: soccer and EPL reach Soccer, every esports label reaches Esports, football is American football, and sports returns every record but Esports. A value…

Structured output declared, but exposes no named fields.

No examples provided.

get_trader_context ~298

One structured context object for a trader: the full get_trader profile plus position_summary (sync coverage and realized and unrealized P&L rollups with an as_of open-position clock), data_as_of and a freshness_note on what the point-in-time snapshot covers. position_summary is absent when the trader is not tracked locally or native net economics is unavailable. Its open-position figures (markets_open, unrealized_mtm, cost_basis_locked) cover the wallet's sports and esports markets, each judged when read; markets_synced, markets_resolved and the resolved win figures count every stored market, which can include markets of other categories, and sync_coverage adds markets_pruned and markets_unstored, its deleted and its unstored markets of other categories, and markets_combo, its combo markets, to markets_synced; markets_total, total_realized_pnl and synced_realized_pnl cover every Polymarket market of the wallet. A wallet address with no trader yet returns sync_status "unknown" on the nested trader; a username or trader id that matches no trader is a not_found error. Args: - address (string, required): Wallet address (0x...), username, or trd_-prefixed trader id Returns: trader, position_summary, data_as_of, freshness_note and meta.

NameTypeReqDescription
addressstringyesWallet address (0x...), username, or trd_-prefixed trader id

Structured output declared, but exposes no named fields.

No examples provided.

get_trader_export_snapshot ~126

Read export source-range, completeness, volume reconciliation, row-count estimate, and large-export policy for one trader. Metadata only; does not start an export job. Args: - address (string, required): Trader wallet address, known username-style lookup, or trd_-prefixed trader ID emitted by the API. Bare integer database IDs are not accepted Returns: Trader export snapshot metadata.

NameTypeReqDescription
addressstringyesTrader wallet address, known username-style lookup, or trd_-prefixed trader ID emitted by the API. Bare integer database IDs are not accepted

Structured output declared, but exposes no named fields.

No examples provided.

get_trader_grade_at ~235

The grade a trader was visibly recorded with at a past instant, from prospective grade observations: what the wallet's grade was when a trade or decision happened, never a reconstruction. status is graded, ungraded or unknown; use grade only when status is graded. Before available_from (the first recorded observation), after deletion, or in a grade-transition gap, status is unknown and grade is null. observation carries observed_at, published_by and model provenance, which older observations leave null. Never substitute a current grade. Args: - address (string, required): Wallet address (0x...), username, or trd_-prefixed trader id - as_of (string, required): RFC3339 instant, such as the trade or decision time; future instants are refused Returns: status, grade, available_from, observation and meta.

NameTypeReqDescription
addressstringyesWallet address (0x...), username, or trd_-prefixed trader id
as_ofstringyesRFC3339 instant whose recorded grade is read, such as the trade or decision time; future instants are refused

Structured output declared, but exposes no named fields.

No examples provided.

get_trader_pnl ~524

Get a trader's sports and esports daily P&L time series and pre-derived stats. Returns entries (daily realized P&L and its running sum), period stats (all/90d/30d/7d), monthly aggregation, per-year totals, the drawdown series, series_status, and realized: how the days add up to the wallet's Sports P&L. A day's daily_change is the realized P&L of the wallet's sports and esports markets dated to that UTC day (the resolution day, else the last trade day), so the days plus realized.undated_pnl equal realized.realized_pnl, the Sports P&L on the trader object. series_status pending means the series is not computed yet: entries are empty and never mean zero. A resolved trader with no sports or esports day returns an empty structured object (HTTP 200); an unknown address returns not found. Args: - address (string, required): Wallet address (0x...), username, or trd_-prefixed trader id - from / to (string, optional): Inclusive UTC calendar dates (YYYY-MM-DD) bounding the daily series (entries and drawdown); stats, monthly and year_totals stay defined over the full history - sections (string[], optional): Which sections to return: "entries", "stats", "monthly", "year_totals", "drawdown"; omit for all five. A section left out is absent, and an unrecognized name is an error, never ignored Returns: Structured trader P&L object (entries, stats, monthly, year_totals, drawdown, freshness_at, series_status, realized). A request that sent from, to or sections also carries view: the bounds applied, the sections present, entries_total, entries_in_window and the pre-window anchor.

NameTypeReqDescription
addressstringyesWallet address (0x...), username, or trd_-prefixed trader id
fromstring–Inclusive UTC calendar-date lower bound (YYYY-MM-DD) for the daily series (entries and drawdown); omit for the whole stored history. Does not change stats, monthly or year_totals
sectionsarray–Which sections of the object to return; omit for all five. A section left out is absent from the result, never null or empty
tostring–Inclusive UTC calendar-date upper bound (YYYY-MM-DD) for the daily series (entries and drawdown); omit for the whole stored history. Must not be before from

Structured output declared, but exposes no named fields.

No examples provided.

get_trending_wallets ~275

List wallets ranked by trailing-window realized P&L (Polymarket-only discovery). Each row carries the window P&L, volume, distinct markets, grade, hot-streak tier, and its sports and esports realized P&L by day (one point per UTC day of the window, dates ascending, 0 on a day with none; empty while daily_pnl_series_status is pending, which never means zero; it does not sum to the window P&L, which counts every market). Cursor-paginated by window P&L descending. A cold read model returns a 503 retry-after (warming), never a 500 or fabricated ranking. Args: - limit (number, 1-50, default 20): Max results per page - cursor (string, optional): Opaque pagination cursor from previous response - window (string, optional): Trailing window: "7d" (default) or "30d" Returns: Ranked trending wallets with window stats and pagination metadata.

NameTypeReqDescription
cursorstring–Opaque pagination cursor from previous response
limitinteger–Max results (1-50, default 20; the provider board caps the ranked set at 50)
windowstring–Trailing window (default 7d)

Structured output declared, but exposes no named fields.

No examples provided.

get_usage ~160

Read the calling credential's own request budget: the per-minute rate limit (used, limit, remaining, reset_at), today's UTC usage, and the monthly quota (used, limit, remaining, reset_at, binding, pay_as_you_go, ceiling, unavailable_reason). Call it before a long run and slow down or stop before monthly_quota.remaining reaches 0; when binding is true, requests past the limit are refused until reset_at. It costs no monthly quota and no per-minute request: it shares a separate 100 reads/minute inspection allowance with get_account. monthly_quota is null with unavailable_reason when the month's count cannot be read. Args: none Returns: rate_limit, daily_usage and monthly_quota. Times are Unix seconds.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

get_webhook ~72

Lookup of one webhook endpoint owned by the authenticated API key user. This does not create, update, verify, rotate, or delete webhook endpoints. Args: - id (number, required): Webhook endpoint id Returns: Webhook endpoint configuration record.

NameTypeReqDescription
idintegeryesWebhook endpoint id

Structured output declared, but exposes no named fields.

No examples provided.

get_weekly_report_snapshot ~122

Read one weekly whale-activity report snapshot. Pass either from/to UTC dates or an ISO YYYY-WW week token. Args: - week (string, optional): YYYY-WW selector - from/to (string, optional): UTC dates in YYYY-MM-DD format Returns: Report snapshot metadata and entries.

NameTypeReqDescription
fromstring–UTC source-range start in YYYY-MM-DD format
tostring–UTC source-range end in YYYY-MM-DD format
weekstring–ISO week selector in YYYY-WW format

Structured output declared, but exposes no named fields.

No examples provided.

get_whale_trade ~263

Deprecated alias of get_large_trade (#16304), kept live until its 2027-02-01 sunset (#29351), then removed; it calls the deprecated /api/v1/whale-trades/{id} path, whose envelope keeps object: whale_trade. Read one whale trade by ID. Accepts either the wt_ ID returned by whale-trade list/history responses or the raw numeric whale_alerts.id. Args: - id (string, required): Whale trade ID such as wt_123 or 123 Returns: One whale trade with trader info, market context, size, side, price, current review_score (signal_score is its deprecated twin, same value, until its 2027-02-01 sunset) and trader grade, point-in-time recorded_review_score (recorded_signal_score is its deprecated twin until its 2027-02-01 sunset; null before 2026-08-03) and trader grade_at_trade with grade_at_trade_status (unknown before 2026-09-19), optional suspicion_score, and optional suspicion_track. A null suspicion track means the persisted legacy row has no track label.

NameTypeReqDescription
idstringyesLarge trade ID such as wt_123 or 123

Structured output declared, but exposes no named fields.

No examples provided.

get_whale_trades ~1,214

Deprecated alias of get_large_trades (#16304), kept live until its 2027-02-01 sunset (#29351), then removed; it calls the deprecated /api/v1/whale-trades path. Get recent large trades from graded prediction market traders. Each trade includes a 0-1 review score, persisted suspicion facts, trader grade, and market context. Cursor-paginated, newest first. Args: - limit (number, 1-100, default 20): Max results per page - cursor (string, optional): Pagination cursor from previous response - min_size (number, default 5000): Minimum trade size in USD - category (string, optional): Filter by market category (case-insensitive): a sport such as Basketball, a league such as NBA (it folds into its sport), Esports, or sports for every sport but Esports. Omit it for every sports and esports trade - min_grade (string, optional): Minimum trader grade now (S, A, B, C, D, F); not with min_grade_at_trade - min_grade_at_trade (string, optional): Minimum grade the trader held when the trade filled (graded only), the basis the stream and webhooks share; not with min_grade - suspicious_only (boolean, optional): Keep only persisted suspicion_score >= 60; false preserves the current result set - min_market_volume_share (number, 0-1, optional): Keep only trades whose market_volume_share is known and at least this; a fraction, so 0.01 is one percent of the market's traded volume - sort (string, optional): "recent" (default, newest first) or "market_volume_share" (biggest share of its market first, over the last 30 days, or from the from bound on the history tools; a cursor is bound to the order it was minted in) - since (string, optional): wt_ id of a trade a previous call returned; answers only the trades recorded after it, in commit order, so a trade recorded late still arrives. Poll with the first trade of the last answer that had trades and deduplicate on id; recent order only - condition_id (string, optional): One market's large trades, by exact raw provider cond…

NameTypeReqDescription
categorystring–Filter by market category (case-insensitive): a sport such as Basketball, a league such as NBA (it folds into its sport), Esports, or sports for every sport but Esports. Omit it for every sports and…
condition_idstring–One market's large trades: its exact raw provider condition_id. Not with event_slug or since
cursorstring–Pagination cursor from previous response
event_slugstring–Every market of one game (moneyline, spreads, totals and props), the markets get_game_trades reads; for example nba-bos-orl-2026-11-01. An unknown slug is not_found. Recent order only; not with condi…
limitinteger–Max results (1-100, default 20)
min_gradestring–Minimum trader grade now; not with min_grade_at_trade
min_grade_at_tradestring–Minimum grade the trader held when the trade filled (grade_at_trade, graded only), the basis the stream and webhooks share; not with min_grade
min_market_volume_sharenumber–Keep only trades whose market_volume_share is known and at least this. A fraction, not a percent: 0.01 is one percent of the market's traded volume. A trade whose share is unavailable is never return…
min_sizenumber–Minimum trade size in USD (default 5000)
sincestring–wt_ id of a trade a previous call returned: answer only the trades recorded after it, in commit order, so a trade recorded late still arrives and none is skipped. Poll with the first trade of the las…
sortstring–Order of the page. recent is newest first. market_volume_share ranks by each trade's share of its market's traded volume, biggest first, a trade whose share is unavailable last, over the last 30 days…
suspicious_onlyboolean–Keep only rows with persisted suspicion_score >= 60

Structured output declared, but exposes no named fields.

No examples provided.

get_whale_trades_history ~1,046

Deprecated alias of get_large_trades_history (#16304), kept live until its 2027-02-01 sunset (#29351), then removed; it calls the deprecated /api/v1/whale-trades/history path. Replay historical whale trades from local whale_alerts rows. Supports cursor pagination plus condition, trader, category, grade, platform, suspicion, market-share, and RFC3339 from/to filters, and a market_volume_share sort. Args: - limit (number, 1-100, default 20) - cursor (string, optional): Pagination cursor with wth_ prefix - min_size (number, optional): Minimum trade size in USD - condition_id (string, optional): Exact raw provider condition_id - event_slug (string, optional): Every market of one game, the markets get_game_trades reads; recent order only, not with condition_id; an unknown slug is not_found - trader (string, optional): Wallet, alias, or username - category (string, optional): Filter by market category (case-insensitive): a sport such as Basketball, a league such as NBA (it folds into its sport), Esports, or sports for every sport but Esports. Omit it for every sports and esports trade - min_grade (string, optional): S, A, B, C, D, or F; filters on today's grade, not the grade at trade time - suspicious_only (boolean, optional): Keep only persisted suspicion_score >= 60 - platform (string, optional): polymarket or all - from/to (string, optional): RFC3339 traded_at bounds - min_market_volume_share (number, 0-1, optional): Keep only trades whose market_volume_share is known and at least this; a fraction, so 0.01 is one percent of the market's traded volume - sort (string, optional): "recent" (default, newest first) or "market_volume_share" (biggest share of its market first, over the last 30 days, or from the from bound on the history tools; a cursor is bound to the order it was minted in) Returns: Historical whale trades with replay metadata, current review_score (signal_score is its deprecated twin, same value, until its 2027-02-01 sunset) and…

NameTypeReqDescription
categorystring–Filter by market category (case-insensitive): a sport such as Basketball, a league such as NBA (it folds into its sport), Esports, or sports for every sport but Esports. Omit it for every sports and…
condition_idstring–Exact raw provider condition_id
cursorstring–Pagination cursor from previous response
event_slugstring–Every market of one game (moneyline, spreads, totals and props), the markets get_game_trades reads; for example nba-bos-orl-2026-11-01. An unknown slug is not_found. Recent order only; not with condi…
fromstring–Inclusive traded_at lower bound
limitinteger–Max results (1-100, default 20)
min_gradestring–Minimum trader grade
min_market_volume_sharenumber–Keep only trades whose market_volume_share is known and at least this. A fraction, not a percent: 0.01 is one percent of the market's traded volume. A trade whose share is unavailable is never return…
min_sizenumber–Minimum trade size in USD
platformstring–Filter by provider platform
sortstring–Order of the page. recent is newest first. market_volume_share ranks by each trade's share of its market's traded volume, biggest first, a trade whose share is unavailable last, over from, or the las…
suspicious_onlyboolean–Keep only rows with persisted suspicion_score >= 60
tostring–Exclusive traded_at upper bound
traderstring–Trader wallet, alias, or username

Structured output declared, but exposes no named fields.

No examples provided.

list_category_leaders ~141

List every sports and esports category's top three edge leaders, the board the site's categories index shows: in each category, wallets ranked by the 95% lower bound of their edge over the price they paid, counted over independent events. Only wallets whose lower bound is above zero are listed, so a category can carry fewer than three. Rows come by category, then rank; get_category_leaderboard pages one category's full ranking. Args: none Returns: rows (rank, category, id, address, username, platform, grade, edge_lower_bound, independent_events, unresolved_events, n_resolved, win_rate, pnl, as_of).

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

list_game_markets ~663

Every stored Polymarket market of one event_slug: the moneyline, spreads, totals, team totals, half and quarter lines, player props and the rest, plus the markets of the event's child events (a soccer game's exact score, halftime result and more-markets events), each with its own event_slug. Each row carries the condition_id, the provider's sports_market_type and groupItemTitle, the provider's typed line and, when stated, the outcome index it belongs to, both outcome labels with their CLOB token ids, and active or closed status. Ordered by sports_market_type, then line, then condition_id. Pass a condition_id to get_market_holders, get_market_flow or get_market_snapshot. Args: - event_slug (string, required): the event slug from list_games, get_game or a search_markets result, for example nba-bos-orl-2026-11-01. Matched case-insensitively. Live, upcoming and settled events all answer - sports_market_type (string, optional): comma-separated provider market types to keep, case-insensitive (spreads, totals, points, first_half_totals). Omitted keeps every type; an unknown type returns an empty page - status (string, optional): active, closed or all (default all) - limit (number, 1-100, default 20) - cursor (string, optional): opaque gmk_v1_ cursor from next_cursor, sent with the same filters - expand (string[], optional): sharp_money adds each row's sharp_money: status (computed, not_computed or unavailable; the first read of a game can be unavailable while its split is built, so retry after a few seconds), trader_count, per-outcome usd and S/A/B wallet counts, and money_as_of, the game page's per-line split Returns: data, has_more, next_cursor, event_slug, families and meta. families lists every market type the event holds with its market and active counts, whatever the filters: read it first to choose a sports_market_type. A slug no stored market carries answers 404; an event outside sports and esports answers 404 with reason market_out_of_scope. Carries…

NameTypeReqDescription
cursorstring–Opaque gmk_v1_ cursor from next_cursor, used with the same filters
event_slugstringyesThe game's event slug, for example nba-bos-orl-2026-11-01; matched case-insensitively
expandarray–sharp_money adds each row's sharp-money split: side USD and S/A/B wallet counts per outcome (#32155)
limitinteger–Max results (1-100, default 20)
sports_market_typestring–Comma-separated provider market types to keep, case-insensitive: spreads, totals, points, first_half_totals. Omitted keeps every type; the response's families lists the event's types
statusstring–Keep only active or only closed markets; default all

Structured output declared, but exposes no named fields.

No examples provided.

list_games ~1,039

The fixture list: one coherent game per row, so an agent never has to assemble a game from market searches and team-name matching. Each row carries both sides with their provider ids and live scores, the UTC kickoff, the provider's own status, the esports series format, a tennis game's tournament edition (tier, place, venue time zone, draw and dates), and the game's winner markets (the moneyline, or a soccer game's three 1X2 legs) with their condition_id, outcome token ids and provider moneyline prices. A game's spreads, totals and player props are not on the row: list_game_markets lists every market of one event_slug. Ordered by kickoff, then event_slug; games whose kickoff the provider has not published sort last. For what is on now, pass window=now: without it the list is the whole catalog and starts at the oldest game still open, which can be weeks old. Args: - sport (string, optional): canonical bucket, case-insensitive, with - and _ read as a space (table-tennis and Table Tennis are one bucket). Omitted means every covered sport - league (string, optional): league tag as coverage.leagues spells it (nfl, epl, cs2), case-insensitive - status (string, optional): scheduled, live, paused, ended, postponed, cancelled, suspended, delayed, or unknown. ended, cancelled and postponed also list finished games that have left the live board (freshness.source stored) for kickoffs in starts_after..starts_before, by default the 7 days before now; such a page can be short, or empty, while has_more is true, so follow next_cursor until has_more is false - starts_after / starts_before (string, optional): RFC 3339 kickoff bounds; a game with no published kickoff is excluded whenever either bound is set - window (string, optional): all (default, the whole catalog) or now: games the provider reports in play, plus any other game whose kickoff was at most 3 hours ago or is still to come, without ended, postponed or cancelled games - limit (number, 1-100, default 20) -…

NameTypeReqDescription
cursorstring–Opaque gms_v1_ cursor from next_cursor; it pins the page position (kickoff and event_slug), not a snapshot
expandstring–sharp_money: add each game's event-level sharp money (the object get_game_sharp_money returns, from the sport board's cached aggregate), so no per-game call is needed
leaguestring–League tag as coverage.leagues spells it: nfl, epl, cs2. Case-insensitive
limitinteger–Max results (1-100, default 20)
sportstring–Canonical sport bucket, case-insensitive, with - and _ read as a space; omitted means every covered sport. A bucket this deployment does not serve returns an empty page
starts_afterstring–RFC 3339 instant; keep only games whose kickoff is at or after it
starts_beforestring–RFC 3339 instant; keep only games whose kickoff is at or before it. Must be at or after starts_after
statusstring–Keep only games in this state
windowstring–all lists the whole catalog. now lists what is on now: games the provider reports in play, plus any other game whose kickoff was at most 3 hours ago or is still to come, without ended, postponed or c…

Structured output declared, but exposes no named fields.

No examples provided.

list_webhooks ~50

List of webhook endpoints owned by the authenticated API key user. This does not create, update, verify, rotate, or delete webhook endpoints. Args: none Returns: List of webhook endpoint configuration records.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

search_content ~141

Search 0xinsider's editorial content by keyword. Returns matching learn articles, glossary entries, comparisons, research, and trading strategies with their canonical URLs. Args: - q (string, required): Search query, 1-256 characters before whitespace trimming - limit (number, 1-50, default 10): Max results Returns: List of matching content items with content_id, kind, slug, title, excerpt, and url.

NameTypeReqDescription
limitinteger–Max results (1-50, default 10)
qstringyesSearch query (1-256 characters before whitespace trimming, non-empty after trimming)

Structured output declared, but exposes no named fields.

No examples provided.

search_markets ~452

Search prediction markets by keyword. Returns one market per matching Polymarket event, with status, category, platform and event_slug: the event's representative market: the market whose title is q, else a moneyline or winner market before an O/U, spread or alt line, so a game's spreads, totals and player props never appear as separate results. An event holding a market whose title is q (case-insensitive) ranks first whatever its date, so a pasted market title returns that market first. Pass a sports result's event_slug to list_game_markets for every market of that game. Use this to find condition_id values needed by get_market_flow. Supports cursor pagination: pass next_cursor from the previous page with the same q, status and category to read the next page; stop when has_more is false. Args: - q (string, required): Search query - limit (number, 1-100, default 20): Max results per page - cursor (string, optional): Pagination cursor from the previous response's next_cursor - status (string, optional): Filter by status: "active", "closed", or "all" (default "all") - category (string, optional): Filter by category. One category such as Basketball or Esports; the word sports is rejected, so omit category for every sports and esports market Returns: data (one market per matching event, with id, condition_id, title, slug, event_slug, category, platform, status), has_more, next_cursor.

NameTypeReqDescription
categorystring–Filter by category. One category such as Basketball or Esports; the word sports is rejected, so omit category for every sports and esports market
cursorstring–Pagination cursor from the previous response's next_cursor; send it with the same q, status and category
limitinteger–Max results per page (1-100, default 20)
qstringyesSearch query (2-512 characters before whitespace trimming, with at least 2 letters or digits; a query with fewer returns 400 bad_request)
statusstring–Filter by market status

Structured output declared, but exposes no named fields.

No examples provided.

Install

How do I install the 0xinsider MCP server?

0xinsider is a hosted endpoint at https://api.0xinsider.com/api/v1/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · api.0xinsider.com

# add to Claude Code
claude mcp add --transport http 0xinsider-mcp 'https://api.0xinsider.com/api/v1/mcp'
Common questions

What is the 0xinsider MCP server?

0xinsider is an MCP server listed in the public MCP registry as io.github.0xinsider/mcp. Polymarket sports and esports data: wallet grades on settled P&L, large trades, markets. This page covers its hosted endpoint (https://api.0xinsider.com/api/v1/mcp).

Is the 0xinsider MCP server safe to use?

0xinsider scores 88 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the 0xinsider MCP server expose?

0xinsider exposes 69 tools: get_leaderboard, get_trader, batch_get_traders, get_large_trades, get_large_trade, and 64 more. Their descriptions and schemas cost roughly 26,956 tokens of context every time the server is loaded.

Does the 0xinsider MCP server require authentication?

Its publisher declares no required credentials for 0xinsider. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.

Is the 0xinsider MCP server still maintained?

0xinsider is still listed in the MCP registry, though our most recent checks did not reach this channel. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What did VerifyMCP test on the 0xinsider MCP server?

VerifyMCP ran 3 checks on 0xinsider, covering HTTPS, DNSSEC and Transport. 8 items could not be completed, a gap on our side rather than a finding about 0xinsider: TLS certificate, Authorization, HSTS header, Schema quality and 4 more. 5 categories score 0 for that reason, because we only credit what we can confirm. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.