Forward testing
Frozen rules, scored on data nobody had when they were written.
Why the ledger exists
A backtest is a hypothesis fitted to the past. With enough tries, anyone can produce a beautiful historical curve — that is exactly why beautiful historical curves are cheap. The ledger is the expensive part: deploy a strategy and it starts accruing a public track record on market data that did not exist on the day it was frozen. No re-runs, no edits, no quiet deletions. They sell the dream; we sell the proof.
Everything on the ledger is paper simulation for research and education. It is a scoreboard for rules, not a trade feed — nothing on it is a recommendation to buy or sell anything.
What deploying freezes
When you deploy a strategy, its spec — the exact JSON the engine runs — is frozen and hashed. From that moment the deployed spec is immutable at the database level: the storage layer rejects any update to it. If you improve the strategy later, that is a new deployment with a fresh record starting from zero. The old record stands.
Each strategy page shows the frozen spec, its hash, the original backtest, and the forward record side by side. The two curves are never merged — the separation is the point. You can always see what was promised and what actually happened afterward.
Same engine, no drift
Forward results are produced by replaying the frozen spec through the exact same engine that ran your backtest. There is no second implementation of the rules that could quietly diverge from the one you tested — the daily worker replays the spec up to today and appends whatever the ledger does not have yet. What you backtested is, mechanically, what gets scored.
Closed candles only
The worker evaluates rules on closed bars, after the fact — end-of-day bars for daily strategies, closed intraday candles (down to one-minute) for intraday deployments. Nothing is evaluated live or streaming.
That is discipline, not a limitation. A rule checked mid-bar can be true at 2:14pm and false by the close — a strategy scored on unfinished bars gets credit for entries that would have evaporated. This is the repainting problem, and it is how a lot of impressive-looking track records are manufactured. A closed candle cannot repaint: every row on the ledger reflects information that was fully knowable at the time it was written.
Warm-up: ready on day one, out-of-sample from day one
Indicators need history before they mean anything — a 200-day average needs 200 days of closes. So each replay includes a warm-up window of pre-deployment data (roughly two years of daily bars; about a month of bars for intraday deployments) purely to get the indicators primed.
Warm-up never leaks into the record. The replay starts flat on the deployment date, and any trade the rules would have entered before that date is discarded. Only out-of-sample trades — entered on or after the day the spec was frozen — ever reach the ledger.
One equity point per day
Each deployment tracks a paper account (by default $100,000) and records one equity snapshot per calendar day. Intraday strategies trade on their own candles, but their equity curve still collapses to the last bar of each day — the ledger measures days, not ticks. Fills use the spec’s entry price field and the same slippage assumption as backtests.
Append-only: losers stay
The ledger tables physically reject updates and deletions — database triggers abort them, and the production mirror revokes the permissions outright. Re-running a day appends nothing new; nothing existing can be touched. When a deployed strategy loses money, its record keeps accruing in public. There is no mechanism for making a bad forward test disappear, including for us.
The 20-day verification window
Every deployment appears on the public leaderboard from day one, its original backtest shown beside its forward record and clearly marked hypothetical. The forward record earns its verified mark only after 20 trading days of forward equity history — until then the row shows its progress (“day 4 of 20”) and never claims a shareable rank. Twenty days is still a small sample — the threshold exists to keep two-day wonders from claiming a verified record, not to certify anything.
Intraday deployments
Granularity parity: a strategy built on 15-minute candles forward-tests on 15-minute closed candles — same engine, same bars it was tested on. Multiple trades in one day stay distinct rows in the ledger, and the daily equity snapshot still takes the day’s last bar.
What deploying costs
Nothing beyond your plan. Deployments are slots, not purchases: Free carries 1 public slot, Pro 10 (and unlocks intraday and private records), Max unlimited. There is no per-deploy fee at any tier — if you have a free slot, you can deploy. Slots and capabilities are on the Plans & limits page.
What the ledger is not
The ledger records what a frozen rule set would have done, after the candles closed. It does not notify you, it does not place orders, and it is not a source of trade instructions — for your own strategies or anyone else’s. If you want to act on rules you built here, the exports and the manual trading guide cover how to run them on your own tools, in your own accounts, on your own judgment.