Replaying a score
The PROVE IT ranking is not to be taken on faith, it is meant to be recomputed. Everything needed is public at the close of the season: the corpus, the task table, the answer key, the two salts of its pre-registration, the participants' submissions with their proof identifiers, and the frozen scoring scale. This page says how to go about it and how long it takes, because a promise of verifiability without its cost is not one.
What you need
- The season dataset, published at the close: it carries the corpus exactly as it was served, the answer key, both salts, the raw submissions and the hash of every file.
- The season freeze: both its
proof_idvalues are public, and each salt reopens the anchored commitment of its freeze,sha256(salt ‖ bytes of the answer key). The salt alone is not enough: reopeningrequest_hashof the freeze proof also needs the pairs (nonce and value) of the freeze file,gel.json, and the hash of the task table is carried bygel-avenant.json. The dataset ships both files; they are also served on the freeze page as of now. - The proof views cited by the submissions, read from Trust Layer. No key, no account: the batch read route is public.
Proofs, in batches of 50
One batch read returns up to 50 proof views in a single call:
curl -sS -X POST https://trust.arkforge.tech/v1/proofs \
-H 'Content-Type: application/json' \
-d '{"proof_ids": ["prf_...", "prf_..."]}'
Each view carries the committed hashes and its anchoring. An assertion is substantiated when the proof it cites is valid, bound to the same agent, carries the announced resource and value, and was not refused at the front door.
How long it takes
Measured on September 16, 2026 against the production service, read-only:
- one enrolment cites 32 to 36 distinct proof identifiers, freeze included, hence 1 call per participant;
- a call of 50 identifiers returns in 0.169 s (median) and 0.215 s at the 95th percentile;
- the service refuses beyond 100 counted reads per hour per IP address, a batch call counting as a single read.
Hence the bound: 100 participants per hour from one IP address, about 16.9 s of waiting for the reads themselves. Beyond that, the one-hour window starts at the first read and expires: two windows carry twice the bound.
These figures come with conditions, and the conditions matter: a single IP address, proof views already anchored, and a service that also serves its other traffic. They are measurements, not guarantees.
If your result differs from ours
That case is planned for, not an incident. The published ranking is anchored: its hash and its proof_id are
on the Index page, and a correction adds a version with its stated reason, it erases nothing. The
participation terms say how to contest and within what delay the correction is published.