For funds.
The infrastructure you don't have time to build.
Cross-venue orderbook depth on Kalshi and Polymarket. Executable edge, not model edge. 24/7 monitoring with a thesis tree. BYOK execution — custody stays at your end. Audit trail per intent for compliance. CLI, REST/Data API, and MCP adapter. Built for desks that already trade event contracts and are tired of wiring rate-limit handlers themselves.

Compagnie van Verre · 1602 Amsterdam — the founding directors of the VOC, the world's first joint-stock fund.
Live cross-venue edges
Updated every 15 minutes · data from Kalshi and Polymarket
What rides on every fill
Seven fields. Logged on every intent, every kill, every audit pull.
A fund's surface area on prediction markets is the union of executable edge, depth, kill chain, and attribution. The runtime tracks all four continuously and persists the trail; your auditor reads it directly.
executableEdgeThesis price minus the actual ask after walking the book for your size — what you realize, not what you model.
depthScoreCumulative size at or better than your fill price, normalized for venue lot size + tick size.
crossVenuePairMatched Kalshi / Polymarket contracts; spread + currency / settlement risk surfaced on every tick.
adverseSelectionBook-imbalance flip detector; alerts before quotes get run over.
killChainPrice gates, news triggers, time windows; logged on every fill for compliance review.
positionAttributionPer-thesis P&L, per-venue P&L, per-claim attribution; rolls up to portfolio risk dashboard.
auditTrailEvery intent, every kill, every fill — full context preserved for SOC2 / fund admin review.
Why not build this in-house
Build it yourself
Total control over every line
2-4 engineer-quarters of plumbing before first trade; lifetime maintenance burden
Bloomberg + venue UIs
Best news terminal money buys
No depth-adjusted edge, no thesis tree, no agent path, no kill chain
Off-the-shelf trading bot
Ships fast on perps + equities
Has zero understanding of event-contract structure, lot sizes, settlement, payout
SimpleFunctions for funds
Cross-venue depth + edge + thesis + BYOK in one API
Surfaces only when post-slippage edge clears floor and depth covers size
Who runs the fund loop
Six recurring fund shapes. Same intent surface, same audit log, different cadence and risk envelope.
Macro hedge funds
Decompose the year-end book; pre-armed intents on FOMC / CPI / NFP / OPEC; cross-venue legs.
Quant funds
Microstructure scoring, regime detection, depth-adjusted Kelly, intra-book slippage attribution.
Family offices
Long-horizon thesis trees with light intent volume; daily LLM briefing into the IC pack.
Event-driven shops
Earnings, M&A, geopolitical, regulatory — adversarial news scan + matched outcome contracts.
Crypto funds
BTC/ETH/SOL ladders + ETF flow + halving — same loop as macro, with on-chain hedge legs.
Discretionary PMs
You make the call. Runtime keeps candidates ranked, kills live, fills logged for review.
Fund endpoints
Same shape across CLI, REST, and the MCP adapter. Wire it into your OMS, your IC pack, your agent — same intent surface, same audit trail.
Cross-venue context
GET /api/public/context?topics=macro,crypto,policyopenAll edges with depth
GET /api/public/edges?minEdge=8&depth=highopenPer-ticker orderbook
GET /v1/orderbook/{ticker}openArm an intent (BYOK)
POST /api/intents { ticker, side, size, maxPrice, kills }openMCP adapter (host-specific)
mcp call simplefunctions.context { topics: ["macro"] }openA fund tick, end-to-end
Five steps. Cross-venue depth in, intent out, audit log written, fill attributed. Heartbeat handles the timing; your PM keeps custody.
$ sf book --pair recession-26
KLSH KXRECESSION-26 YES 38¢
bid 38¢×$2,400 ask 39¢×$1,800 spread 1¢
POLY recession-2026 YES 44¢
bid 44¢×$3,100 ask 45¢×$2,650 spread 1¢
✓ Pair spread +6¢ · post-slippage edge +5¢
long KLSH 38¢ / short POLY 45¢$ sf edges --fund-floor 8 --depth high
KXFEDDEC-25DEC31 YES model 52¢ · ask 38¢
exec edge +13¢ (14 minus half-spread)
depth at fill $24,500 · liquidity ★high
size rec 350 (half-Kelly · 25% depth cap)
PM Iran-strike YES model 28¢ · ask 22¢
exec edge +5.5¢ (6 minus half-spread)
thinner book — 25% depth cap → size 80$ sf intent buy KXFEDDEC-25DEC31 350 \
--price 39 --trigger below:38 \
--kill above:48 \
--kill news:'fed pivots dovish' \
--venue-key fund-prod-2025
✓ Intent armed · keys are yours, custody yours
audit trail: intents/i_8a2f4c · started 11:14 UTC$ sf fills --thesis recession-26 --attribute
i_8a2f4c · KXFEDDEC-25DEC31 · buy 350 @ 38¢
edge at entry +14¢
thesis claim "Fed dovish if recession Q3"
kill chain idle · book ratio 1.8x bid-side
P&L (mark): +$1,260
attribute: 60% rate path · 40% recessionIntegration surface
CLI
npm i -g @spfunctions/cli
sf book <ticker>
sf edges --json
sf intent buy ...
sf fills --attributeOpen source. Pipes to your OMS or research notebook.
REST / Data API
GET /api/public/context
GET /api/public/edges
GET /v1/orderbook/{ticker}
POST /api/intents
GET /api/fillsPublic endpoints CC-BY-4.0; intents BYOK + metered.
MCP adapter
claude mcp add simplefunctions \
--url https://simplefunctions
.dev/api/mcp/mcp102 adapter tools for MCP hosts.
FAQ
Why use SimpleFunctions instead of building this in-house?
Kalshi uses RSA-PSS auth with key rotation. Polymarket uses EIP-712 + HMAC. Normalizing both orderbooks into one shape, running a 24/7 monitoring engine, persisting orderbook snapshots, and computing depth-adjusted edge against live books is roughly two to four engineer-quarters of plumbing before you place a single trade. SimpleFunctions ships that plumbing as an API; you spend cycles on alpha, not on rate-limit handling and key rotation.
How does it differ from a Bloomberg / FactSet wrapper?
Bloomberg ships data and analytics. SimpleFunctions ships a thesis-evaluation loop tied to executable orderbooks: every 15 minutes it scans news, refreshes prices on both venues, snapshots orderbooks, computes depth-adjusted edge per thesis claim, runs LLM evaluation, and emits a webhook. The output is decision-shaped (edge, kill, size), not screen-shaped (chart, table).
BYOK execution — what does that actually mean?
You hold the venue credentials. SimpleFunctions stores nothing custodial; orders are signed with your Kalshi RSA private key or your Polymarket Ethereum key, executed directly against the venues. We surface the intent and trigger; you keep custody. For SOC2-aligned desks, this is the only configuration that works.
How does executable edge differ from model edge?
Model edge: thesisPrice - midPrice. Executable edge: thesisPrice - askPrice (for YES buyers), then walked through the orderbook for your size, then debited for the worst-case slippage scenario. Most platforms ship the first number. We ship both, and gate intent firing on the second.
What is the cross-venue arbitrage workflow?
For each event we maintain matched contract pairs (Kalshi recession 38¢ ↔ Polymarket recession 44¢). The runtime computes the spread, scores depth on both books, and surfaces matched-pair intents that fire two legs simultaneously when post-slippage spread clears your floor. Currency / settlement risk is logged with the position.
Latency profile for monitoring?
Default heartbeat 15 minutes for the LLM-curated briefing. Orderbook snapshots refresh on every venue tick (sub-second on Kalshi, ~1s on Polymarket via Gamma). News ingestion is continuous. Critical event triggers (FOMC release, geopolitical break) fire an out-of-band tick within 30 seconds.
How does it handle position sizing?
Half-Kelly on the depth-adjusted edge, capped at a percentage of orderbook depth at your fill price (default 25%). The runtime returns a recommended size with each surfaced edge; per-thesis caps and per-venue caps stack on top. Adverse-selection alerts fire when book imbalance flips against you.
Can my LLM agent run the fund?
Yes. The CLI is the first-class agent and operator surface; remote systems use the HTTP APIs; MCP is available as a host adapter. Typical setup: hourly thesis review, 15-min edge scan, immediate kill triggers, daily P&L attribution. Audit trail is built in — every intent, every fill, every kill condition is logged with full context for compliance review.
What about historical data + backtests?
Orderbook snapshots, mid prices, and edge state are persisted on every heartbeat tick. /api/public/markets and /api/public/edges expose the historical series; /v1/candles serves OHLC. Hugging Face and Kaggle ship daily exports under CC-BY-4.0 for offline backtests.
Compliance, KYC, audit?
SimpleFunctions is not a broker, custodian, FCM, or investment adviser. KYC happens at the venues (Kalshi for US persons, Polymarket for non-US). Order placement, custody, and trade reporting are at the venue level. SimpleFunctions logs the intent → fill chain for your internal audit. Reach out for SOC2 walkthrough.
Related surfaces
Quant trading
Microstructure, depth-adjusted edge, regime detection.
For hedge funds
Privateer-era cousin to the fund loop, with thesis-tree memory.
Macro traders
Oil, Fed, CPI, recession — same loop, macro lens.
Edge discovery
How thesis-vs-market edges are surfaced and ranked.
Portfolio Autopilot
LLM agent that runs the loop on a schedule, BYOK throughout.
Execution layer
Intent → trigger → risk gate → venue route → fill, with audit trail.
Prediction market API
CLI command catalog, REST/Data API, real-time streams, MCP adapter.