In your browser
On a campaign’s page, each drawn draw has a Verify in your browser button that runs every check and shows the result. It runs on Prizerail’s own site, though, so for a check that doesn’t trust us, run the script yourself.With the script
It needs Node.js 18 or later and nothing else:- checks that the prize table’s weights add up to its rolls
- recomputes the winner list fingerprint
- recomputes every winner’s random value, roll and prize, and compares each with the proof
✓ for a check that passes, ✗ for one that fails, and i for something the math can’t settle, such as where the random value came from. It exits 0 only if nothing failed.
With a library
To cross-check with a library you already trust, viem’skeccak256(encodeAbiParameters(…)) with the types in How a draw is decided gives the same values.
What a check proves
A passing check proves the prizes follow from the locked list and the random value, exactly as published. It doesn’t prove who should be on the list: the partner chooses the winners by its own rules.Random values marked
mock are test randomness from a test environment. They can’t be checked independently, and real campaigns don’t use them. Onchain random values (Pyth Entropy) are coming. Until then, that the list locked before the random value existed rests on Prizerail’s own timestamps.
