Alternative · Analytics aggregator
Oddpool vs
SimpleFunctions.
Same upstream venues. Oddpool surfaces the orderbook for human dashboards and HFT-style bots — WebSocket, trader attribution, sub-second latency. SimpleFunctions ships the agent layer above it: causal-tree thesis system, autonomous trading, calibrated world model, computed indicators across 48K contracts, and a 56-tool MCP server.
Verified 2026-04 · public sources only · live SF data from /calibration
Verdict
Pick the one that fits how
you actually work.
Choose SimpleFunctions if
You are building agents, autonomous trading systems, or research that needs more than raw prices — calibrated probabilities with public Brier scores, causal-tree thesis modelling with auto-evaluation cycles, regime classification across the full 48K-contract universe, computed indicators (implied yield, cliff risk, liquidity availability score), and a 56-tool MCP server that drops into Claude Code or Cursor in one line.
Choose Oddpool if
You specifically need WebSocket-tier latency on the orderbook and per-row trader attribution / whale tracking — those are Oddpool's product focus and they have built their UI and pricing around quants who need exactly that.
Same upstream venues (Kalshi + Polymarket). Oddpool surfaces the orderbook with sub-second WebSocket and trader attribution. SimpleFunctions ships the agent layer above it: world model, theses, indicators, autopilot, MCP. Different products, mostly different audiences.
At a glance
Three things that
actually differ.
Everything Oddpool gives you — normalised prices, orderbook depth, cross-venue coverage, historical data — SimpleFunctions also gives you, on the same Kalshi and Polymarket feeds.
On top of that, SF ships a causal-tree thesis system, an autonomous trading agent (Portfolio Autopilot, 1M-context LLM, 7-gate risk cascade), and 56 MCP tools that no current PM data product exposes.
SF also publishes live Brier scores for itself at /api/calibration — Kalshi 0.20, Polymarket 0.12 on T-24h price, past 90 days. Most competitors claim accuracy; we let you check ours.
Side by side
12 dimensions · verified 2026-04SimpleFunctionsKalshi + Polymarket, normalised, 48K+ active contracts indexed.
OddpoolKalshi + Polymarket, normalised.
SimpleFunctionsGET /api/public/market/{ticker}?depth=true — bid/ask ladder, spread, slippage estimate.
OddpoolOrderbook ladder + sub-second WebSocket updates on Pro tier.
SimpleFunctionsREST + RSS + delta endpoint (/api/agent/world/delta). 15-min refresh on world; live ticker poll.
OddpoolREST + WebSocket. Sub-second orderbook delta is a headline product feature.
SimpleFunctionsImplied yield, cliff risk index, liquidity availability score, event overround, τ-days, regime label — pre-computed across the universe at /screen.
OddpoolRaw price/volume/spread; you compute derived signals yourself.
SimpleFunctionsLive Brier scores at /api/calibration — by venue, category, price bucket. Continuously recomputed from settled markets.
OddpoolNot published. No public Brier baseline to compare against.
SimpleFunctionsDecompose any thesis into a causal tree, inject news/observations as signals, auto-evaluate on a heartbeat (LLM eval → confidence delta → action). /api/thesis/*. Public theses forkable.
OddpoolNot in product scope.
SimpleFunctionsPortfolio Autopilot — 1M-context LLM, 13 data sources, 7-gate risk cascade (kill switch, position limits, regime gate). Manages live positions when enabled.
OddpoolNot in product scope.
SimpleFunctions56 tools. One line: claude mcp add simplefunctions --url https://simplefunctions.dev/api/mcp/mcp. Used by Claude Code, Cursor, and any MCP-compatible client.
OddpoolNo MCP server published.
SimpleFunctionsAggregate flow + volume. No per-wallet attribution.
OddpoolPer-row trader attribution and whale tracking — a headline product line.
SimpleFunctionsPairwise Kalshi × Polymarket matches with confidence scores. /api/public/cross-venue/pairs?preset=arb returns ranked spread opportunities.
OddpoolSurfaced in dashboard; no public matched-pair API documented.
SimpleFunctions/.well-known/ai-world-state, llms.txt, openapi.json, skill.md, ~800-token world snapshot.
OddpoolDesigned for human dashboards and trading bots.
SimpleFunctionsFree public REST + MCP + CLI for reads. Pay-per-token only on thesis evaluation and intents.
OddpoolPro $30/mo (1M req), Premium $100/mo (5M req). X-API-Key on every endpoint.
Methodology
Verified 2026-04 from public sources only — Oddpool's documentation at docs.oddpool.com, their pricing page, and publicly observable API behaviour. We never claim non-public information about Oddpool's internals. SimpleFunctions claims on this page are computed live from /api/calibration, /api/public/cross-venue/pairs, and /api/public/markets — you can re-verify them yourself with curl.
Use cases
Same data, different
best fit per scenario.
Scenario 01
Building an AI agent that needs to ground answers in market-implied probabilities and update its world model on every tick.
SimpleFunctions · best fit
One line — claude mcp add simplefunctions — and your agent has 56 tools including get_world_state (~800 tokens with calibrated probability + delta), scan_markets across venues, and create_thesis. Designed for this exact case.
Oddpool
You can call Oddpool's REST from inside an agent, but you write the tool layer, the world summary, and the agent context shaping yourself. Their product is the data, not the agent surface.
Scenario 02
Running an HFT-style arbitrage bot that needs sub-second orderbook updates and per-trader attribution.
SimpleFunctions
Honest answer: this is not what SF optimises for. The delta endpoint is real-time, but if you need WebSocket-tier latency on the orderbook ladder, Oddpool is built for this.
Oddpool · best fit
Their WebSocket is the headline product feature and the $30-100/mo pricing is sized for exactly this audience. Right tool.
Scenario 03
Decomposing a complex thesis (e.g. "US enters recession by Q3 2026") into testable sub-claims, propagating probabilities, and watching the model react to news.
SimpleFunctions · best fit
POST /api/thesis/create with a sentence; SF builds a causal tree, scans for tradeable edges across venues, and runs an evaluation heartbeat that injects news, refreshes prices, checks milestones, and updates confidence. No equivalent on any current PM data product.
Oddpool
Out of scope.
Scenario 04
Backtesting a strategy against historical resolutions with a calibration baseline.
SimpleFunctions · best fit
GET /api/calibration?period=90d returns Brier + hit-rate by venue, category, and price-bucket — for SF itself. Plus settled-markets dataset for re-training. You can verify SF's own accuracy before you trust it.
Oddpool
Historical resolution data exists on paid tiers; calibration baseline is not surfaced.
Migrate
From GET to SF.
Same shape, no auth, same venues. Python example.
import requests
r = requests.get(
"https://api.oddpool.com/v1/markets",
headers={"X-API-Key": OPEN_POOL_KEY},
params={"venue": "kalshi", "limit": 100},
)
markets = r.json()["markets"]import requests
r = requests.get(
"https://simplefunctions.dev/api/public/markets",
params={"venue": "kalshi", "limit": 100},
)
markets = r.json()["markets"]
# No X-API-Key. No signup. Public, CC-BY-4.0.Live data
The SimpleFunctions claims on this page are not marketing copy. Brier scores, market counts, and cross-venue pair counts are computed live from /calibration, /screen, and /api/public/cross-venue/pairs. All public, all free, all CC-BY-4.0.
FAQ
Is SimpleFunctions a superset of Oddpool?+
On read coverage (prices, orderbook, cross-venue, historical resolutions) the two products overlap heavily — SF covers Kalshi + Polymarket the same as Oddpool. The gap goes the other way too: Oddpool wins on WebSocket latency and per-trader attribution, SF wins on the agent layer (thesis system, autopilot, MCP, computed indicators, calibration data). They are not the same product even though they read the same APIs.
What is the thesis system and why should I care?+
POST /api/thesis/create takes a sentence ("US enters recession by Q3 2026"). SF decomposes it into a causal tree of testable sub-claims, propagates probabilities, scans Kalshi + Polymarket for tradeable edges against the model, and runs an evaluation heartbeat — news scan, price refresh, milestone check, LLM evaluation, confidence update — on a configurable interval. Inject signals via /api/thesis/{id}/signal; create execution intents that fire when confidence shifts. No current PM data product offers this.
What does Portfolio Autopilot actually do?+
A 1M-context LLM that ingests 13 data sources (positions, balances, news, signals, world state, calibration data, etc.), proposes adjustments, and routes them through a 7-gate risk cascade — kill switch, position limits, regime check, drawdown gate, etc. — before execution. Currently in dry-run / live-toggle mode. Built on the same infrastructure that ships in @spfunctions/cli for users who want to run their own.
How does SimpleFunctions calibrate probabilities?+
For each settled market, SF stores the price 24 hours before settlement (T-24h) and the realised outcome. Brier score = mean squared error between predicted probability and outcome. Live at /api/calibration?period=90d, broken down by venue, category, and price bucket. Sample size: 2,400+ Kalshi resolutions over the past 90 days; smaller for Polymarket. SF publishes its own Brier so you can audit it before trusting it — most competitors do not.
Does SimpleFunctions have a WebSocket feed?+
Not on the public API today. The closest equivalents are /api/agent/world/delta (incremental world updates since timestamp) and /api/public/live-tickers (poll). If you need WebSocket-tier latency on the orderbook ladder for HFT-style execution, Oddpool or a direct Kalshi / Polymarket WS connection is the right tool. SF is built for agent-pace decisions, not microsecond fills.
What are SF's computed indicators and where do they come from?+
IY (implied yield) annualises the return of a YES contract from price and τ. CRI (cliff risk index) captures how price-velocity relates to remaining time. LAS (liquidity availability score) measures bid+ask depth divided by spread. EE (event overround) sums probabilities across mutually-exclusive sibling markets to detect arbitrage. τ-days is time to settlement. Regime is an adverse-selection classification (maker / taker / neutral). All pre-computed across 48K+ contracts and exposed at /screen plus the API.
How does the MCP server compare to wiring REST into an agent yourself?+
MCP gives Claude Code / Cursor / Cline / any MCP-compatible client 56 tools out of the box — get_world_state, scan_markets, create_thesis, inject_signal, get_edges, list_intents, and more — without you writing a tool wrapper layer. claude mcp add simplefunctions --url https://simplefunctions.dev/api/mcp/mcp and your agent is plugged in. With raw REST, you build the tool definitions, the schemas, and the handler dispatch yourself.
Can I use SimpleFunctions data commercially?+
Yes. Public endpoints and dataset dumps are CC-BY-4.0 — commercial use, including ML training, is affirmatively permitted with attribution. See /data-license. Redistribution as a competing public API is restricted by Terms §13.2.
Start for free.
Public endpoints are free for normal usage and rate-limited for reliability. Authenticated endpoints are free up to 15M tokens, then pay per token. No credit card to start.