Proof
What the contracts hold, who can change them, and whether draws are being delivered, each figure at the block it was read. This page reads Base Sepolia, a test network: its ETH has no value.
Solvency
Reading…
Owner calls waiting
Reading…
Liveness
Reading…
Who can change what
Every change the Lottery's or the FeeSplitter's owner makes waits 48 h in a public queue. The owner can change the postage (at most 0.01 Ξ a word): an ordinary pot escrows its postage when it is attached, but a house pays the current postage from its prize at each word, so a raise reaches every live house 48 h after it is queued. It can also change the Chainlink settings, which can stall draws; after 90 days without a word an ETH pot streams to its holders. It cannot move a pot, a reserve or a claim. The FeeSplitter's owner can point the treasury's share at another address.
The Factory's owner can stop or price new launches at once; that reaches future launches only, never a coin that exists.
Where each figure is pinned
A figure on this page is only as good as the check behind it. Each is named here, so an auditor can run it.
- The Lottery, the FeeSplitter and every curve hold what they oweinvariant_Solvent, in contracts/test, run against random sequences of every call
- The same figures at the block namedthe index reads them at one block by hash (apps/indexer/test/api/ops-proof.test.ts); Check on chain reads the same block again in your node
- The timelock holds nothingops-proof.test.ts: a timelock with any ETH fails the verdict
- Who owns the Lottery and the FeeSplitter, and the waittest_F4_Deploy_NoHotKeyEverOwnsTheLottery, and the deploy script reads the timelock back before it ends (UnsafeTimelock)
- The calls waiting in the queueapps/indexer/test/api/proof-queue.test.ts; the page decodes only a fixed list of calls and prints any other as its selector
- Two subscriptions, one for draws and one for spinsF4_Freeze4 tests: a spin asks its own subscription, everything else the draws'
- Draw-to-word times, last draw, last settled, index reachcounted from the index's stored events; no test pins these figures yet