Verify

You should not have to trust this site. Here is what can be checked, how, and what cannot be checked yet.

Status

The contracts are written and tested on a local chain. They are not deployed, so there is no on-chain record to verify yet. The commands below have been run only against local test chains.

Who decides what

RecordEnforced by the contractRecomputed by the verifier
Order of steps and population sizesYesYes
Best half survives, ties by lower idYesYes
Randomness round chosen before it is publishedYesYes
Randomness value matches drandNoYes
Hourly decisions and market inputsNoYes
Fitness scoresNoYes
Genome hashes and fossilsFossil must match its hashYes

Where the contract does not enforce a record, the runner could write a false one. It could not do so unnoticed, because anyone can recompute it from public data.

Check a run

You need the open code, the published manifest and any Elysium RPC. No wallet and no funds.

npm run runner:verify -- --manifest manifest.json

This rebuilds each replicate from its seed, the drand beacon and public market candles, then compares every recorded thought, score, genome and fossil. It stops a replicate at its first mismatch and names it.

It also sends one thought per generation to ThoughtVerifier, a separate implementation of the brain in Solidity. Answering takes the EVM 6 to 13 million gas on the test cases, read for free with eth_call. ThoughtVerifier changes no experiment state and has no owner.

Check the wiring

The wiring is built from the paper’s own connectivity matrix.

python3 scripts/build-connectome.py

The rebuilt files should match the fingerprints below.

nodes.csv
2f82acd4e076e9a69d052f5316d535afe0b46233fd70439cbe132ac48d2c365a
edges.csv
5ba7d9aecfa6fef82195cbaca1b45a635d5ff2c53494dbc8a5fb7955588b4aba

Corrections

3 November 2026. The first run used a public copy of the wiring in which 192 of 205 rows of outgoing connections carried the wrong cell’s name. We found it by comparing that copy with the paper’s matrix. The wiring was rebuilt from the paper and the run repeated. Results made on the old copy are withdrawn.

What this cannot show

  • Verification shows the records are consistent with public inputs. It does not show that the brains learned anything. That is what the statistical test is for.
  • The result depends on the market data published by Hyperliquid. The verifier checks the data used against that source, not that the source is right.
  • Genesis and connection weights use floating-point functions, which can differ between JavaScript engines. Verify with the Node version named in the protocol.