Trust and safety
How results are checked
Math proofs check the counts and prizes before anyone can claim.
Why proofs#
Highroll stores lines in batches, not one by one. A proof is a piece of math that shows those batches were counted and paid out correctly. Anyone can check it on the blockchain.
Players never need to make a proof. The technology is called ZK, and Highroll uses SP1.
Three checks#
- Count the lines. Every batch in the round is in the final queue (
materializeQueue, thenproveQueue). - Check the prizes. The number of winners at each level and the amounts owed are right for the winning numbers.
- Check the claim list. The list of who can claim what (
publishClaimTree) matches the verified result.
Each proof must match the right round, its rules, its full list of lines and its winning numbers. A proof for another round proves nothing about yours.
Early reports#
A trusted operator can report results before the proof is checked. That moves the pool’s accounting forward. Players still can’t claim until the checks pass.
For developers
reportSettlement is settlementOperator-only. publishClaimTree still needs verified settlement and a valid claim-tree proof. SETTLED alone isn’t enough. requestNumbers can run after the close, before the queue proof finishes.
Where it stands today#
The 19 September test record lists a real SP1 Groth16 verifier, the contract that checks proofs. Its full end-to-end test is marked “not run”. The newest code still needs its own full test and an audit.