$GLIZZY

Check the working

Every contest can be recomputed by anyone, from numbers that are already public, for as long as this page exists. Put in a contest number. Get back every call, every hidden number, and every score that came out of them.

Read it off the chain

Do it by hand

If there is no node to read from, the same working can be done from numbers you already have. One player per line: contest number, link, the number the player brought, their address, the band they tapped.

How this works

Before the game opened, a chain of 250,000 links was built backwards from one number nobody has seen. Each link folds into the one before it. The first link was published the day the contract went up, so it has been nailed down in public since before a single dog was eaten.

A contest spends one link, and publishes it the moment entry closes. Anyone can fold that link and land on the previous one, which is the proof it was fixed in advance. Nobody can produce the next link early — that would mean running keccak256 backwards.

Both of your numbers come from that link and from the value you brought with you when you stepped up. The band you tapped decides which ten dogs your call can land on; nothing else about either number is yours:

call   = keccak256(link, your number, contest number, your address, "call") % 10 + band * 10 + 1
hidden = keccak256(link, your number, contest number, your address, "hidden")
         taken three times, 64 bits apart, mod 30, highest wins

Neither side owns the result. The chain was fixed at deploy, so the house cannot grind it. Your value arrives when you step up, so nobody can hold it back to bend the outcome. The link goes out the moment entry closes, which is why the run can be watched at all: by then every call and every hidden number is already fixed, and there is nothing left to decide.

When two players in the same band finish level on the same score, the win goes to the lower rank. Rank comes off the same link, so it was fixed before anyone stepped up and it owes nothing to who got a button in first:

rank = keccak256(link, contest number, "tiebreak", your address)

The grill you watched was a picture of this arithmetic. It never decided anything. If the picture and these numbers ever disagree, these numbers are the contest.