0xinsider

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

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeRead-only

What it can do

    What data it sees

    Do you need an account

    No: the server works without sign-in

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

    How to connect

    How to connect 0xinsider to Claude

    The server address to paste into Claude settings:

    https://api.0xinsider.com/api/v1/mcp

    1. Open Claude (claude.ai or the desktop app).
    2. Go to Settings → Connectors.
    3. Click Add custom connector.
    4. Paste the server address copied below into Remote MCP server URL and click Add.
    5. In a chat, click + → Connectors and switch the new connector on.

    Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

    Authorization

    After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

    How to connect 0xinsider to ChatGPT

    The server address to paste into ChatGPT settings:

    https://api.0xinsider.com/api/v1/mcp

    1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
    2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
    3. Open Settings → Connectors and click Create.
    4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
    5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
    6. In a new chat open + → Apps/Connectors and enable the connector.

    OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

    Authorization

    On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

    How to connect 0xinsider to Cursor

    The server address to paste into Cursor settings:

    https://api.0xinsider.com/api/v1/mcp

    Fastest: click Open in Cursor below and confirm the prompt.

    Manually:

    1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
    2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
    3. Save the file. The server appears in the MCP list; authorize it there if asked.

    Authorization

    If the service needs sign-in, an authorize button appears next to the server in the MCP list.

    Server tool list (33)

    Raw names from tools/list. Only developers need these.

    get_leaderboardGet the top-ranked prediction market traders (grades S, A, B only). Sorted by composite score descending. Supports cursor pagination and optional filters. Args: - limit (number, 1-100, default 20): Max results per page - cursor (string, optional): Pagination cursor from previous response - category (string, optional): Filter by category slug - strategy (string, optional): Filter by strategy type Returns: Ranked list of traders with grade, score, P&L, volume, win rate, and strategy.
    get_traderLook up a prediction market trader by wallet address or username. Returns grade (S through F), P&L breakdown, win rate, and volume. Optional expand fields for heavier data: - strategy: Trading strategy classification - categories: Per-category performance breakdown - quant_metrics: curated advanced metrics (copy_score and smart_score 0-100, sharpe_30d, sharpe_7d, profit_factor, edge_consistency, sharpe_percentile, pf_percentile, consistency_percentile); emitted only for a computed row strictly under six hours old, otherwise omitted; each present value is a number or null - trust: Per-field provenance (source, freshness, reconciliation, completeness) for grade, P&L, and stats Unknown addresses or usernames return sync_status "unknown" (not an error). Args: - address (string, required): Ethereum wallet address (0x...) or trader username - expand (string[], optional): Heavy fields to include: "strategy", "categories", "quant_metrics", "trust" Returns: Trader profile with grade, P&L, stats, and optional expanded fields.
    batch_get_tradersRead-only batch lookup for 1-25 trader wallet addresses or known usernames. Results preserve request order and duplicate inputs return duplicate rows. Uses the same V1 batch item quota as POST /api/v1/traders/batch. Args: - traders (string[], required): Wallet addresses or known usernames - expand (string[], optional): Heavy fields to include for every trader: "strategy", "categories", "quant_metrics" (per-item quant_metrics is omitted unless its computed row is strictly under six hours old) Returns: Ordered batch trader results with per-item success or error details.
    get_whale_tradesGet recent large trades from graded prediction market traders. Each trade includes signal scoring, 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) - min_grade (string, optional): Minimum trader grade (S, A, B, C, D, F) - suspicious_only (boolean, optional): Keep only persisted suspicion_score >= 60; false preserves the current result set Returns: List of whale trades with trader info, market context, size, side, price, current signal_score, optional recorded_signal_score, optional suspicion_score, and optional suspicion_track. A null suspicion track means the persisted legacy row has no track label.
    get_whale_tradeRead 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 signal_score, optional recorded_signal_score, optional suspicion_score, and optional suspicion_track. A null suspicion track means the persisted legacy row has no track label.
    get_whale_trades_historyReplay historical whale trades from local whale_alerts rows. Supports cursor pagination plus condition, trader, category, grade, platform, suspicion, and RFC3339 from/to filters. 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 - trader (string, optional): Wallet, alias, or username - category (string, optional) - min_grade (string, optional): S, A, B, C, D, or F - suspicious_only (boolean, optional): Keep only persisted suspicion_score >= 60 - platform (string, optional): polymarket or all - from/to (string, optional): RFC3339 traded_at bounds Returns: Historical whale trades with replay metadata, current signal_score, optional recorded_signal_score, optional suspicion_score, and optional suspicion_track. A null suspicion track means the persisted legacy row has no track label.
    get_market_intelSmart money flow analysis for a specific prediction market. Shows net flow direction, whale trade count, buy/sell volumes, and top graded trader positions. Use search_markets first to find the condition_id for a market. Args: - condition_id (string, required): Market condition ID (from search_markets results) - timeframe (string, optional): Lookback window: "1h", "4h", "24h", "7d" (default "24h") Returns: Market info, smart money flow (net_flow_usd, direction YES/NO, volumes), and top 5 trader positions.
    batch_get_market_intelRead-only batch lookup for 1-25 raw provider condition_id values. Results preserve request order and duplicate inputs return duplicate rows. Uses the same V1 batch item quota as POST /api/v1/markets/intel/batch. Args: - condition_ids (string[], required): Raw provider condition IDs - timeframe (string, optional): "1h", "4h", "24h", or "7d" (default "24h") Returns: Ordered batch market-intelligence results with per-item success or error details.
    get_smart_money_flowsRanked smart-money flow discovery across prediction markets. Use this before you know a condition_id to find where graded traders are net buying or selling. Cursor-paginated, ranked by absolute net flow descending. Args: - timeframe (string, optional): Lookback window: "1h", "4h", "24h", "7d" (default "24h") - limit (number, 1-100, default 20): Max results per page - cursor (string, optional): Pagination cursor with smf_ prefix - category (string, optional): Filter by provider-backed market category - platform (string, optional): "polymarket" or "all" (default "all") - min_grade (string, optional): Minimum trader grade S, A, B, C, D, or F (default "B" = S/A/B) - direction (string, optional): Filter by net flow direction: "YES" or "NO" Returns: Ranked markets with sharp_money (net_flow_usd, direction, whale_trade_count, buy/sell volumes) and market identity. smart_money is a deprecated byte-identical alias of sharp_money.
    get_sharp_money_flowsRanked sharp-money flow discovery across prediction markets. Use this before you know a condition_id to find where graded traders are net buying or selling. Cursor-paginated, ranked by absolute net flow descending. Args: - timeframe (string, optional): Lookback window: "1h", "4h", "24h", "7d" (default "24h") - limit (number, 1-100, default 20): Max results per page - cursor (string, optional): Pagination cursor with smf_ prefix - category (string, optional): Filter by provider-backed market category - platform (string, optional): "polymarket" or "all" (default "all") - min_grade (string, optional): Minimum trader grade S, A, B, C, D, or F (default "B" = S/A/B) - direction (string, optional): Filter by net flow direction: "YES" or "NO" Returns: Ranked markets with sharp_money (net_flow_usd, direction, whale_trade_count, buy/sell volumes) and market identity. smart_money is a deprecated byte-identical alias of sharp_money.
    get_market_snapshotProvider-first live market-card snapshot for one raw provider condition_id. Forwards IDs to the V1 handler without mkt_ rewriting. Args: - condition_id (string, required): Raw provider condition_id returned by search or explore Returns: Market identity, outcomes, liquidity, sports context, and freshness states.
    get_insider_radarStored trades whose recorded suspicion score meets the live flag threshold. Cursor-paginated by suspicion score (highest first). Each flag includes: - suspicion_score (60-100) - severity (currently flag) - Sub-scores: size and fresh_wallet when recorded; timing and edge are null - Evidence JSON with the scorer's stored signals Args: - limit (number, 1-100, default 20): Max results per page - cursor (string, optional): Pagination cursor from previous response - min_suspicion (number, 0-100, default 0): Minimum score; the live floor of 60 also applies - severity (string, optional): "flag" selects live rows; "watch" returns none because no live watch policy exists Returns: List of radar flags with trader, market, scores, and evidence.
    get_insider_radar_flagRead one insider-radar flag by ID. Accepts the rf_ ID returned by list responses or the raw numeric whale_alerts.id. Args: - id (string, required): Radar flag ID such as rf_123 or 123 Returns: One radar flag with trader, market, suspicion scores, and evidence.
    get_positionsList current prediction-market positions from the public positions-board feed. Returns trader, market, value, side, share, P&L, and freshness context. Cursor-paginated by current value descending. Args: - limit (number, 1-100, default 20): Max results per page - cursor (string, optional): Pagination cursor from previous response - min_size (number, default 100): Minimum current value in USD - category (string, optional): Filter by provider-backed market category - min_grade (string, optional): Minimum trader grade (S, A, B, C, D, F) - side (string, optional): Filter by binary side: "yes" or "no" Returns: List of current positions with pagination metadata.
    get_position_timelineGet stored Polymarket fills available for one tracked trader in one market, newest first, with server-computed running_amount and running_avg_price. The REST identity accepts a 0x wallet, username, trd_-prefixed trader id, or bare integer traders.id with precedence wallet, trd_, integer, then username. Only HOT and WARM tier traders are tracked. Args: - condition_id (string, required): Market condition ID - address (string, optional): Any supported REST trader identity, including a bare integer traders.id - trader_id (number, optional): Convenience alias for a bare integer traders.id; provide exactly one of address or trader_id - limit (number, 1-100, default 20): Max events per page - cursor (string, optional): Pagination cursor from previous response Returns: List of position timeline events with pagination metadata.
    get_position_timeline_by_idGet stored Polymarket fills available for one internal trader id in one market, newest first, using the public V1 /api/v1/traders/{id}/position-timeline route. Args: - condition_id (string, required): Market condition ID - trader_id (number, required): Internal traders.id alias - limit (number, 1-100, default 20) - cursor (string, optional) Returns: List of position timeline events with pagination metadata.
    search_marketsSearch prediction markets by keyword. Returns matching markets with status, category, and platform. Use this to find condition_id values needed by get_market_intel. Args: - q (string, required): Search query - limit (number, 1-100, default 20): Max results - status (string, optional): Filter by status: "active", "closed", or "all" (default "all") - category (string, optional): Filter by category Returns: List of matching markets with id, condition_id, title, slug, category, platform, status.
    search_contentSearch 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.
    explore_marketsBrowse whale-active titled markets for discovery surfaces. Returns grouped event clusters or standalone markets plus live facets. Cursor-paginated over visible discovery entries. Args: - limit (number, 1-48, default 24): Max discovery entries per page - cursor (string, optional): Pagination cursor from previous response - category (string, optional): Filter by provider-native market category - status (string, optional): Filter by status: "active", "closed", or "all" - platform (string, optional): Explore is Polymarket-only; accepted for backward-compatibility, does not change the result set - sort (string, optional): Sort by "trending", "hot", "expiring", "whales", "volume", or "newest" - q (string, optional): Keyword search against market titles, up to 64 characters before whitespace trimming Returns: Market discovery entries, facets, and pagination metadata.
    get_event_replay_sinceReplay durable public whale-trade intelligence events strictly after an opaque cursor backed by whale_alerts.id. Args: - cursor (string, optional): Opaque event replay cursor - limit (number, 1-100, default 50) Returns: Event replay window with retention and completeness metadata.
    list_webhooksRead-only 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.
    get_webhookRead-only 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.
    get_daily_report_snapshotRead one dated daily whale-activity report snapshot. Args: - date (string, required): UTC report date in YYYY-MM-DD format Returns: Report snapshot metadata and entries.
    get_weekly_report_snapshotRead 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.
    get_monthly_report_snapshotRead one UTC monthly whale-activity report snapshot. Args: - month (string, required): UTC report month in YYYY-MM format Returns: Report snapshot metadata and entries.
    get_reportUnified whale-activity report snapshot selector. One route for all three granularities; dispatches to the same per-granularity cap and date window as the granularity-specific report tools. Args: - granularity (string, required): "daily", "weekly", or "monthly" - period (string, required): Period token for the granularity. daily: UTC date YYYY-MM-DD. weekly: ISO week YYYY-WW, or a from,to YYYY-MM-DD pair. monthly: UTC month YYYY-MM. Returns: Report snapshot metadata and entries (source_range, snapshot.status, completeness, reconciliation, report).
    get_trader_export_snapshotRead 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.
    get_platformsRead the provider capability matrix declaring which V1 intelligence surfaces are supported, partial, or unsupported per platform. Polymarket reports a status (supported, partial, or unsupported) for grade, pnl, strategy, timeline, whale_signal, insider_radar, and market_snapshot. Use this before choosing trader, market, whale, or radar routes so you do not assume parity across providers. Args: none Returns: Static backend-owned platform capability matrix keyed by platform.
    get_large_positionsList the largest current open positions from graded traders (Polymarket-only). Each row carries position value, open (unrealized) P&L, share count, entry/current price, outcome label, and trader/market context. Cursor-paginated by position value descending. Polymarket-only: the scanner filters platform = 'polymarket', so an unknown condition_id matches nothing and returns an empty list (never fabricated rows). Args: - limit (number, 1-100, default 20): Max results per page - cursor (string, optional): Opaque pagination cursor from previous response - min_size (number, optional): Minimum position value in USD - category (string, optional): Filter by provider-backed market category - min_grade (string, optional): Minimum trader grade (S, A, B, C, D, F) - condition_id (string, optional): Scope to one market (raw provider id or mkt_-prefixed) Returns: List of large positions with trader, market, value, P&L, and pagination metadata.
    get_trending_walletsList 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 a shape-only daily P&L series (per-day deltas from the provider curve; dates ascending, gaps are gaps — NOT zero-filled, and not guaranteed to sum to the window P&L). 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.
    get_trader_pnlGet a trader's daily P&L time series and pre-derived stats from the precomputed daily_pnl read model. Returns entries (daily cumulative P&L), period stats (all/90d/30d/7d), monthly aggregation, per-year totals, and the drawdown series. Reads the refreshed read model, not a per-request equity replay. A resolved trader with no daily P&L 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 Returns: Structured trader P&L object (entries, stats, monthly, year_totals, drawdown).
    get_pick_of_the_dayGet today's published Pick of the Day: the sports markets where graded (S/A/B) smart money is positioned, frozen at publish time. Pro-tier. Read `picks` in `pick_rank` order (normally 3-6 items, never more than six). Each pick carries the matchup, the backed side (pick_outcome_label), the frozen pre-game price and $100 return, the smart-money holders on that side, the top grade, CLV capture status, and the thesis. `scheduled_picks` lists today's selected-but-unreleased slots with only pick_rank, release_at, and kickoff; no market identity exists before release. Before any pick is released the tool returns an error carrying reason pick_not_released and a retry_at instant: schedule the next read from retry_at (or the earliest scheduled_picks.release_at) instead of polling. A current-day pick whose holder proof is not readable yet is listed in `proof_pending_picks` (pick_rank, release_at, kickoff, retry_at) while `picks` carries the proof-readable picks; the tool returns read_model_warming with a retry only when no published pick has readable proof. Args: none Returns: The published pick set for the current product day (America/New_York), or a pick_not_released error with retry_at.
    get_pick_of_the_day_archiveGet the complete Pick of the Day track record: every published pick with its settled outcome (win, loss, void, or pending), the frozen backed price, unit score, and CLV fields, plus the rolling hit rate (wins / decided; void and pending excluded) and the flat-$100-stake profit and ROI. Pro-tier. A published pick is never deleted, re-pointed, or re-priced, so the archive is the whole record, losses included. Resolved picks are public on the web; a still-pending pick's backed side is included here because the API key proves Pro. Args: none Returns: picks[] newest first with outcome and CLV fields, plus the aggregate record (hit_rate, decided, wins, losses, voids, profit, roi, total risked).