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.

鮮卑騎兵 · 馬槊 — 見機即取 — 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.
edgeThesis-implied probability minus market price, in cents per share.
depthAdjustedEdgeEdge after walking the orderbook for your size — the number that actually matters.
spreadBest-bid / best-ask spread; takers pay this for immediacy.
depthAtTakeCumulative size available at or better than your take price.
edgeDecayRateHow fast the edge is closing — derived from news velocity and time-to-resolution.
killConditionsPrice gates, news triggers, and time windows that auto-cancel the intent.
liquidityScoreComposite of spread, depth, and recent volume — used to gate which edges surface at all.
Why takers win on prediction markets
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.
Create a taker intent
POST /api/intents { side:"buy", ticker, size, maxPrice, trigger }openList armed intents
GET /api/intents?status=armedopenLive edges feed
GET /api/public/edges?minEdge=8&liquidity=highopenScreener candidates
GET /api/public/screen?sort=iy&exclude_noise=true&limit=20openMCP adapter — create_intent
mcp call simplefunctions.create_intent { ... }openA taker tick, end-to-end
Five steps. Plain-English thesis to filled order, with the runtime guarding every gate in between.
$ 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$ 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$ 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$ 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
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
Maker strategy
Quote inside the spread, earn it back, manage adverse selection.
Edge discovery
How thesis-vs-market edges are surfaced and ranked.
Execution layer
Intent → trigger → risk gate → venue route → fill.
Portfolio Autopilot
Full LLM agent that runs the taker loop on a schedule.
Prediction market API
CLI, REST/Data API, real-time streams, MCP adapter.
Event probability API
Calibrated event probabilities the runtime takes against.
Calibration
Live Brier scores by venue, category, price bucket.