Open the app

Run Highroll

Run a round

Close sales, get the numbers, check the prizes, open claims.

Check your version

The contracts still use the working name Gigapot (for example Gigapot and GigapotLens). This reference follows contract code e1056f7. The test network runs older code from 19 September (8a20efb). The launch contracts add fee bands, a Backer allowlist, prize minimums and the 25% jackpot; their calls will be listed here once the audited ABI is final. Use the ABI that matches the contracts you call.

Before you start#

Read currentRound, settlementRound, rounds(id) and pipelineState(id). Check that the verifier, program keys, draw source, batches and queue match the reviewed deployment. A sales round with bonusMax == 0 waits for the previous round to settle.

The sequence#

Round processing sequence
StepCallWhat it does
QueuematerializeQueue(roundId, maxBatches)Add batches in small steps until the queue is complete.
CountproveQueue / proveQueueForAfter the close, prove the lines in the round.
NumbersrequestNumbers()Request numbers for settlementRound. Can happen before the count proof.
PrizessettleRound / verifySettlementProve the winner counts and settle, or verify an early report.
ClaimspublishClaimTreeNeeds verified settlement and a claim-tree proof. Then holders can claim.

A round with no lines uses settleEmptyRound and needs no numbers.

The calls#

Solidity
materializeQueue(roundId, maxBatches);
proveQueueFor(roundId, arrayRoot, queueProof);
// requestNumbers can also happen before the queue proof.
requestNumbers();
verifySettlement(roundId, winners, duplicates, noReferral, settlementProof);
publishClaimTree(roundId, claimRoot, claimProof);

This is the order of calls, not a ready script. Re-read state after each transaction, and never request numbers twice.

reportSettlement is settlementOperator-only and leaves verification open. Watch unverifiedSettlements until proofs catch up, and look into any SettlementMismatch. A zero counter doesn’t mean every report matched.

Check the results#

  • QueueMaterialized and QueueProved cover every batch.
  • NumbersRequested and NumbersDrawn belong to the right round.
  • TierResults, RoundSettled and SettlementVerified match what’s owed.
  • SettlementReported and SettlementMismatch are watched on the trusted path.
  • RoundConfigured sets the next round’s prizes and bonus range.
  • ClaimTreeRoot appears only after verification.
  • A sample slice claims its full prize, and PrizePaid confirms payment.

Updated 27 Sep 2026. Pages about money show the launch settings agreed on 24 Sep. The test network runs older code from 19 Sep. Nothing here is live with real money.