0xinsider
REMOTE · API.0XINSIDER.COM · 2 COMPONENTS
Polymarket sports and esports data: wallet grades on settled P&L, large trades, markets.
Available components
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
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
- TLS not yet verified: we couldn't open a connection to check the certificate. View diagnostics → Unverified
- Authorisation not yet verified: we couldn't confirm whether this endpoint requires it. View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS not yet verified: we couldn't read the response headers to check for it. View diagnostics → Unverified
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability0
- Transport check failed: declared streamable-http, but we couldn't connect to verify it. See how to fix → View diagnostics → Fail
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.
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 →
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
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
Background: What to check on a remote MCP endpoint →
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 |
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 →
get_trader 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…
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Ethereum wallet address (0x...) or trader username |
| expand | array | – | 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_s | integer | – | 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 Get trader category records ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Wallet address (0x...), username, or trd_-prefixed trader id |
| category | string | – | 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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Wallet address (0x...), username, or trd_-prefixed trader id |
Structured output declared, but exposes no named fields.
No examples provided.
get_trader_export_snapshot 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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Trader 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 Get trader grade at an instant ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Wallet address (0x...), username, or trd_-prefixed trader id |
| as_of | string | yes | RFC3339 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 Get Trader P&L Time Series ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Wallet address (0x...), username, or trd_-prefixed trader id |
| from | string | – | 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 |
| sections | array | – | Which sections of the object to return; omit for all five. A section left out is absent from the result, never null or empty |
| to | string | – | 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 List 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.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque pagination cursor from previous response |
| limit | integer | – | Max results (1-50, default 20; the provider board caps the ranked set at 50) |
| window | string | – | Trailing window (default 7d) |
Structured output declared, but exposes no named fields.
No examples provided.
get_usage Get API 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 Get Webhook Endpoint ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | Webhook endpoint id |
Structured output declared, but exposes no named fields.
No examples provided.
get_weekly_report_snapshot 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.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | – | UTC source-range start in YYYY-MM-DD format |
| to | string | – | UTC source-range end in YYYY-MM-DD format |
| week | string | – | ISO week selector in YYYY-WW format |
Structured output declared, but exposes no named fields.
No examples provided.
get_whale_trade 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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Large trade ID such as wt_123 or 123 |
Structured output declared, but exposes no named fields.
No examples provided.
get_whale_trades List 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…
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | 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_id | string | – | One market's large trades: its exact raw provider condition_id. Not with event_slug or since |
| cursor | string | – | Pagination cursor from previous response |
| event_slug | string | – | 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… |
| limit | integer | – | Max results (1-100, default 20) |
| min_grade | string | – | Minimum trader grade now; not with min_grade_at_trade |
| min_grade_at_trade | string | – | 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_share | number | – | 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_size | number | – | Minimum trade size in USD (default 5000) |
| since | string | – | 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… |
| sort | string | – | 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_only | boolean | – | Keep only rows with persisted suspicion_score >= 60 |
Structured output declared, but exposes no named fields.
No examples provided.
get_whale_trades_history Replay Historical Whale Trades ~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…
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | 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_id | string | – | Exact raw provider condition_id |
| cursor | string | – | Pagination cursor from previous response |
| event_slug | string | – | 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… |
| from | string | – | Inclusive traded_at lower bound |
| limit | integer | – | Max results (1-100, default 20) |
| min_grade | string | – | Minimum trader grade |
| min_market_volume_share | number | – | 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_size | number | – | Minimum trade size in USD |
| platform | string | – | Filter by provider platform |
| sort | string | – | 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_only | boolean | – | Keep only rows with persisted suspicion_score >= 60 |
| to | string | – | Exclusive traded_at upper bound |
| trader | string | – | Trader wallet, alias, or username |
Structured output declared, but exposes no named fields.
No examples provided.
list_category_leaders 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 List a game's 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…
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque gmk_v1_ cursor from next_cursor, used with the same filters |
| event_slug | string | yes | The game's event slug, for example nba-bos-orl-2026-11-01; matched case-insensitively |
| expand | array | – | sharp_money adds each row's sharp-money split: side USD and S/A/B wallet counts per outcome (#32155) |
| limit | integer | – | Max results (1-100, default 20) |
| sports_market_type | string | – | 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 |
| status | string | – | Keep only active or only closed markets; default all |
Structured output declared, but exposes no named fields.
No examples provided.
list_games List covered 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) -…
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque gms_v1_ cursor from next_cursor; it pins the page position (kickoff and event_slug), not a snapshot |
| expand | string | – | 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 |
| league | string | – | League tag as coverage.leagues spells it: nfl, epl, cs2. Case-insensitive |
| limit | integer | – | Max results (1-100, default 20) |
| sport | string | – | 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_after | string | – | RFC 3339 instant; keep only games whose kickoff is at or after it |
| starts_before | string | – | RFC 3339 instant; keep only games whose kickoff is at or before it. Must be at or after starts_after |
| status | string | – | Keep only games in this state |
| window | string | – | 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 List Webhook Endpoints ~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 Search Editorial 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max results (1-50, default 10) |
| q | string | yes | Search query (1-256 characters before whitespace trimming, non-empty after trimming) |
Structured output declared, but exposes no named fields.
No examples provided.
search_markets 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.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Filter by category. One category such as Basketball or Esports; the word sports is rejected, so omit category for every sports and esports market |
| cursor | string | – | Pagination cursor from the previous response's next_cursor; send it with the same q, status and category |
| limit | integer | – | Max results per page (1-100, default 20) |
| q | string | yes | Search query (2-512 characters before whitespace trimming, with at least 2 letters or digits; a query with fewer returns 400 bad_request) |
| status | string | – | Filter by market status |
Structured output declared, but exposes no named fields.
No examples provided.
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
claude mcp add --transport http 0xinsider-mcp 'https://api.0xinsider.com/api/v1/mcp'
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.