SimpleFunctions

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.

17019 markets trackedKalshi 3000Polymarket 14019· May 8, 06:02 PM
The 1602 directors' meeting of the Compagnie van Verre — the founding board of the VOC, signing into existence the world's first joint-stock fund

Compagnie van Verre · 1602 Amsterdam — the founding directors of the VOC, the world's first joint-stock fund.

Live cross-venue edges

57¢Will Rand Paul vote for the next Fed Chair nominee?
72¢kalshi
57¢CPI year-over-year in Jul 2026?
9¢kalshi
55¢DOJ reopens Powell investigation by...?: June 30
6¢polymarket
55¢Will average **gas prices** be above or below $4.00 by Dec 3
8¢kalshi
55¢Will average **gas prices** be above $5.40 by Dec 31, 2026?
27¢kalshi
53¢What will Gold (XAUUSD) hit in May 2026?: ↓ $4,500
40¢polymarket
53¢Will the 7-day moving average of transit calls through the S
83¢kalshi
52¢Will average **gas prices** be above or below $5.60 by Dec 3
24¢kalshi
52¢Iran x Israel/US conflict ends by...?: June 30
87¢polymarket
52¢CPI year-over-year in Jul 2026?
9¢kalshi

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.

executableEdge

Thesis price minus the actual ask after walking the book for your size — what you realize, not what you model.

depthScore

Cumulative size at or better than your fill price, normalized for venue lot size + tick size.

crossVenuePair

Matched Kalshi / Polymarket contracts; spread + currency / settlement risk surfaced on every tick.

adverseSelection

Book-imbalance flip detector; alerts before quotes get run over.

killChain

Price gates, news triggers, time windows; logged on every fill for compliance review.

positionAttribution

Per-thesis P&L, per-venue P&L, per-claim attribution; rolls up to portfolio risk dashboard.

auditTrail

Every intent, every kill, every fill — full context preserved for SOC2 / fund admin review.

Why not build this in-house

ApproachWhat it gives youWhere it breaks

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.

API reference

A 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.

1 · cross-venue book
$ 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¢
2 · executable edge
$ 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
3 · arm intent (BYOK)
$ 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
4 · audit + attribute
$ 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% recession

Integration surface

CLI

npm i -g @spfunctions/cli
sf book <ticker>
sf edges --json
sf intent buy ...
sf fills --attribute

Open 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/fills

Public endpoints CC-BY-4.0; intents BYOK + metered.

MCP adapter

claude mcp add simplefunctions \
  --url https://simplefunctions
  .dev/api/mcp/mcp

102 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