SimpleFunctions

Taker.

See the moment, take it before it closes.

A directional workflow for prediction markets. Write your thesis once; SimpleFunctions monitors Kalshi and Polymarket, computes depth-adjusted edge against live orderbooks, fires intents on the trigger, and routes execution through CLI, REST/API, or MCP adapter. Decisive only when the post-slippage edge actually clears your floor.

Classical Chinese silk-scroll painting of a Xianbei (鮮卑) heavy cavalry warrior of the Northern Wei / early Tang period, mounted in lamellar armor with red cape and an upright mashuo (馬槊) lance — eyes meeting the viewer with a steady, watchful gaze. Calligraphy 「見機即取」 in the upper-left corner. Painted in the ink-and-mineral-pigment tradition of Yan Liben's 《历代帝王图》.

鮮卑騎兵 · 馬槊 — 見機即取 — see the moment, take it before it closes.

What is a taker strategy?

Cross the spread when the edge is real and the moment is now.

A taker hits the existing bid or ask the moment thesis-implied probability diverges from market price by enough to clear the spread, the slippage, and the kill conditions. The runtime tracks seven fields per candidate; an intent only fires when all of them line up.

edge

Thesis-implied probability minus market price, in cents per share.

depthAdjustedEdge

Edge after walking the orderbook for your size — the number that actually matters.

spread

Best-bid / best-ask spread; takers pay this for immediacy.

depthAtTake

Cumulative size available at or better than your take price.

edgeDecayRate

How fast the edge is closing — derived from news velocity and time-to-resolution.

killConditions

Price gates, news triggers, and time windows that auto-cancel the intent.

liquidityScore

Composite of spread, depth, and recent volume — used to gate which edges surface at all.

Why takers win on prediction markets

ApproachWhat it gives youWhere it breaks

Chase the news

Read articles, click venue UI, hit market

No depth check, no kill conditions, no audit trail

Wait at the orderbook

Watch the book and click manually

You blink and the edge is gone; nights and weekends impossible

Single-venue terminal

Fastest taker UI for one venue

No cross-venue, no thesis tree, no agent adapter

SimpleFunctions Taker

Intent + trigger + runtime across Kalshi and Polymarket

Decisive only when post-slippage edge clears your floor

Who runs the taker workflow

The shape repeats: a thesis with sharp triggers, candidates the runtime keeps live, and an intent armed before the print, not after.

News-reactive desks

Wire moves, the runtime computes the new thesis price, and the intent fires before the venue book reprices.

Geopolitical event-driven

Hormuz / strike / ceasefire prints — pre-armed intents on the matched WTI and recession contracts.

Macro thesis takers

Write the thesis once; the runtime watches CPI / NFP / FOMC and takes against pre-print mispricing.

Weather-day operators

Pre-armed intents on KXTEMP / KXRAIN ladders that fire on the morning forecast revision.

Agent-managed portfolios

LLM agent reads context + edges, declares intents through CLI/API first or MCP adapter when required, and the runtime handles timing.

Manual snipers

You confirm every take. The runtime just keeps the candidate list ranked and the kill conditions live.

Taker endpoints

Same intent shape across CLI, REST/API, and MCP adapter. Wire it into a script, an agent, or a manual workflow and the runtime takes care of timing.

API reference

A taker tick, end-to-end

Five steps. Plain-English thesis to filled order, with the runtime guarding every gate in between.

1 · write thesis
$ sf thesis create \
  'Hormuz closure persists; oil sustains above $100 through Q3'

✓ Causal tree built — 6 nodes, 4 markets mapped
  · Hormuz closure duration  → KXOIL ladders
  · Sustained $100+          → KXCPI prints
  · Fed constrained          → KXFED contracts
  · GDP contraction Q3       → KXRECESSION 2026
2 · surface edges
$ sf edges --thesis hormuz-q3 --min-edge 8

KXWTIMAX-26DEC31-T150 YES
  market 38¢ · implied 74¢ · edge +36¢
  spread 1¢ · depth $2,400 · liquidity ★high

KXGAS-26-T450 YES
  market 14¢ · implied 55¢ · edge +41¢
  spread 2¢ · depth $800  · liquidity medium
3 · arm intent
$ sf intent buy KXWTIMAX-26DEC31-T150 200 \
    --price 40 --trigger below:38 \
    --kill above:60 \
    --kill news:'iran ceasefire signed'

✓ Intent armed
  Action: buy 200 YES, max 40¢
  Trigger: market below 38¢
  Kill:    market above 60¢ OR ceasefire news
4 · runtime fires
$ sf runtime start

Runtime active — heartbeat 30s

11:14:32  KXWTIMAX-26DEC31-T150  39¢  trigger>38¢ — wait
11:15:02  KXWTIMAX-26DEC31-T150  37¢  trigger hit
11:15:03  ✓ filled 200 YES @ 37¢  ($74.00)
          edge at entry +37¢ · slippage 0¢

Taker candidates right now

58¢Will Rand Paul vote for the next Fed Chair nominee?
73¢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 $5.40 by Dec 31, 2026?
28¢kalshi
55¢Will average **gas prices** be above or below $4.00 by Dec 3
8¢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

Taker

When the edge is large and depth is real.

You pay the spread for immediacy. Best for news-driven moves where the orderbook has not yet caught up. Speed and post-slippage edge are the deciders.

Maker →

When liquidity is thin and the move is patient.

Quote inside the spread, earn the spread, manage adverse selection with thesis-aware quoting and inventory caps. Most desks run both side by side.

FAQ

What is a taker strategy on prediction markets?

A taker strategy crosses the spread to hit resting liquidity the moment your thesis-implied probability diverges from the market price. You pay the spread, but you secure the edge before it decays. It is the right approach when the edge is large, the orderbook is deep, and the news driving the mispricing has not yet propagated.

How is a taker strategy different from a maker strategy?

A taker hits existing bids or asks and pays the spread for immediacy. A maker posts limit orders inside the spread and earns the spread (plus rebates on Polymarket sports), but is exposed to adverse selection if the price runs against the quote. Most teams run both: taker against fresh news with depth, maker against ambient liquidity in flatter regimes.

How does SimpleFunctions decide when an edge is large enough to take?

For each candidate market we compute thesis-implied probability vs market price, depth-adjusted edge after slippage, spread, kill conditions, and an edge-decay-rate based on news velocity and time-to-resolution. The runtime only surfaces takes where the post-slippage edge clears your configured floor and depth at the take-price covers your size.

Does the taker workflow execute trades automatically?

Only when you arm an intent. You declare intent (action, size, max price, trigger condition); the runtime monitors prices and fires when the trigger is met. The runtime can also surface edges as alerts and let you confirm by hand. Both paths share the same intent shape.

Can an AI agent run the taker workflow?

Yes. The same intent and trigger primitives are exposed through the CLI (sf intent ...), REST (/api/intents), and MCP adapter tools (create_intent, list_intents, cancel_intent). An agent reads your thesis tree and the live edge feed, picks candidates, declares intents, and the SimpleFunctions runtime handles the timing.

Which venues does the taker workflow cover?

Kalshi (CFTC-regulated US event contracts) and Polymarket (USDC-settled). The runtime normalizes both venues into one intent shape; the routing layer handles venue-specific order types, lot sizes, and credentials. Cross-venue takes (long Kalshi YES, short Polymarket YES on a matched pair) work out of the box.

What about thinner markets where depth is shallow?

When depth at the take-price is shallow, the runtime either downsizes the take to fit liquidity, splits across price levels, or rolls the order to maker mode (post the limit, wait). You configure the policy per intent. Thin markets with patient entries are usually the maker workflow — see /maker.

How do I size a taker order?

Standard prediction-market sizing: half-Kelly on the depth-adjusted edge, capped at a fraction of available depth at your take-price (we default to 25% of book depth so you do not move the price against yourself). The runtime returns a recommended size with each surfaced edge; you override per intent.

How does the runtime handle adverse news mid-fill?

Every intent has kill conditions (price gates, news triggers, time-to-event windows). The runtime re-evaluates kill conditions on every heartbeat. If a kill condition fires before the trigger, the intent is cancelled. If it fires after a partial fill, remaining size is cancelled and the position is logged for review.

Does SimpleFunctions place orders or am I trading through the venues directly?

SimpleFunctions exposes the intent + trigger workflow and routes the order through your venue credentials (BYOK). The actual order placement happens at Kalshi or Polymarket against your account; SimpleFunctions is not a broker, exchange, custodian, FCM, or investment adviser.

Related surfaces