KESTREL · THE LANGUAGE FOR AGENTIC TRADING

Reason like a trader.
React like a machine.

Your agent already reads the tape better than the desk. Kestrel lets it act on that judgment in milliseconds — see the market as text, plan the day, and let the runtime fire at the tick.

kestrel.markets runs it for you — the data, the authority, the deterministic execution. You bring the intelligence.

Run a free sim →See the language
— free · ungated · no signup
agent — kestrel.marketsLIVE

Illustrative session — generic instruments (IDX / IDXW), sample numbers.

THE PROBLEM

You connected a capable model to your brokerage. It reasons about the tape better than most humans — and still loses the trade.

Neither failure is intelligence. Both are interface.

PERCEPTION
It can’t see the market

Raw JSON and screenshots are unusable market pictures for a model. So a human ends up watching the chart and narrating candlesticks in prose to a machine — a pair of eyes bolted onto an intelligence that should already have them.

LATENCY
It can’t reach the trade in time

Every trading API assumes the decision-maker is fast enough to sit in the loop. An LLM is not, and will not be. By the time it requests quotes and composes an order, the market that justified the trade is gone.

Drive it from anywhere · four equal faces/HTTP+SSE·TypeScript SDK·CLI·MCP/same operation IDs, receipts & artifacts
THE LANGUAGE

Kestrel fixes the interface.
Four kinds of statement.

The whole grammar fits in a few hundred tokens — an agent holds it in context. No API docs, no SDK spelunking.

01
View
what should I see?
solves perception

The chart, in text. Selects panes at a token budget; the live tape is vertical, so an agent pays only for new bars.

VIEW open tape 5m + chain
02
Wake
when should I look?
solves attention

Events, not polling. The runtime watches all day; your context wakes only when something actually moves.

WAKE WHEN velocity(1m) > p99
03
Plan
what may execute?
solves latency

Judgment in advance, fired at the tick. You author bounded strategy; the runtime executes in milliseconds and wakes you in parallel.

PLAN … WHEN spot > hod DO buy
04
Grade
did it actually work?
solves trust

Honest, counterfactual evaluation on date-blinded days — weights leak what code fences can’t stop.

GRADE plan OVER … VS null
slow judgment, compiled into a fast reflex.The agent authors; the runtime fires; Risk can clamp anyone — and may never open risk.
THE FRAME

One Frame. Every pane
your agent needs to decide.

A View selects panes at a token budget. Each moment it materializes into a typed Frame — the same numbers, rendered as text for your agent and a chart for you. It never invents a value; it selects.

Frame · IDX · OPEN · unicode
KESTREL · OPEN briefing · T-390m to close · regular · 09:35 ET
IDX index · signal · mult 100 · tick 0.05
IDXW option-underlier · exec · mult 100 · tick 0.05
macro · week quarter rv20
wk +2.1% · qtr +7.4% · rv20 11.8 · trend up
vol · straddle expected-move
atm_iv 12.4% · straddle 21.30 · em ±0.42% · skew -1.8
levels · IDX · registry
spot 5064.20 prior_close 5050 hod 5068.10
lod 5058.40 vwap 5062.70 or 5059–5066
tape 5m · skyline · vwap · axis 5058.40→5068.10 · anchor @ 09:35 ET
09:35 ──█████──
09:40 ─████████─
09:45 ──█████████──
09:50 ─████████─
09:55 ───████████████─
chain (near-money) · IDX · fair realness
5065 C bid 12.40 ask 12.90 fair 12.60 b76 nLiq=6
5065 P bid dark ask 11.20 fair 11.00 fallback(mid)
5070 C bid 9.80 ask 10.30 fair —
KERNEL (acting) · bound to session
+2 IDXW 5065C basis 11.80 fair 12.60 (range-break)
SELL 2 IDXW 5070C @ 18.50 (range-break)
BUY 2 IDXW 5065C @ 11.80 @09:48 (range-break)
budget: used +236.00 / remaining +264.00 (total 500, maxR 3)
range-break: managing · close-fade: armed
open.view.kestrel
VIEW open budget 1800
macro week quarter rv20
vol straddle expected-move
tape skyline 5m vwap detector-strip
levels registry
chain fair realness
macro
Cross-asset context — futures, rates, the vol regime.
week · quarter · rv20
vol
The surface — implied vol, expected move, skew.
straddle · expected-move
tape
The rotated candlestick — column position is price, newest last.
skyline · 5m · vwap · detector-strip
levels
Spot, prior close, HOD / LOD, VWAP, the opening range.
registry
chain
Near-money options — bid / ask / fair, each with a receipt.
fair · realness
kernel
The acting kernel — positions, resting, fills, budget, plans.
bound to session · non-configurable
The acting kernel is bound to the session, not the View — you can’t configure away your own positions, budget, or risk.
EVIDENCE

A black-box recorder for agentic trading.

Every number your agent sees is typed, attributed, and watermarked — a renderer lays values out but can never invent one. Every claim gets judged, including the agent's: replayed under a pinned fill model, graded only on date-blinded days.

This is the proof your human sees at the moment of conversion — a signed Blotter and Grade, not a pitch. Self-hosted Kestrel computes the same numbers; only the platform mints the trusted receipt.

A backtest is never flattering.
A screen never invents a value.
An agent is never in the hot path.
A position is never naked or unbounded.
grade.kestrel
GRADE plan range-break OVER 2024-01..2026-06 FILL maker-v1
VS ungated # did the regime gate earn its keep?
VS null # same fills, no judgment — any edge?
BY regime.intraday, lineage
CERTIFIED GRADE · receipt
subjectrange-break
pinned data✓ hashed
fill modelmaker-v1 (pinned)
replay-stable✓ byte-exact
signed byneutral judge
PRICING

Two meters. No subscriptions.

No seats. No subscription before first value. Your agent becomes a user before you become a customer.

Free · ungatedNO SIGNUP
$0

A trial capability, issued before any account exists.

Real deterministic sims — not a toy tier
A few tickers & timescales, ungated
Certified Blotters + Grades
Shareable proof URLs
HTTP · SDK · CLI · MCP from day one
Start a sim now →
Operations
pay per operation

A grade, a sim batch, a data slice — the exact amount on every request.

·Exact amount on every request (HTTP 402)
·Machine-readable price sheet at /.well-known/
·Grades, sim batches, data slices
·Settle by wallet or funded balance
See the price sheet
Standing resources
time-metered

Always-on presence, metered against a funded balance. Budget is an Envelope field.

·Paper pod-hours · live singleton-hours
·GB-months of artifact retention
·Metered against a funded balance
Fund a balance
Settle by agent wallet (MPP / x402)·or a human claim-and-fund·BYO-plan + BYO-broker for live, always

Bring the intelligence.
We'll handle the milliseconds.

One command, free to start. No signup, no key — prove the value first.

$ npx kestrel.markets
Run a free simConnect via MCP