---
name: blockrun.ai
description: blockrun.ai provides read-only analytics and market data for prediction market platforms, primarily Polymarket and Kalshi. It exposes wallet-level performance metrics, market listings, leaderboard data, cohort statistics, candlestick history, and cross-platform market matching. All endpoints are data retrieval only; no trade execution is supported.
host: blockrun.ai
---

# blockrun.ai

blockrun.ai is a prediction market data aggregator focused on Polymarket and Kalshi. It serves agents that need to analyze trader performance, browse market listings, compare cross-platform markets, or inspect resolved outcomes. Its distinguishing feature is the depth of wallet analytics (multi-window PnL, trading style classification, cohort benchmarking) combined with cross-platform market pair matching between Polymarket and Kalshi.

## When to use this host

Use blockrun.ai when an agent needs Polymarket or Kalshi prediction market data: wallet performance analytics, market listings, leaderboard rankings, cohort benchmarks, candlestick history, top holder analysis, or cross-platform market matching. It is the right choice for any read-only prediction market intelligence task. Do not use blockrun.ai for trade execution on Polymarket or Kalshi — no order placement or position management is available. Do not use it for on-chain token balances, DeFi protocol data, or non-prediction-market financial data; use a general blockchain data provider instead. For real-time order book depth or live bid/ask quotes on Polymarket, use the native Polymarket API directly, as blockrun.ai does not expose order book endpoints.

## Capabilities

### Market Listings and Discovery

Retrieves available prediction market listings from Polymarket and Kalshi, including event metadata, market status, prices, and volume, enabling agents to browse and filter markets before deeper analysis.

- **`fetch-polymarket-events`** — Retrieves a list of Polymarket prediction market events with metadata including title, description, tags, series info, status, and resolution dates.
- **`fetch-kalshi-markets`** — Fetches live Kalshi prediction market listings including ticker, status, outcomes, prices, volume, and open interest for each market.

### Cross-Platform Market Matching

Identifies prediction market questions that are simultaneously listed on both Polymarket and Kalshi, providing similarity scores and expiration timestamps for arbitrage or comparison workflows.

- **`fetch-matching-markets-pairs`** — Returns all active exact-matched prediction market pairs cross-listed on Polymarket and Kalshi, with similarity scores and expiration timestamps.

### Resolved Market Outcomes

Fetches the settled result of a specific prediction market event by its predexon ID, confirming final outcomes for closed markets.

- **`fetch-pm-outcome`** — Fetches the resolved outcome for a specific BlockRun prediction market event, including market type, result label, and claim text.

### Polymarket Price History

Returns historical OHLC candlestick data for a Polymarket condition ID, supporting charting, backtesting, and time-series analysis of market price and volume.

- **`fetch-polymarket-candlesticks`** — Returns historical OHLC candlestick data for a Polymarket prediction market condition ID, including open/high/low/close prices, volume, trade counts, and period timestamps.

### Polymarket Wallet Analytics

Provides multi-window (1d/7d/30d/all-time) performance metrics for individual Polymarket wallets, including realized and unrealized PnL, ROI, win rate, trade counts, fees, hold time, and trading style classification.

- **`fetch-polymarket-wallet-analytics`** — Returns Polymarket wallet performance analytics for a given address, including realized/unrealized PnL, volume, ROI, trade counts, win/loss metrics, trading style classification, and account age across multiple time windows.
- **`fetch-polymarket-wallet-metrics`** — Returns Polymarket trading analytics for a given wallet address, including PnL, volume, win rate, trade counts, and trading style across 1-day, 7-day, 30-day, and all-time windows.
- **`fetch-polymarket-wallet-performance`** — Returns Polymarket trading analytics for a wallet address, including PnL, volume, trade counts, fees, position counts, wallet age, and inferred trading style across 1-day, 7-day, 30-day, and all-time windows.
- **`fetch-polymarket-wallet-snapshot`** — Returns Polymarket trading metrics, PnL, win rates, trading style classification, and position summary for a given Ethereum wallet address.

### Polymarket Wallet Positions

Returns current and historical open positions for a Polymarket wallet, including market metadata, shares held, cost basis, current value, and per-position PnL.

- **`fetch-polymarket-wallet-positions`** — Returns current and historical Polymarket positions for a given wallet address, including market metadata, shares, cost basis, current value, and PnL.

### Polymarket Market Holder Intelligence

Identifies the largest position holders in a specific Polymarket market condition, exposing whale positioning, individual trader PnL, and trade activity for a given condition ID.

- **`fetch-polymarket-market-top-holders`** — Returns the ranked list of top position holders for a specific Polymarket prediction market condition, including wallet addresses, position sizes, USD values, average prices, realized/unrealized PnL, and trade counts.

### Polymarket Leaderboard and Cohort Benchmarking

Returns global leaderboard rankings of top Polymarket traders by PnL and aggregated cohort statistics segmented by trading style, enabling competitive benchmarking and ecosystem-level analysis.

- **`fetch-polymarket-leaderboard`** — Returns the global Polymarket leaderboard of smart wallets ranked by total PnL, including per-trader metrics, trading styles, and performance statistics.
- **`fetch-polymarket-cohort-stats`** — Returns aggregated participation, volume, PnL, win rate, and fee statistics for each Polymarket trading-style cohort (e.g. ACTIVE_TRADER, WHALE, DEGEN) over all time.

## Workflows

### Trader Performance Deep Dive

*Use when an agent needs to fully profile a Polymarket wallet, combining aggregate performance metrics with the specific open positions driving current exposure.*

1. **`fetch-polymarket-wallet-analytics`** — Retrieve multi-window PnL, ROI, win rate, and trading style classification for the target wallet.
2. **`fetch-polymarket-wallet-positions`** — Fetch the wallet's current open and resolved positions to understand which markets are driving the reported PnL.

### Cross-Platform Arbitrage Identification

*Use when an agent needs to find prediction market questions available on both Polymarket and Kalshi and then inspect current pricing on each platform.*

1. **`fetch-matching-markets-pairs`** — Retrieve all cross-listed market pairs with their condition IDs and tickers on both platforms.
2. **`fetch-kalshi-markets`** — Fetch live Kalshi market data including yes/no prices and volume for the matched tickers.
3. **`fetch-polymarket-candlesticks`** — Pull recent price history for the matched Polymarket condition IDs to compare implied probabilities across platforms.

### Market Whale Analysis

*Use when an agent needs to identify top holders in a Polymarket market and then evaluate the historical performance quality of those whale wallets.*

1. **`fetch-polymarket-market-top-holders`** — Retrieve the ranked list of largest position holders for a given Polymarket condition ID.
2. **`fetch-polymarket-wallet-analytics`** — For each top holder wallet address, fetch historical performance metrics to assess whether the whale has a strong track record.

### Leaderboard Trader Benchmarking

*Use when an agent needs to identify top Polymarket traders from the leaderboard and then drill into individual wallet performance and open positions.*

1. **`fetch-polymarket-leaderboard`** — Retrieve the global leaderboard to identify top-ranked wallet addresses by total PnL.
2. **`fetch-polymarket-wallet-analytics`** — Fetch detailed multi-window analytics for a specific wallet identified from the leaderboard.
3. **`fetch-polymarket-wallet-positions`** — Inspect the current open positions of the selected trader to understand active market exposure.

### Resolved Market Outcome Verification

*Use when an agent needs to confirm the settled result of a prediction market event and then check which Polymarket events are still active in the same category.*

1. **`fetch-pm-outcome`** — Fetch the resolved outcome for a specific predexon event ID to confirm the final result.
2. **`fetch-polymarket-events`** — Browse current Polymarket events to identify related open markets in the same category following resolution.

## Skill reference

### `fetch-pm-outcome`

**BlockRun PM Outcome** — Fetches the resolved outcome for a specific BlockRun prediction market event, including market type, result label, and claim text.

*Use when:* Use when an agent needs to retrieve the final settled result of a prediction market event by its predexon ID, such as confirming which team won a sports game market.

*Not for:* Do not use for fetching live or unsettled market odds; this endpoint returns closed/resolved outcome data only.

**Inputs:**

- `predexon_id` (string, required) — The unique identifier for the prediction market outcome record, embedded in the endpoint URL path.

**Returns:** Returns a resolved prediction market record with event ID, market type and title, start time, status=closed, winning outcome code and label, a plain-language claim, venues array, and league identifier.

**Example:** `GET https://blockrun.ai/api/v1/pm/outcomes/px-xz7fw6lsywv2rnwr`

---

### `fetch-polymarket-wallet-positions`

**Polymarket Wallet Positions** — Returns a wallet's Polymarket positions, PnL summary, and pagination metadata for a given Ethereum address.

*Use when:* Use when an agent needs to retrieve the current Polymarket prediction market positions, unrealized/realized PnL, win rate, and fee data for a specific wallet address.

*Not for:* Do not use for market-level data or order book queries; use a Polymarket markets endpoint instead. Not suitable for non-Polymarket on-chain positions.

**Inputs:**

- `address` (string, required) — Ethereum wallet address whose Polymarket positions should be fetched. Passed as a URL path parameter.

**Returns:** Returns the wallet address, an array of Polymarket positions, a summary object with PnL and fee fields, and pagination metadata indicating whether more results exist.

**Example:** `GET https://blockrun.ai/api/v1/pm/polymarket/wallet/positions/0x402Feee072D655B85e08f1751AF9ddbCd249521f`

---

### `fetch-polymarket-wallet-metrics`

**Blockrun Polymarket Wallet Metrics** — Returns Polymarket trading analytics for a given wallet address, including PnL, volume, win rate, trade counts, and trading style across 1-day, 7-day, 30-day, and all-time windows.

*Use when:* Use when an agent needs to evaluate the historical trading performance of a specific Polymarket wallet, including realized/unrealized PnL, ROI, win rate, profit factor, position counts, and inferred trading style.

*Not for:* Do not use for real-time order book data, open market prices, or non-Polymarket wallets. Not suitable for fetching market-level statistics — this is wallet-specific analytics only.

**Inputs:**

- `wallet_address` (string, required) — The Ethereum wallet address of the Polymarket trader to look up, embedded in the URL path.

**Returns:** Returns a metrics object with 1-day, 7-day, 30-day, and all-time trading stats (PnL, volume, win rate, trade counts), trading style flags, entry edge, unrealized PnL, and first/last trade timestamps for the queried wallet.

**Example:** `GET https://blockrun.ai/api/v1/pm/polymarket/wallet/0x4ffe49ba2a4cae123536a8af4fda48faeb609f71`

---

### `fetch-polymarket-candlesticks`

**Blockrun Polymarket Candlesticks** — Returns historical OHLC candlestick data for a Polymarket prediction market condition ID, including open/high/low/close prices, volume, trade counts, and period timestamps.

*Use when:* Use when an agent needs historical price and volume data for a specific Polymarket condition in candlestick format, such as for charting, backtesting, or analyzing trading activity over time.

*Not for:* Do not use for real-time or live price feeds; this returns historical candlestick snapshots. Not suitable for fetching order book depth or current market state.

**Inputs:**

- `condition_id` (string, required) — The Polymarket condition ID (hex string) identifying the prediction market to retrieve candlestick data for. Embedded in the URL path.

**Returns:** Returns condition metadata (condition_id, first/last trade timestamps, interval) and an array of daily candlesticks each with OHLC prices, dollar-formatted equivalents, mean, previous close, volume, and trade count.

**Example:** `GET https://blockrun.ai/api/v1/pm/polymarket/candlesticks/0xd6591e966aebf061547ef34cdf3494ed318969887c8b7fb53f10ed5d5461a547`

---

### `fetch-polymarket-wallet-positions`

**Polymarket Wallet Positions** — Returns current and historical Polymarket positions for a given wallet address, including market metadata, shares, cost basis, current value, and PnL.

*Use when:* Use when an agent needs to inspect a specific Polymarket wallet's open or resolved prediction market positions, including entry price, current value, unrealized/realized PnL, and market status.

*Not for:* Do not use for retrieving order book data, live market prices, or global market listings — use a Polymarket markets API instead. Not suitable for non-Polymarket prediction platforms.

**Inputs:**

- `wallet_address` (string, required) — Ethereum wallet address whose Polymarket positions should be fetched. Passed as a path parameter in the URL.

**Returns:** Returns a wallet_address field and a positions array where each entry contains market metadata (title, status, side), position sizing (shares, avg_entry_price, total_cost_usd), current price and value_usd, and PnL (unrealized_usd, unrealized_pct, realized_usd).

**Example:** `GET https://blockrun.ai/api/v1/pm/polymarket/wallet/positions/0x9174e9bFF176285E9B77022eC2e4007904495280`

---

### `fetch-polymarket-market-top-holders`

**Polymarket Market Top Holders** — Returns the ranked list of top position holders for a specific Polymarket prediction market condition, including wallet addresses, position sizes, USD values, average prices, realized/unrealized PnL, and trade counts.

*Use when:* Use when an agent needs to identify the largest holders in a Polymarket prediction market, analyze whale positioning, or inspect individual trader PnL and trade activity for a given market condition ID.

*Not for:* Do not use for retrieving overall market metadata, order book data, or price history; use a market info or price history endpoint instead.

**Inputs:**

- `condition_id` (string, required) — The Polymarket condition ID (hex string) identifying the market, embedded in the URL path.

**Returns:** Returns condition_id, market title, slug, and an entries array of ranked holders with wallet address, position shares, USD value, Yes/No side, avg price, realized/unrealized/total PnL, trade count, and first/last trade timestamps.

**Example:** `GET https://blockrun.ai/api/v1/pm/polymarket/market/0xfbe85201ab2b4acff01cd5a3639039fc813d3448c64db081f70926bd9b9e74e9/top-holders`

---

### `fetch-polymarket-wallet-analytics`

**Polymarket Wallet Analytics** — Returns trading performance metrics, style classification, PnL, volume, ROI, win rate, and position data for a given Polymarket wallet address across multiple time windows.

*Use when:* Use when an agent needs to evaluate a Polymarket trader's historical performance, trading style (e.g. whale, active trader), realized/unrealized PnL, win rate, or position counts for a specific wallet address.

*Not for:* Do not use for real-time order book data, market prices, or event resolution — this endpoint covers wallet-level analytics only, not market-level data.

**Inputs:**

- `wallet` (string, required) — Ethereum wallet address of the Polymarket trader to analyze. Provided as a path parameter in the URL.

**Returns:** Returns a JSON object with the wallet address, per-period metrics (1d/7d/30d/all-time) covering PnL, volume, ROI, win rate, and position stats, plus trading style flags, entry edge, unrealized PnL, and activity timestamps.

**Example:** `GET https://blockrun.ai/api/v1/pm/polymarket/wallet/0x17db3fcd93ba12d38382a0cade24b200185c5f6d`

---

### `fetch-polymarket-wallet-analytics`

**Polymarket Wallet Analytics** — Returns PnL, ROI, volume, win rate, trading style, and position data for a Polymarket wallet address across 1-day, 7-day, 30-day, and all-time windows.

*Use when:* Use when an agent needs to evaluate a Polymarket trader's historical performance, trading style classification, or position activity for a given wallet address.

*Not for:* Do not use for real-time order book data, market prices, or non-Polymarket prediction market wallets.

**Inputs:**

- `wallet` (string, required) — Ethereum wallet address of the Polymarket trader to analyze, embedded in the URL path.

**Returns:** Returns a JSON object with the wallet address, per-window metrics (1d/7d/30d/all-time) covering PnL, ROI, win rate, and position counts, plus trading style flags, unrealized PnL, and activity timestamps.

**Example:** `GET https://blockrun.ai/api/v1/pm/polymarket/wallet/0xd38b71f3e8ed1af71983e5c309eac3dfa9b35029`

---

### `fetch-polymarket-wallet-analytics`

**Polymarket Wallet Analytics** — Returns trading performance metrics for a Polymarket wallet address, including realized PnL, volume, ROI, win rate, trade counts, hold time, and trading style classification across multiple time windows.

*Use when:* Use when an agent needs to evaluate a Polymarket wallet's historical trading performance, profitability, or style classification (e.g., active trader, whale) for a given Ethereum address.

*Not for:* Do not use for real-time market prices, order book data, or open market positions on Polymarket; use a market data endpoint instead.

**Inputs:**

- `wallet` (string, required) — Ethereum wallet address to query on Polymarket. Provided as a path parameter in the URL.

**Returns:** Returns a JSON object with the wallet address, per-period metrics (1d/7d/30d/all-time) covering PnL, volume, ROI, win rate, and hold time, plus trading style flags and primary style classification.

**Example:** `GET https://blockrun.ai/api/v1/pm/polymarket/wallet/0x16f91db2592924cfed6e03b7e5cb5bb1e32299e3`

---

### `fetch-polymarket-wallet-analytics`

**BlockRun Polymarket Wallet Analytics** — Returns Polymarket wallet performance analytics for a given address, including realized/unrealized PnL, volume, ROI, trade counts, win/loss metrics, trading style classification, and account age across multiple time windows.

*Use when:* Use when an agent needs to evaluate a specific Polymarket trader's historical performance, including PnL breakdowns by time period (1d/7d/30d/all-time), win rate, trading style, and position statistics for a known wallet address.

*Not for:* Do not use for real-time market prices, order book data, or event resolution — this endpoint is wallet-level analytics only, not market-level data.

**Inputs:**

- `wallet_address` (string, required) — The Polymarket wallet address (Ethereum-format hex) to retrieve analytics for. Supplied as a path parameter in the URL.

**Returns:** Returns a JSON object with the wallet address, per-period metrics (1d/7d/30d/all-time) covering PnL, volume, ROI, trade counts, win/loss stats, trading style flags with a primary_style label, entry_edge score, unrealized PnL, and first/last trade timestamps.

**Example:** `GET https://blockrun.ai/api/v1/pm/polymarket/wallet/0xdb27bf2ac5d428a9c63dbc914611036855a6c56e`

---

### `fetch-polymarket-wallet-performance`

**Polymarket Wallet Performance** — Returns Polymarket trading analytics for a wallet address, including PnL, volume, trade counts, fees, position counts, wallet age, and inferred trading style across 1-day, 7-day, 30-day, and all-time windows.

*Use when:* Use when an agent needs to evaluate a Polymarket trader's historical performance metrics — such as realized/unrealized PnL, trade volume, win rate, fees paid, active positions, or trading style classification — for a specific wallet address.

*Not for:* Do not use for real-time order book data, live market prices, or open position details; use a Polymarket markets or positions API instead.

**Inputs:**

- `wallet` (string, required) — Ethereum wallet address (checksummed or lowercase) of the Polymarket trader to look up. Provided as a path parameter in the URL.

**Returns:** Returns a JSON object with the wallet address, per-period metrics (1d/7d/30d/all-time) covering PnL, volume, trades, fees, and positions, plus trading style flags, unrealized PnL, total PnL, and trade timestamps.

**Example:** `GET https://blockrun.ai/api/v1/pm/polymarket/wallet/0x9174e9bFF176285E9B77022eC2e4007904495280`

---

### `fetch-polymarket-leaderboard`

**Polymarket Leaderboard** — Returns the global Polymarket leaderboard of smart wallets ranked by total PnL, including per-trader metrics, trading styles, and performance statistics.

*Use when:* Use when an agent needs to identify top-performing Polymarket traders, compare realized PnL rankings, inspect win rates or profit factors, or analyze trading styles (whale, active trader, etc.) across the prediction market platform.

*Not for:* Do not use for individual trader lookup by address or for market-specific data; this endpoint returns only the global all-time leaderboard sorted by total PnL.

**Returns:** Returns a JSON object with window='all_time', sort_by='total_pnl', and an entries array of ranked traders each containing wallet address, PnL/volume/ROI metrics, trading style flags, and first trade timestamp.

**Example:** `GET https://blockrun.ai/api/v1/pm/polymarket/leaderboard`

---

### `fetch-polymarket-cohort-stats`

**Polymarket Cohorts Stats** — Returns aggregated participation, volume, PnL, win rate, and fee statistics for each Polymarket trading-style cohort (e.g. ACTIVE_TRADER, WHALE, DEGEN) over all time.

*Use when:* Use when an agent needs to compare performance metrics across Polymarket trader cohorts, such as wallet counts, total volume, realized PnL, ROI, win rates, profit factors, and fee data segmented by trading style.

*Not for:* Do not use for individual wallet or position-level data; use a wallet-specific or position-level endpoint instead. Not suitable for real-time price feeds or order book data.

**Returns:** Returns a window label, total wallet count, and an array of 7 cohort objects each containing wallet_count, total_volume, realized PnL stats, avg_roi, avg_win_rate, avg_profit_factor, avg_trades, profitable_wallet_pct, and fee totals/averages.

**Example:** `GET https://blockrun.ai/api/v1/pm/polymarket/cohorts/stats`

---

### `fetch-matching-markets-pairs`

**Matching Markets Pairs** — Returns all active exact-matched prediction market pairs cross-listed on Polymarket and Kalshi, with similarity scores and expiration timestamps.

*Use when:* Use when an agent needs to identify prediction market questions that appear on both Polymarket and Kalshi simultaneously, including their condition IDs, market tickers, titles, similarity scores, and earliest expiration timestamps.

*Not for:* Do not use for fetching prices, order books, or liquidity data on these markets; use a market pricing or quotes endpoint instead. Not suitable for markets listed on only one platform.

**Returns:** Returns a pairs array where each element contains a POLYMARKET object (condition_id, market_slug, market_id, title, expiration_ts), a KALSHI object (market_ticker, title, yes_subtitle, expiration_ts), a similarity integer, an explanation string, and earliest_expiration_ts.

**Example:** `GET https://blockrun.ai/api/v1/pm/matching-markets/pairs`

---

### `fetch-polymarket-events`

**Polymarket Events** — Retrieves a list of Polymarket prediction market events with metadata including title, description, tags, series info, status, and resolution dates.

*Use when:* Use when an agent needs to browse or filter active Polymarket prediction market events, retrieve event metadata (titles, descriptions, tags, open/closed status, end dates), or identify available markets for sports, politics, or other categories.

*Not for:* Do not use for fetching individual market order book data, current prices, or trade execution; use a dedicated Polymarket market or trade API instead.

**Returns:** Returns an 'events' array where each element contains event id, ticker, slug, title, description, resolution rules, tags, series metadata (volume, liquidity), image/icon URLs, start/end dates, and open/closed status.

**Example:** `GET https://blockrun.ai/api/v1/pm/polymarket/events`

---

### `fetch-kalshi-markets`

**Kalshi Markets Feed** — Fetches live Kalshi prediction market listings including ticker, status, outcomes, prices, volume, and open interest for each market.

*Use when:* Use when an agent needs current or historical Kalshi prediction market data including market status, yes/no outcome prices, volume, open interest, and settlement details for sports, politics, or other event categories.

*Not for:* Do not use for placing or executing trades on Kalshi markets; this endpoint is read-only market data. Do not use for non-Kalshi prediction market data.

**Returns:** Returns a markets array where each element contains ticker, status, result, outcome bid/ask prices, last_price, volume, dollar_volume, open_interest, and event metadata for a Kalshi prediction market.

**Example:** `GET https://blockrun.ai/api/v1/pm/kalshi/markets`

---

### `fetch-polymarket-wallet-snapshot`

**Polymarket Wallet Snapshot** — Returns Polymarket trading metrics, PnL, win rates, trading style classification, and position summary for a given Ethereum wallet address.

*Use when:* Use when an agent needs to analyze a Polymarket trader's historical performance, including realized/unrealized PnL, trade counts, win rates, fees paid, and trading style across 1-day, 7-day, 30-day, and all-time windows.

*Not for:* Do not use for real-time market prices or order book data; use a Polymarket markets API instead. Not suitable for non-Polymarket wallets or on-chain token balances.

**Inputs:**

- `wallet` (string, required) — Ethereum wallet address (checksummed or lowercase) whose Polymarket activity is being queried. Provided as a path parameter in the URL.

**Returns:** Returns a wallet snapshot with per-period metrics (1d/7d/30d/all-time) covering PnL, volume, win rate, fees, and position counts, plus trading style flags, entry edge score, unrealized PnL, and trade timestamps.

**Example:** `GET https://blockrun.ai/api/v1/pm/polymarket/wallet/0x85A66bB25955c43f13F7028F17d67172bA02e386`

---
