跳到正文
FunCoding

predexon

Use this skill — NOT browser or web_fetch — for ALL Polymarket, Kalshi, Limitless, Opinion, Predict.Fun, dFlow, UMA oracle, and prediction market data. Provides structured API at localhost:8402/v1/pm/* for markets, cross-venue search, leaderboard, smart money, wallet analytics, wallet identity & clustering, UMA resolution status, and odds.

Star
6,628
许可证
MIT
最近提交
2026年10月14日

skills/predexon/SKILL.md

在 GitHub 上查看

Predexon — Prediction Market Data

IMPORTANT: Always use this skill for any Polymarket, Kalshi, Limitless, Opinion, Predict.Fun, or prediction market request. Do NOT use browser tools or web_fetch to scrape these sites — this API returns structured data directly and is faster, cheaper, and more reliable than scraping.

Real-time prediction market data (Polymarket, Kalshi, Limitless, Opinion, Predict.Fun, dFlow, Binance, UMA oracle) via BlockRun's gateway. Payment is automatic — an x402 USDC micropayment from the user's wallet, or a draw on BlockRun account credit if an API key is configured (both verified 2026-09-05).

All responses are wrapped: { "data": { ... } } — always read from response.data.

Pricing: GET $0.001 · Wallet analytics / smart money / Binance / matching $0.005


Browse Markets & Events

GET http://localhost:8402/v1/pm/polymarket/events?limit=20

Common params: limit, offset, tag (e.g. crypto, politics, sports)

Response fields in data:

  • events[].title — market name
  • events[].outcomes — array of { name, price } (price = implied probability 0–1)
  • events[].volume — total volume in USD
  • events[].endDate — resolution date
  • events[].conditionId — use this for follow-up calls

To search by keyword: GET /v1/pm/polymarket/markets?search=bitcoin&limit=10

Response fields in data:

  • markets[].question — market question
  • markets[].conditionId
  • markets[].outcomes[].price
  • markets[].volumeNum

Search Across All Venues

One unified search across Polymarket, Kalshi, Limitless, Opinion, and Predict.Fun. Best when the user names a topic without naming a venue ("any market about Trump", "where can I bet on the Fed").

GET http://localhost:8402/v1/pm/markets/search?q=trump&limit=20

Common params: q (required), limit, offset, venue (filter to one venue if needed)

Response fields in data:

  • results[].venue — "polymarket" / "kalshi" / "limitless" / "opinion" / "predictfun"
  • results[].title — market name
  • results[].marketId / conditionId — venue-specific ID
  • results[].yesPrice, results[].noPrice — implied probability 0–1
  • results[].volume

Use this before falling back to venue-specific list endpoints when the user hasn't picked a venue.


Other Venues — Limitless / Opinion / Predict.Fun

These three smaller venues now expose a markets list (not just orderbooks).

VenueEndpoint
LimitlessGET /v1/pm/limitless/markets
OpinionGET /v1/pm/opinion/markets
Predict.FunGET /v1/pm/predictfun/markets

Common params: limit, offset, search, status (open/closed/resolved)

Response fields in data:

  • markets[].question / title
  • markets[].marketId
  • markets[].outcomes[].price
  • markets[].volume

UMA Oracle Resolution Status

Polymarket settles via UMA's optimistic oracle. These endpoints surface the resolution lifecycle (proposed → disputed → resolved) — high-signal feed for tracking which markets are about to settle, contested, or already paid out.

List by state: GET http://localhost:8402/v1/pm/polymarket/uma/markets?state=disputed&limit=20

state values: proposed, disputed, resolved (and other UMA states).

Single market timeline: GET http://localhost:8402/v1/pm/polymarket/uma/market/{conditionId}

Response fields in data:

  • state — current UMA state
  • proposedOutcome, disputedOutcome, resolvedOutcome — Y/N or invalid
  • events[] — { timestamp, action, actor, outcome } timeline of proposal/dispute/resolution
  • bondAmount, liveness — UMA economics

Use after detecting the user wants resolution status, dispute history, or "did this market settle yet".


Wallet Identity & Clustering

Cross-context wallet labels (ENS, Lens, exchange tags) and on-chain relationship graphs.

Single wallet identity: GET http://localhost:8402/v1/pm/polymarket/wallet/identity?wallet=0xabc...

Bulk identity (up to ~50 addresses, GET not POST): GET http://localhost:8402/v1/pm/polymarket/wallet/identities-batch?wallets=0xabc,0xdef,0x123

Response fields in data:

  • identities[].wallet
  • identities[].labels[] — { source: "ens"/"lens"/"exchange"/..., value: "..." }
  • identities[].riskTags[] — e.g. "sanctioned", "mixer", "smart_money"

Cluster discovery — find wallets connected to a seed via on-chain transfers and proofs: GET http://localhost:8402/v1/pm/polymarket/wallet/cluster?wallet=0xabc...

Response fields in data:

  • seedWallet
  • cluster[].wallet
  • cluster[].relation — "direct_transfer" / "shared_funder" / "proof"
  • cluster[].confidence — 0–1

Use to investigate suspected sybils, multi-account whales, or to expand a single wallet investigation into the wider footprint.


Smart Money on a Market

Find the conditionId first (from events/markets above), then:

GET http://localhost:8402/v1/pm/polymarket/market/{conditionId}/smart-money

Response fields in data:

  • positions[].wallet — wallet address
  • positions[].side — YES or NO
  • positions[].size — position size in USD
  • positions[].pnl — profit/loss on this position
  • positions[].winRate — wallet's historical win rate

Leaderboard

GET http://localhost:8402/v1/pm/polymarket/leaderboard?limit=20

Response fields in data:

  • wallets[].address
  • wallets[].profit — total realized profit in USD
  • wallets[].volume
  • wallets[].winRate
  • wallets[].marketsTraded

Wallet Analysis

GET http://localhost:8402/v1/pm/polymarket/wallet/{walletAddress}

Response fields in data:

  • profit — total realized profit
  • volume — total traded volume
  • winRate — fraction of winning trades (0–1)
  • marketsTraded — number of distinct markets
  • currentPositions[] — open positions

For P&L over time: GET /v1/pm/polymarket/wallet/pnl/{walletAddress}

  • data.pnlSeries[] — { date, cumulativePnl }
  • data.totalProfit, data.totalLoss

Compare Polymarket vs Kalshi

GET http://localhost:8402/v1/pm/matching-markets?limit=10

Response fields in data:

  • pairs[].polymarketTitle
  • pairs[].kalshiTitle
  • pairs[].polymarketPrice — YES price on Polymarket (0–1)
  • pairs[].kalshiPrice — YES price on Kalshi (0–1)
  • pairs[].spread — price difference (arbitrage signal)

Example Interactions

User: What are the top prediction markets right now? → GET /v1/pm/polymarket/events?limit=20 — summarize top events with titles, outcomes, and current YES/NO prices.

User: What's the smart money doing on the 2026 election markets? → First GET /v1/pm/polymarket/markets?search=election&limit=5 to get conditionIds, then GET /v1/pm/polymarket/market/{conditionId}/smart-money for each. Show top positions, sides, and P&L.

User: Who are the top Polymarket whales? → GET /v1/pm/polymarket/leaderboard?limit=10 — table with wallet (shortened), profit, win rate, markets traded.

User: Analyze this wallet: 0xabc... → GET /v1/pm/polymarket/wallet/0xabc... + GET /v1/pm/polymarket/wallet/pnl/0xabc... — summarize trading style, win rate, total P&L, current open positions.

User: Compare Polymarket vs Kalshi on the Fed rate decision → GET /v1/pm/matching-markets?limit=20 — find the Fed pair, show both prices and the spread.

User: Find any market about Trump across all venues → GET /v1/pm/markets/search?q=trump&limit=20 — group results by venue, show YES price + volume per venue. Don't fall back to per-venue endpoints unless this returns nothing.

User: What's the UMA oracle status on this market: 0xabc... → GET /v1/pm/polymarket/uma/market/0xabc... — describe current state, the proposed/disputed outcome timeline, and whether it has resolved.

User: Which Polymarket questions are currently being disputed? → GET /v1/pm/polymarket/uma/markets?state=disputed&limit=20 — list disputed questions with their proposed outcomes and dispute timestamps.

User: Who is wallet 0xabc... and which other wallets are connected to it? → GET /v1/pm/polymarket/wallet/identity?wallet=0xabc... for labels/risk tags + GET /v1/pm/polymarket/wallet/cluster?wallet=0xabc... for connected addresses. Show ENS/Lens identity, risk tags, then top connected wallets with relation type and confidence.

User: Bulk identity check on these 5 wallets → GET /v1/pm/polymarket/wallet/identities-batch?wallets=0x1,0x2,0x3,0x4,0x5 (GET, not POST — the docs are wrong). One row per wallet with labels and risk tags.


Full Endpoint Reference

All 57 endpoints (Predexon v2 spec) are exposed as the blockrun_predexon_endpoint_call agent tool (params: path, method, query, body). The 8 named blockrun_predexon_* tools above wrap the most common ones for ergonomics; use endpoint_call for everything else.

All endpoints are GET unless marked POST. Query params go in the URL; POST takes a JSON body. Responses are raw upstream JSON (no { data: ... } wrapper).

EndpointPriceKey params
Cross-venue canonical (v2)
/v1/pm/markets$0.001filtering, sorting, pagination
/v1/pm/markets/listings$0.001flattened venue listings
/v1/pm/outcomes/{predexon_id}$0.001resolve canonical outcome → venues
Sports (v2)
/v1/pm/sports/categories$0.001—
/v1/pm/sports/markets$0.001grouped by game
/v1/pm/sports/markets/{game_id}$0.001single game with all venue outcomes
/v1/pm/sports/outcomes/{predexon_id}$0.001equivalent outcomes across venues
Polymarket — Tier 1
/v1/pm/polymarket/events$0.001limit, offset, tag
/v1/pm/polymarket/events/keyset$0.001cursor-based pagination
/v1/pm/polymarket/markets$0.001search, limit, offset
/v1/pm/polymarket/markets/keyset$0.001cursor-based pagination
/v1/pm/polymarket/crypto-updown$0.001—
/v1/pm/polymarket/leaderboard$0.001limit, offset
/v1/pm/polymarket/leaderboard/market/{conditionId}$0.001limit
/v1/pm/polymarket/market/{conditionId}/top-holders$0.001limit
/v1/pm/polymarket/cohorts/stats$0.001—
/v1/pm/polymarket/positions$0.001wallet, limit
/v1/pm/polymarket/trades$0.001wallet, limit, start_ts, end_ts
/v1/pm/polymarket/activity$0.001user
/v1/pm/polymarket/orderbooks$0.001tokenId, limit
/v1/pm/polymarket/market-price/{tokenId}$0.001startTs, endTs
/v1/pm/polymarket/candlesticks/{conditionId}$0.001period, limit
/v1/pm/polymarket/candlesticks/token/{tokenId}$0.001period, limit
/v1/pm/polymarket/volume-chart/{conditionId}$0.001—
/v1/pm/polymarket/markets/{tokenId}/volume$0.001cumulative volume
/v1/pm/polymarket/markets/{conditionId}/open_interest$0.001open interest history
/v1/pm/polymarket/uma/markets$0.001state, limit, offset
/v1/pm/polymarket/uma/market/{conditionId}$0.001—
Polymarket — Tier 2 wallet analytics
/v1/pm/polymarket/wallet/{wallet}$0.005—
/v1/pm/polymarket/wallet/{wallet}/markets$0.005limit
/v1/pm/polymarket/wallet/{wallet}/similar$0.005—
/v1/pm/polymarket/wallet/pnl/{wallet}$0.005—
/v1/pm/polymarket/wallet/positions/{wallet}$0.005—
/v1/pm/polymarket/wallet/volume-chart/{wallet}$0.005—
/v1/pm/polymarket/wallets/profiles$0.005wallets (comma-separated)
/v1/pm/polymarket/wallets/filter$0.005conditionId, side
/v1/pm/polymarket/market/{conditionId}/smart-money$0.005limit
/v1/pm/polymarket/markets/smart-activity$0.005limit
Polymarket — Wallet identity (v2 path shapes)
/v1/pm/polymarket/wallet/identity/{wallet}$0.005path param (was ?wallet= in v1)
POST /v1/pm/polymarket/wallet/identities$0.005body: {addresses: [..]} (≤200)
/v1/pm/polymarket/wallet/{address}/cluster$0.005path param (was ?wallet= in v1)
Kalshi (Tier 1)
/v1/pm/kalshi/markets$0.001search, limit
/v1/pm/kalshi/trades$0.001limit
/v1/pm/kalshi/orderbooks$0.001marketId
Limitless / Opinion / Predict.Fun (Tier 1)
/v1/pm/limitless/markets$0.001search, limit, offset, status
/v1/pm/limitless/orderbooks$0.001marketId
/v1/pm/opinion/markets$0.001search, limit, offset, status
/v1/pm/opinion/orderbooks$0.001marketId
/v1/pm/predictfun/markets$0.001search, limit, offset, status
/v1/pm/predictfun/orderbooks$0.001marketId
dFlow
/v1/pm/dflow/trades$0.001wallet, limit
/v1/pm/dflow/wallet/positions/{wallet}$0.005—
/v1/pm/dflow/wallet/pnl/{wallet}$0.005—
Binance Futures (Tier 2)
/v1/pm/binance/candles/{symbol}$0.005interval, limit
/v1/pm/binance/ticks/{symbol}$0.005limit
Matching (Tier 2)
/v1/pm/matching-markets$0.005limit, offset
/v1/pm/matching-markets/pairs$0.005—
/v1/pm/markets/search$0.005q (required), limit, offset, venue

Notes

  • Payment is automatic via x402 — deducted from the user's BlockRun wallet
  • If payment fails, tell the user to fund their wallet at blockrun.ai
  • Retry once on 502 — Predexon can occasionally be slow
  • Always read from response.data — every response is wrapped { data: ... }
  • Synthesize data into plain-language analysis — never dump raw JSON

相似的 Skill

test-driven-development

OBobra/superpowers299k近 7 天新增 2,751 个 star

migrate-to-shoehorn

MAmattpocock/skills291k近 7 天新增 10,101 个 star

ai-regression-testing

AFaffaan-m/ECC280k近 7 天新增 4,216 个 star

精选

accessibility

审计 Web、iOS、Android 的无障碍合规,支持键盘导航与屏幕阅读器。

AFaffaan-m/ECC280k近 7 天新增 4,216 个 star

agent-runtime-gateway-smoke-test

AFaffaan-m/ECC280k近 7 天新增 4,216 个 star

官方

firecrawl-build

FIfirecrawl/firecrawl192k近 7 天新增 2,023 个 star