You don't have to trust us
Every result is derived on-chain from the hash of a future block that does not exist when the draw is committed. The keeper triggers the required transactions, but it never supplies the random number or chooses the winners. The contract performs the weighted selection on-chain.
Future-blockhash seed
The contract commits to a future block before its hash exists. Once mined, that blockhash becomes the source of verifiable on-chain randomness.
Odds fixed at the timer
At commit, the contract saves a Merkle-sum root of every eligible wallet and its WIN POWER. Later trades remain open but count only toward the next draw.
Auto-paid, non-custodial
Prizes are pushed directly to the winners. If a wallet cannot receive ETH, its prize remains reserved on-chain and can be claimed later.
How a draw works
- 1
Commit the draw
When the timer is due, the pot is at least 0.05 ETH and 3+ active wallets are eligible, the keeper triggers commit. The contract snapshots the pot, total WIN POWER and the canonical Merkle-sum root, then records a future reveal block.
- 2
Fix a future block
The contract records revealBlock = current block + a delay. Its hash does not exist at commit time, so the keeper cannot supply or preselect the result.
- 3
Reveal
Once the reveal block is mined, the keeper automatically calls the next permissionless step. The contract reads that block's hash itself and derives three random words. Users do not need to send any transaction.
- 4
Verify 3 snapshot winners
The random positions are resolved against the saved root. The keeper submits Merkle-sum proofs, and the contract rejects any forged wallet, weight or winner. Three distinct wallets are selected without stopping current trading.
- 5
Pay
ETH is sent to the three winners (50% / 30% / 15%) and 5% funds buyback & burn. Winning reduces WIN POWER by place; tokens stay in the wallet. Failed direct payouts remain claimable on-chain.
What is verifiable
The complete draw flow is visible on-chain: pot commit, reveal block, captured random words, weighted winner selection and payouts.
The randomness comes later. The seed is the hash of a block that hasn't been mined at commit time, not a number the crank produces. The crank can't pick a favorable value because it does not exist when the draw is committed.
The keeper cannot forge the snapshot. The root is maintained and saved by the contract before the future blockhash exists. At settlement, the keeper supplies proofs only; the contract recomputes the root and rejects any changed wallet or weight.
Future-blockhash randomness is transparent and inexpensive, but it is not the same security model as VRF: a block producer may have limited influence over a blockhash. The keeper can delay a step, but it cannot provide its own seed, choose winners or change payout percentages.
Check it yourself
After launch, the official token, Vault, VaultFactory and lottery addresses will be published on this site and in GitBook. To verify any completed draw: read the reveal block's hash, reproduce the contract's hash derivation and re-run the same weighted selection logic against the committed WIN POWER snapshot. The relevant inputs and completed result are visible in contract state and events. keccak256(blockhash, revealBlock, requestId, index)
FLAP allows compatible Custom Vault factories to be used permissionlessly. After deployment, the VaultFactory and the token-specific Vault will be source-verified on Blockscout and submitted separately for FLAP's verification review. Until that review is accepted, FLAP may label the Custom Vault as unverified even though its on-chain functions remain usable.
What the contract guarantees
- · Randomness from a future block hash, captured before payout
- · WIN POWER odds committed before the reveal block exists
- · Merkle-sum proofs checked against the contract-saved root
- · Prizes auto-paid directly to wallets
- · Your tokens are never moved, locked, or burned
- · The lottery has no owner or admin treasury withdrawal
What the crank can't do
- · Choose or predict the random number
- · Forge a wallet, weight or valid winner proof
- · Override the contract's selection or payout percentages
- · Touch the pot or your tokens
The fee, in the open
$MEGA uses a 2% buy tax and a 2% sell taxthrough FLAP. FLAP routes 100% of the collected and remitted MEGA tax revenue to the token's dedicated Custom Vault. The Vault sends 80% of what it receives to the prize treasury and 20% to the fixed marketing recipient. If the full 5% is remitted, that is economically equivalent to 4% / 1% of the trade. The VaultFactory takes no commission; it creates one Vault for the token, and the lottery is bound to that Vault after launch. Separate FLAP or DEX fees are outside this split.

