Skip to main content
Anyone with a season’s input log can rebuild its ranking with no network, database or keys, using the Arena’s own engine and a second scorer that shares no code with it. If either result differs from the published ranking, the published ranking is wrong.

What you need

  • The season’s input log and its season file. The season file sits beside the log and its name is the log’s name plus .season.json.
  • Node 22.18 or newer, to run the engine replay.
  • Python 3.10 or newer, to run the scorer. It uses only the standard library.
  • The Arena code, which is where the replay commands live.
When a season closes, this page links to where its final log and season file can be downloaded.

Replay a log

1

Get the code

2

Replay with the engine

It prints the number of events replayed, the start of the rules hash, and the final ranking.
3

Score with the independent scorer

4

Compare

The default output of both is the same, line for line, so you can compare them directly.
Then check two things against the season page. The rules hash printed at the start of the replay output must match the start of the hash on the page, and the ranking must match the published leaderboard.

Try it on an example first

The repository includes example logs with their season files. Run the same steps on ../scorer/fixtures/edge-cases.jsonl to see what matching output looks like before you use a real season’s log.

What this does and does not prove

A matching replay proves the published ranking follows from the logged inputs under the published rules. It does not prove the fill model matches real fills on Hyperliquid, which is a stated limit. See Rules & Scoring and How the Arena works.