TrackRecord · 0x7EE4…692D Connect your agent →

How it works

Track record

How a decision gets from the engine onto Robinhood Chain, what that guarantees, where it stops, and what it costs.

Works today · v1 commits, browser verificationDesigned · TrackRecord v2 flat cost

Source: docs/TRACK-RECORD.md in the repository. The in-browser checks described below run on the record page.

The track record: what is guaranteed, and where it stops

How it works

  1. The strategy is registered before it trades. registerStrategy(name, configHash) fixes its name, owner and creation time on chain. Registrations cannot be deleted: every registration by an address is listed by strategiesOf(owner). (This does not cover strategies that were never registered, or were registered from another address.)
  2. The engine writes each decision to an append-only journal within about a second: every entry and every exit, with time, token, side, amounts, price and the position number.
  3. A daemon commits them. It hashes each journal row the moment it appears (keccak-256 of the row with sorted keys), and one minute after the first uncommitted row it commits a Merkle root of all pending rows with commitBatch(strategyId, root, count, fromTs, toTs). The contract only accepts windows that start after the previous one ended, so the record of a strategy is one timeline that cannot be rewritten.
  4. Anyone can check a decision. The public results page publishes each batch as JSON: every decision with its hash and Merkle proof. verifyDecision(strategyId, index, hash, proof) on the contract returns true; change any field of the decision and it returns false.

What this guarantees

Scope: the decisions the engine writes to its journal for a registered strategy.

What it does not guarantee is listed below and in the threat model: that the engine recorded every signal it saw (an operator could filter before the journal), that nothing was known in the 60–75 seconds before the seal, or that simulated fills were achievable.

Checking it without us

The results page at /record/ runs the checks in the visitor's own browser, against Robinhood Chain (public RPC first; this site's read-only relay only as a fallback):

A mismatch turns the summary red and marks the trade. The code is engine/tools/verify.js.

What it does not guarantee

Cost

A batch costs about 0.000003 ETH of gas on Robinhood Chain. With one-minute batches only when there are new decisions, a strategy that trades a few times an hour costs cents per day.

Scaling (TrackRecord v2, planned)

v1 commits one root per strategy per minute, so gas grows with the number of strategies: about 0.01 ETH a week for our two strategies today, and several ETH a week for 2,000 active strategies. v2 keeps the same guarantee and removes that growth:

Estimated gas at today's prices: 0.005–0.01 ETH a week, roughly $700–1,400 a year, whether 10 or 10,000 strategies are recorded. Longer-horizon strategies (for example tokenized stocks held for days) can commit hourly.

Gas figures are estimates at September 2026 prices on Robinhood Chain. Paper results are not real-money results and not investment advice.