Answer card
Wire LangChain to a broker's REST API and you get scaffolding: a generic agent loop. You still build perception (the model reads JSON, not a Frame), accept an LLM in the hot path (its token latency becomes your fill latency), and invent provenance yourself. Kestrel makes perception, a millisecond latency floor, and certified evidence language primitives. Choose the framework for non-trading or exploratory work; the runtime when an agent must perceive, act in milliseconds, and be graded honestly.
What each thing actually is
LangChain is an agent-orchestration framework: prompts, tool-calling, memory, chains. A broker API (Alpaca, IBKR, and similar) is an execution and market-data endpoint. Bolt them together and you have a competent pattern: the model reasons, then calls place_order. For building a research assistant or a portfolio-summarizer, that pattern is genuinely good, and this article will not pretend otherwise.
Kestrel is an open-source language and runtime for agentic trading. It is not a chain of tool calls; it is four statement kinds over one lexical core, VIEW (perception), WAKE (attention), PLAN (latency), GRADE (trust), plus a recursive pod org model with platform-enforced risk controls. The distinction matters because of the thesis Kestrel is built on:
The two failures of LLM trading are interface, perception and latency, not intelligence.
A framework improves the intelligence layer. It leaves both interface failures for you to assemble.
The three things you assemble by hand
1. Perception: the model reads what, exactly?
With LangChain plus a broker, the agent perceives the market through whatever you hand its context window: a JSON bar array, a CSV dump, a screenshot piped through a vision model. Every wake re-reads the whole payload. Perception cost scales with the size of what you paste, O(screen).
Kestrel makes perception a primitive. A VIEW renders the market as a compact text Frame (the chart is in text), a vertical, append-only tape, one row per candle, newest last, relative candles quoted in basis points versus the prior close and anchored by periodic keyframes. Because it is append-only, perception cost is O(new bars) not O(screen), and the unchanged prefix stays KV-cache-friendly.
VIEW tape budget 1200
price 1m
velocity 5m
keyframe 30mThat is not a nicer chart. It is a different complexity class for how a model sees a market.
2. Latency: who is in the hot path?
This is the failure mode most teams discover in production. In a LangChain-plus-broker loop, the model decides, then the order is sent. The LLM's token-generation latency is your execution latency. On a fast move, the agent is still emitting tokens while the fill you wanted is gone.
Kestrel's PLAN is a standing, bounded-risk contingent program (trigger, actions, bracket, invalidation, TTL) that the runtime fires in milliseconds and wakes the agent in parallel. This is fire-then-inform: the agent is never in the hot path.
PLAN headline-chase budget 0.25R ttl 15:55 regime {intraday: trend}
USING signal SPX exec SPY 0dte
WHEN spot > HOD AND velocity(5m) >= p95
DO buy 2 +1 C @ min(fair, mid) peg cap fair
TP 2.5x frac 0.5 @ fair
EXIT spot < VWAP held 120s @ fairThe agent authors and arms the plan in slow time. The runtime executes in fast time. A framework gives you no place to put this distinction, so by default your model is in the hot path: you assembled that failure mode without choosing it.
3. Provenance: can you prove the result?
When your agent glues a chain to a broker, the record of what happened is whatever your logs happen to contain. "It made money last week" is a claim, not evidence, and a backtest is never flattering when it is done right; done right means fenced against the ways it flatters itself. LLM authors are especially exposed: weights leak what code fences can't stop, so a model quietly recalling a date it was trained on will ace a "backtest" for reasons that have nothing to do with skill.
Kestrel makes evidence a primitive. Every run produces a certified Blotter (a deterministic session record) and a GRADE, the honest, counterfactual result. Grades are contamination-fenced: LLM authors are graded only on post-training-cutoff, date-blinded days, so the grade measures judgment, not memorized parameters. The counterfactuals live in the syntax.
GRADE plan fade-ladder OVER 2026-01..2026-03 FILL conservative
VS null
BY regimeThe comparison table
| Dimension | LangChain + broker API | Kestrel (+ kestrel.markets) |
|---|---|---|
| Primary reader | Human developer writing Python; model reasons ad hoc | A model; VIEW/WAKE/PLAN/GRADE are for the agent to author and read |
| Perception model | Whatever you paste into context (JSON/CSV/screenshot), O(screen) per wake | Frame: chart-in-text tape, relative bps candles, O(new bars) not O(screen) |
| Agent in the hot path? | Yes by default: LLM token latency becomes fill latency | No; fire-then-inform; runtime fires, agent is informed in parallel |
| Latency floor | Model inference time (hundreds of ms to seconds) | Runtime-fired PLAN in milliseconds; agent off the critical path |
| Native interface / MCP | Python library; MCP possible but you wire it | HTTP+SSE canonical; TypeScript SDK, CLI, MCP as thin equal faces (same operation IDs) |
| Agent-native auth (Envelope) | None; you hold raw broker API keys | Envelope {scope, budget, ceiling, expiry, revocation}; two-signer (wallet for commerce, human for LIVE) |
| Machine payment | None native; you provision billing | HTTP 402 offer settled by agent wallet (Stripe MPP / x402) or human claim-and-fund |
| Evaluation honesty | DIY logs; backtests self-flatter; no contamination fence | Certified Blotters + Grades; contamination-fenced (post-cutoff, date-blinded); VS ungated / VS null |
| Provenance | Whatever you log; not portable or certified | Deterministic Blotters + shareable Proof URL |
| Live model (custody) | You hold broker keys and integrate directly | BYO broker via OAuth (roadmap; paper adapter in build); platform takes no custody; LIVE is a platform-enforced singleton |
| Data licensing | You source and license your own feeds | Databento served as derived works (no raw redistribution) + BYO Alpaca |
| Activation path | Sign up, get API keys, write and host code | Proof-before-account: trial capability → free catalog → SIM → Proof URL → 402 at the paid boundary |
| Pricing | Framework free (OSS); you pay infra, data, broker separately | Kestrel OSS is free; kestrel.markets rents the scarcity (data, compute/latency, certification) |
| Best for | Flexible/exploratory agents, research assistants, non-trading tasks, bespoke pipelines | Agents that must perceive a market, act in milliseconds, and be graded honestly |
Where the table describes the framework side generically, that is deliberate: LangChain plus a broker is a construction kit, so its "spec" on each row is whatever you build. That is the point of the comparison, not an evasion of it.
Where the framework wins, honestly
A comparison that only flattered Kestrel would be the kind of claim this project refuses to make. So, plainly:
- Flexibility. If your problem is not trading (summarizing filings, routing support tickets, orchestrating a multi-step research workflow), a general framework is the right tool and Kestrel is irrelevant.
- Exploratory, low-stakes prototyping. If you want to lash something together in an afternoon and latency and provenance genuinely do not matter, the framework's zero-ceremony loop is faster to first-run.
- Arbitrary tool graphs. LangChain composes tools Kestrel never modeled. Kestrel is deliberately narrow: it models perception, attention, latency, and trust for markets, and nothing else.
- You already own the whole stack. If you have licensed data, low-latency infra, an execution layer, and a compliance posture, you may not need a platform to rent you the scarce parts.
Kestrel's own status honesty applies here too. As of mid-2026: anonymous trial sims, certified Grades, shareable proof URLs, and 402 Offers with Stripe settlement are live; always-on paper presence and the human-signed live path are in build. The free tier needs no signup.
How to choose
Ask one question: does an agent need to perceive a market and act inside it under time pressure, with a result you can prove? If no (research, summarization, or a bespoke non-trading pipeline), reach for the framework. If yes, note that the framework leaves perception, the latency floor, and provenance for you to assemble, and that assembling them is assembling the failure modes. Kestrel ships them as primitives. This is the runtime's whole reason to exist: sell the airport, not the pilots. Host the scarcity, rent the genius, and let the agent bring its own brain from outside.
None of the plays above are recommendations; they are illustrations of how an agent could express an idea in the grammar. You would deploy a template into your own pod and arm it yourself. This is not investment advice.
Citable one-liner
A framework gives you the agent loop for free and leaves perception, latency, and provenance as an exercise; Kestrel is the runtime that already did the exercise, because the two failures of LLM trading are interface, not intelligence.