What we're built on
This page is a list of parts with their real status attached. Three of those statuses do the work. In this build means the piece is wired and deployed in this repository today, and you can hold us to it — it does not mean a product feature is sitting on top of it, and where the piece is bare the note says so. Planned is in the product design and has not been built, contracted, agreed or paid for. Estimate is our own calculation with the assumptions stated. Nothing here is a claim of a commercial arrangement, and there are no logos on this page for exactly that reason.
Read the two together before you read anything else on this page: the infrastructure is real and the product on top of it is mostly not. Everything below that describes strategy creation, validation or execution is design — the contract those parts will have to satisfy — and the table says which phase builds each one.
Two speeds
A language model on every tick is the most expensive and least stable way to watch a market. So the system is designed to run at two speeds, and they are never allowed to mix. Neither speed runs today; both are Phase 5.
The top row is to run on every tick, in deterministic code, with no model in the loop: the market feed reaches a quantitative engine that computes signals, holds the stop-loss, enforces position limits, tracks drawdown and owns the kill switch, and only then reaches the broker.
The bottom row is to run in minutes, by interval or by event, and that is where the models go. A small scheduled model reads the current state and the knowledge base and proposes an adjustment as structured JSON. A larger reasoning model is woken only by an event — a volatility break, a drawdown, a regime change, a piece of news. Either way the engine has to validate the proposal against the limits before anything happens, and a proposal that violates a limit is discarded, not negotiated.
Three reasons for the split, none of them about price. Latency: a full model decision takes longer than a market decision has. Rate limits: one request per second per user, at the scale the product is designed for, is beyond the tiers we have priced. Determinism: risk rules have to be reproducible and auditable, and a sampled model is neither.
Models by task
One expensive model to think; one cheap model to watch. A frontier model costs materially more per token than a small one, so putting the same model in both places is a choice that buys nothing. None of these assignments is wired yet; they are how the work is meant to be split.
- Strategy creation — a frontier reasoning model, with strong open-weight alternatives.
- Scheduled review — a small, fast model in a non-reasoning mode.
- Rebalancing and risk — rules in code, with a mid-sized model invoked by event.
- Retrieval — an embedding model plus a reranker.
The rule that survives every one of those choices: the model writes and explains; the engine in code produces every number. Language models are not evaluated as financial analysts and we do not rely on them for arithmetic, and models trained on the open internet already know how the past turned out, which is exactly the bias a backtest exists to avoid. Two language agents propose and interpret; an engine in code produces every number; a human approves.
That rule is a contract, not a description of today. There is no engine in this build, so no number on this site comes out of one — the numbers you see here are parameters we declare and market figures we cite, each with its source. What exists is the shape the engine will have to fit.
Where the models run, and what is retained
There are four honest routes — direct provider APIs, hyperscaler endpoints, open-weight inference services, and rented or owned GPUs — and the criterion that decides between them is data retention, not list price, because the knowledge base holds proprietary material.
Zero-retention arrangements are repeated here only as each provider documents them, and never as a general property of the category. Where a provider states it, we say so and name the provider; where it is a contract term rather than a default, we say that too.
Brokers
You bring your own account. Quant24 connects to the futures broker or prop firm where your money already sits, and never holds funds and is never in the path of the money.
Four routes are in the design — Rithmic, CQG, Tradovate and Interactive Brokers — and none of them has been contacted. They appear on this page as planned integrations, with no logos and no suggestion of an arrangement, because there is nothing to suggest. Broker connect is designed as a complete interface sitting in a waitlist state; it is built in Phase 5, and it will be declared as a mock in the build ledger when it exists.
Market data
This build has no market data of any kind. The synthetic generator is Phase 5, so there are no
bars yet — and there is no exchange data either: none is downloaded, shown or redistributed,
and there is no market data subscription and no exchange license behind this build. When bars do
exist they will be synthetic, labeled SYNTHETIC-DATA in the interface, in the code and in
storage, and the label is enforced by the components rather than remembered by a person.
That is not only a cost decision. Redistributing exchange data to users requires a distributor license, so the design keeps the user's data arriving through the user's own entitlement at their broker rather than through us — which is the same shape as the rest of the product: your account, your data, your approval.
What this build actually uses
Next.js on Cloudflare Workers through OpenNext, with D1, R2, KV, Queues, Durable Objects and Workflows underneath; Workers AI behind an AI Gateway, wired and probed with nothing built on it; the skeleton of Auth.js; Stripe in test mode; Resend for email; Turnstile on the forms; the design system that renders every component; and the content pipeline that refuses to publish a figure without a source. Built on Cloudflare.
What this build does not have, and what the rest of this page describes as design: the Strategist, the deep-reasoning pass, the validation engine for E1 to E6, and the synthetic data generator. All four are Phase 5.
The table on this page is the complete list, and the status column is the part worth reading.