Skip to the game
WICK RUN
notes19 September 2026 · 5 min

The day is sealed before anyone plays it

Tomorrow's chart is already decided, and we publish its hash today without storing a single byte.

Everyone plays the same chart on the same day. That is the point of the leaderboard: your 9,400 and somebody else's 11,200 came off the same candles and the same crash at the same second.

Which raises the obvious question. If we generate the chart, what stops us from generating a friendlier one for a friend?

The seed is derived, not drawn

The day seed is not random. It is the first 32 bits of an HMAC over the date key, keyed by a secret that lives in the server environment.

seed(day) = HMAC-SHA256(WICK_SEED_SECRET, day)[0..3]

Nothing is stored. The seed for any past or future day is recomputed on demand from the same secret, which means there is no record to quietly edit. A stored random number can be swapped. A derived one cannot be swapped without changing the secret, and changing the secret changes every day at once, including the ones people already played and screenshotted.

The hash goes out a day early

Because the seed is derivable, tomorrow's hash is computable today. The rules page prints both: today's seed hash and tomorrow's, published before tomorrow exists. When the day rolls over, the seed itself is revealed and anyone can check that it hashes to the number we posted yesterday.

This is an ordinary commitment scheme. It is worth spelling out because the crypto version of this promise is usually made in a Discord message and never checked.

What it does not cover

The commitment proves the chart was fixed in advance. It does not prove that the secret was chosen without looking at anything, and it cannot. If you want the strongest version of this, the honest answer is that it needs the seed to come from a public beacon, and that is on the list for the season after launch.

We would rather write that sentence than let you assume more than the maths gives you.

Every number here comes out of sim/constants.ts, the one file the game reads its balance from.