For prediction market funds
You trade Kalshi and Polymarket.
We give you the infrastructure
you don't have time to build.
Cross-venue orderbook depth. Executable edge calculation. 24/7 price and news monitoring with LLM evaluation. What-if scenario analysis. All through one API.
What you're missing
No cross-venue view
You check Kalshi orderbooks. Then Polymarket orderbooks. Separately. You can't see which venue has better depth for the same event. You can't compare executable edge across venues.
No context management
Your thesis is in Slack messages and spreadsheets. Your positions are on exchange dashboards. Your news is on Twitter. Nothing connects your conviction to your positions to market reality.
No autonomous monitoring
Markets move at 2 AM. Orderbook depth evaporates before you wake up. By the time your analyst checks, the edge is gone. You need something watching while you sleep.
Edge ≠ executable edge
Your model says +25¢ edge. But the spread is 10¢ and depth is 50 contracts. Your actual fill is nowhere near the theoretical edge. You need orderbook-aware edge calculation.
What you get
Cross-venue orderbook depth
$ sf book KXWTIMAX-26DEC31-T135
KLSH Will WTI reach $135.01 by Dec 31, 2026?
Last 47¢ Bid 48¢ Ask 49¢ Spread 1¢ Liq high
Vol24h 3K OI 31K Expires 2026-12-31
BID ASK
──────────────────────────────────────
48¢ 59 49¢ 527
47¢ 578 50¢ 332
45¢ 10 51¢ 400
depth: 14,406 bid / 13,262 ask
Same command works for Polymarket: sf book --poly "oil price above 100"
Executable edge detection
$ sf edges --json | head
{
"market": "WTI $135 Dec 2026",
"venue": "kalshi",
"marketPrice": 48,
"thesisPrice": 65,
"edge": 17,
"executableEdge": 16, // edge minus half-spread
"orderbook": {
"spread": 1,
"liquidityScore": "high",
"commentary": ["tight spread, high conviction"]
}
}
18-topic liquidity scanner
$ sf liquidity
Available Topics (18 topics)
──────────────────────────────────────────────────
oil KXWTIMAX, KXWTIW, KXWTID +1 more
fed KXFEDDECISION, KXFED, KXRATECUT +1 more
crypto KXBTCD, KXBTC, KXBTC15M +10 more
geopolitics KXCLOSEHORMUZ, KXHORMUZTRAFFICW +6 more
tariffs KXTARIFFRATEPRC, KXTARIFFRATECA +6 more
... 13 more topics
Each topic scans both Kalshi and Polymarket orderbooks. Spread, depth, slippage for every contract.
24/7 autonomous monitoring
Every 15 minutes, for each thesis:
News scan (Tavily)
Price refresh (both venues)
Orderbook depth snapshot
Milestone detection
LLM evaluation
Settlement sync
Edge recalculation
Orderbook commentary
Webhook notification
Integration options
REST API
GET /api/thesis/:id/context GET /api/thesis/:id/changes POST /api/thesis/:id/signal POST /api/thesis/:id/evaluate
Full docs at /llms.txt
CLI
npm install -g @spfunctions/cli sf book <ticker> sf edges --json sf liquidity <topic>
Open source on GitHub
MCP (AI agents)
claude mcp add simplefunctions \ --url https://simplefunctions .dev/api/mcp/mcp
16 tools for Claude Code, Cursor
Why not build this yourself
Kalshi uses RSA-PSS auth with key rotation. Polymarket uses EIP-712 + HMAC. Normalizing both orderbooks to the same format is 2 weeks of work before you get a single data point.
Running a 24/7 monitoring engine that scans news, refreshes prices, fetches orderbooks, runs LLM evaluation, and sends webhooks — that's infrastructure you maintain forever.
Executable edge calculation requires live orderbook data, not just mid-prices. Most wrappers give you last-trade-price. We give you bid/ask/spread/depth/slippage.
We already handle rate limiting, orderbook snapshot persistence, historical spread analysis, and depth commentary. You get the output, not the plumbing.
Ready to plug in?
API key takes 30 seconds. First thesis in 2 minutes.