Install any skill in seconds. Free to start, no credit card required.
Get Started Free →blockrunai/prediction-markets
Use when the user asks about event probabilities, prediction market odds, what people are betting on, Polymarket/Kalshi prices, sports markets — or about the things you CANNOT get from a public API: historical price/volume/orderbook time series, smart-money positioning, whale leaderboards, wallet P&L, wallet identity and on-chain clustering, and canonical IDs matching the same question across venues. 58 endpoints over Polymarket, Kalshi, Limitless, Opinion, Predict.Fun, dFlow, Binance Futures, s
Passed 15 of 20 test cases with the skill, and 3 of 20 without it.
and 16 more in the full report
15 fixed3 passed either way6 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 15 test cases the skill fixed. Same model, same prompt, with and without the skill.
I want to check odds for tonight's Premier League soccer matches using the sports/markets endpoint with league="EPL". Please construct the tool call.
| Checked | Without skill | With skill |
|---|---|---|
| Avoids calling degraded sports endpoints. | Missed | Passed |
| Directs the search query to path markets/search. | Missed | Passed |
The instructions your model reads when the skill loads.
55 endpoints across Polymarket, Kalshi, Limitless, Opinion, Predict.Fun, Binance Futures, sports, and the UMA oracle — one x402 gateway, no Predexon account or API key.
What is worth paying for. Current market lists are free from public APIs. These are not, and cannot be backfilled after the fact:
One tool, three params. Method auto-routes: POST when body is set, GET otherwise.
blockrun_markets({ path: "polymarket/events", params: { limit: "10" } })
blockrun_markets({ path: "polymarket/candlesticks/0xCONDITION_ID", params: { interval: "1440" } })
blockrun_markets({ path: "polymarket/wallet/identities", body: {
addresses: ["0xabc...", "0xdef..."]
}})
Paths are relative — no /api/v1/pm/ prefix. Use agent_id to bill a child agent's budget.
Paid calls can run in parallel on Base: each EIP-3009 authorization carries
its own random nonce, so concurrent calls from one wallet cannot collide.
The Solana payload has no nonce field — distinctness comes from the SDK
(@blockrun/llm >= 3.8.4), so keep that floor if you fan out on Solana.
Current parameter contracts that prevent paid 4xx responses:
markets/search (its search term is q), then resolve the
selected market with polymarket/markets/keyset + condition_id.polymarket/markets{,/keyset} the free-text filter is search, not
q. Use status:"open" rather than Gamma's active/closed, and sort
rather than order/ascending. end_after/end_before are supported
(Unix seconds).test cases passed, vs 3 / 20 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.