Modulo holder lottery
Connecting chain — · block —

Round — is openA draw every 15 minutes · UTC :00 :15 :30 :45

Hold to enter.
Every 15 minutes,
one wallet wins.

Keep 100,000 tokens or more in your wallet and you are in every draw. No sign-up, no staking. Trading fees fill the pot. The closing block's hash, modulo the total eligible holdings, names the winner, and anyone can redo that sum in a browser.

Pot balance
—
Fees to collect
—
Paid out so far
—
Wallets in last draw
—

Draw machine

Reading the chain…

next draw in --:--

01Closing block hash

02Hash mod total holdings = remainder x

hash mod —= —

03Find x on the line

04Ball drops

Winner

100 balls share out the line: hold 34% of it and 34 of them are yours. The tumbling is only a picture, the winner is fixed by the sum above. Tap the globe to shake it.

01 / How it works

One round, start to finish

A 26-second explainer. Pause it, scrub it, or jump between the steps on the right.

Explainer · sample numbers
00:00 / 00:26

02 / Try it

Run a draw yourself

The wallets below are made up, but the rule is the real one: sort by address, lay end to end, take the hash modulo the total. Drag the slider to change your holdings and watch your stretch widen.

Chance per round —

On the line / all
—
Line length
—
Random hash
—
Remainder x
—
Winner
—
Rounds / your wins
0 / 0

Each column is actual wins ÷ the wins expected from holdings. The more rounds you run, the closer every column gets to the dashed line: a wider stretch wins more often, but never more than its share.

03 / Rounds

Every round can be recomputed

Pick any round. Your browser reads the token's transfers straight from the chain, rebuilds every balance at that block, works out the winner and checks it against the payment recorded on chain.

Reading the latest rounds…

Prizes are in the native coin. Select a round to recompute it.

Recompute

Pick a round, or enter a block number.

04 / My odds

Am I on the line?

Connect a wallet or paste any address. This only reads balances. It never asks for a signature and never sends a transaction.

or
Chance per round —

No address looked up yet.

Address
—
Token balance
—
Native balance
—
Clears the floor
—

05 / Rules

The rules, and where things stand

Fees and configuration

Reading
Fee source
—
Read at block
—
Claimable in the pool
—
Claimable by the pot
—
Fee recipient
—
Fee rate
—
Payout fraction
—
Payout basis
—
Latest round
—

Known limits

  • Randomness comes from a block hash. Whoever produces and orders blocks can, in theory, influence it.
  • The operator submits the winner and the amount. The contract only guarantees that a round is not paid twice. It does not check the draw itself, which is why the recompute tool above is open to everyone.
  • The operator can withdraw what no prize is waiting on. Each withdrawal is a public Withdrawn event on chain. The contract cannot see which prizes are still owed, so the operator's tooling works out that limit. What counts as unallocated depends on the payout rule, which is not decided yet.
  • The payout fraction and its basis are not decided yet. Figures in the local demo are test inputs, not the production rules.