How to verify a Megapot drawing yourself
Every number on this site comes from public onchain events. Here's how to check them, using drawing #198 (Thursday, Oct 8, 2026).
1. The request
After the 10:00 AM MST draw time, anyone can call runJackpot(). That transaction locks the drawing and asks Pyth Entropy for randomness. For #198 it was 0x61326d1103f09955… (block 52,344,780), which emitted JackpotLocked(198) and JackpotRunRequested.
2. Randomness and settlement
Pyth's callback settles the drawing in one transaction: 0x82e228f14353ab46… (block 52,344,782, 10:01:51 AM MST). It's sent to the Pyth Entropy contract 0x6E7D74FA…, and its event log contains:
PrizeTierPayoutsCalculatedfrom the payout calculator 0x97a22361…: the 12 per-ticket prizes, before the win-share.WinnersCalculated(198, [3,20,29,9,4], 6, uniqueResult, dupResult): the numbers in drawn order and the winners per tier.JackpotSettled: LP earnings $4,401.054427 and user winnings $3,010.281754 (gross).EntropyFulfilledfrom the provider 0x5D030DEC… with sequence number 584,657. Look it up in the Pyth Entropy Explorer.
Randomness comes from two parties: Pyth's provider commits to a secret in advance, and the request supplies its own random value, so neither side can pick the result alone. See Megapot's provably fair docs and Pyth Entropy docs.
3. Reconcile the numbers
- Winners per tier =
uniqueResult[i] + dupResult[i]for tiers 1–11. Tier 0 = tickets − the rest. Σ all tiers = 4,886 = 4,886 tickets ✓. - Σ prize × winners =
userWinnings= $3,010.281754 (gross, onchain) ✓. - Net step (what this site shows): net per ticket = gross − ⌊gross ×
referralWinShare/ 10¹⁸⌋, the same arithmeticclaimWinningsuses. This drawing's rate is 10%, read onchain. - LP earnings:
JackpotSettled.lpEarnings$4,401.054427 = ticket sales to LPs $4,399.600000 + win-shares credited during the drawing $1.454427 ✓. - Next pool = this pool + LP earnings − user winnings − protocol fee: $1,154,528.10 → $1,155,918.88.
| Match | Winners | Gross per ticket (onchain) | Win-share | Net per ticket | Total net |
|---|---|---|---|---|---|
| Jackpot: 5 + bonusball | 0 | $242,534.475879 | $24,253.447587 | $218,281.028292 | $0.000000 |
| 5 numbers | 0 | $2,450.943079 | $245.094307 | $2,205.848772 | $0.000000 |
| 4 + bonusball | 0 | $236.294980 | $23.629498 | $212.665482 | $0.000000 |
| 4 numbers | 4 | $27.242652 | $2.724265 | $24.518387 | $98.073548 |
| 3 + bonusball | 11 | $10.910439 | $1.091043 | $9.819396 | $108.013356 |
| 3 numbers | 103 | $5.466207 | $0.546620 | $4.919587 | $506.717461 |
| 2 + bonusball | 81 | $6.223804 | $0.622380 | $5.601424 | $453.715344 |
| 2 numbers | 718 | $1.111112 | $0.111111 | $1.000001 | $718.000718 |
| 1 + bonusball | 216 | $3.434842 | $0.343484 | $3.091358 | $667.733328 |
| Bonusball only | 157 | $1.111112 | $0.111111 | $1.000001 | $157.000157 |
| Total | 1,290 | $3,010.281754 | $301.027842 | — | $2,709.253912 |
4. Why we show net prizes
The contract keeps a 10% share of every winning claim. If the ticket was bought through a referral link, that share goes to the referrer; otherwise it goes to Megapot's liquidity providers. Either way the winner receives the net amount, so that's the figure we show. You can confirm it on Basescan: every TicketWinningsClaimed event pays exactly the net amount. The gross figure lives in PrizeTierPayoutsCalculated and JackpotSettled.userWinnings. The only exception is the contract's emergency mode, which has never been used; our checks would flag it.
Contract: 0x3bAe643002069dBCbcd62B1A4eb4C4A397d042a2 (Base, chain 8453). Every drawing page has its own verify block with these links.