HYPOTHETICAL PERFORMANCE These are paper-trading portfolios. No client money is invested, no orders are routed to any venue, and no result shown here was achieved with real capital. Hypothetical results have inherent limitations and do not reflect the effect of real order flow on price.
Transparent AI Investment Platform
Home / audit

The record, and how to check it

Every event is committed to a hash chain in which each record commits to its predecessor. Altering any historical record changes its hash and breaks every link after it.

Today's commitment

Records
56
Chain
verified
recomputed end to end
Published
2026-08-10
13:45:41Z
head hash
a8b1cab731448ea293705286a26c465fc467445cf479affdcce791d1356f2b0c

Save this. Save this object. Later, fetch the full log, recompute each record hash in seq order, and confirm the record at head_seq still hashes to head_hash.

Algorithm: sha256(canonical_json(record | prev_hash)). The database blocks UPDATE and DELETE on the log table at the trigger level, and a test deliberately drops that trigger, rewrites a record the way a determined attacker would, and asserts the chain detects it.

What gets published, and what is actually built

Eighteen items are specified. Rather than describe them as done, each carries its real status — live means it is on this site today, specified means the mechanism is built and tested but has no data to show yet, and backlog means it is not built.

#ItemStatusNote
1Original starting capitallive$100,000 for every portfolio, never restated.
2Every trade with decision time and fill timespecifiedMechanism built and tested; awaits a licensed price feed.
3Current holdingsspecifiedAwaits the first real cycle.
4Historical holdings at any datespecifiedLedger replay is implemented.
5Realised and unrealised gains, separatedspecifiedNever netted into a single number.
6Maximum drawdown with its start and end datesspecifiedImplemented in metrics.compute_stats.
7Fees, spreads and estimated slippage, itemisedliveCost model published verbatim; per-fill breakdown implemented.
8Benchmark performancespecifiedAligned on common dates only, so a benchmark cannot start later.
9Portfolio rule changes with full diffliveRULEBOOK_CHANGE events in the same hash chain as trades.
10AI model and prompt version changesliveMODEL_CHANGE events. The record must not become a chimera of two systems without saying so.
11Whether each decision was made before or after market openliveBoolean on every RUN_START event.
12Failed, closed and abandoned portfoliosliveThe Graveyard exists and is empty. Its rules are published now, before there is anything in it.
13The rejection logspecifiedEvery AI proposal the rule engine refused, with its reason code.
14The fact pack for every decisionspecifiedDownloadable JSON plus hash, committed before the model is called.
15The grounding reportspecifiedHow many quantitative claims traced back to source data.
16The daily audit head hashlivePublished on this site today. Save it and verify history later.
17The deterministic baseline shadowbacklogThe same portfolio run by a five-line rule. Does the model beat it? Not yet answered — and it will be published either way.
18Quarterly buy/hold/sell distributionspecifiedNot legally required of a non-firm publisher. Published anyway.

Rule and model changes

No rulebook or model change has been recorded.

When one is, it appears here as an event in the same hash chain as every trade, carrying a full diff, a reason and an effective date. That is what makes it impossible to quietly loosen a limit after a bad quarter: the loosening would have to be published, in sequence, next to the quarter that prompted it.

Mirror the head hash somewhere we do not control

Publishing the daily head hash here converts "we say we did not edit it" into "we could not have edited it without you noticing" — but only if the hash exists somewhere outside our control. Posting it to a public repository, a social post or an RFC 3161 timestamp authority is cheap, and it is exactly the artifact a bank's diligence team asks for. This is on the build list and is not yet done.

Reproduce this page

The complete payload every page on this site was rendered from is downloadable, and its hash is a678cf70a8b712fb3d19f094. Two builds of the same record produce the same payload hash, which is asserted by a test — otherwise "the site is a function of the record" would not be something a third party could check.

Follow the record.Every decision, fill and refusal, as it is published — including the ones that lose money.Join on Telegram →

Crypto market data Powered by CoinGecko · Logos provided by Logo.dev · Company logos identify holdings only and imply no endorsement.