Open the app

Build

Start building

Pick a way in, then build the whole journey from buy to claim.

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.

Choose a way in#

Direct
Read the round on Stable, then call buyRandom or buyChosen.
Multichain
Route through RelayGateway with a reviewed Relay or LiFi call.
Sponsored
Your app pays for lines as a reward, and records the user and campaign source.

The journey#

  1. Read the round. currentRound is on sale; settlementRound is being processed. If bonusMax is zero, show Quick Pick only.
  2. Buy a batch. buyRandom takes a count. buyChosen takes six bytes per line.
  3. Save the IDs. Keep the round ID and batch ID. Index TicketsBought and TicketRights events.
  4. Claim. After a verified result and a ClaimTreeRoot, prove the slice and claim the full prize.

Build and test#

Shell
git submodule update --init --recursive
forge fmt --check
forge build --sizes
forge test

The core links three libraries: TierPricing, EpochAccounting and RoundPipeline. Record all three addresses for verification.

Your first read#

TypeScript
// Use the ABI and address for the same deployment.
const roundId = await read("currentRound");
const processingId = await read("settlementRound");
const round = await read("rounds", [roundId]);
const pipeline = await read("pipelineState", [processingId]);
const quickPickOnly = round.bonusMax === 0;

Then read ticketPrice(roundId) and the deadline. For Backer views, use GigapotLens. Next: the Integration guide.

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.