1. Choose a round and stake
Explore the builder before connecting. To place a ticket, you need an Ethereum wallet and ETH on Ethereum, plus ETH for gas. No LUCKOTTO tokens are needed.
Choose any of the next 10 rounds. Rounds close every 10,000 blocks, roughly every 33 hours; the builder shows your selected round’s closing time. Your transaction must be included by its close block, not just submitted before the countdown ends.
Your wallet is the default payout address, also called the beneficiary. Check it before signing: once placed, the ticket’s stake and terms cannot be changed or withdrawn, and its payout address cannot change. Save the confirmed ticket ID, such as 1-3 for round 1, ticket 3. Find it again by ID or payout address in Find tickets.
2. Pool-only: your share sets your odds
A 0.01 ETH ticket in a final 1 ETH pool has about a 1% chance to win 1 ETH. The prize includes your original stake. More tickets increase the pool and reduce your share of it.
Pool-only is the default. It has 0% protocol edge: over many settled draws, the ideal expected gross return equals the amount staked. That is an average, not protection against losing. Gas and integer rounding are extra, and missing settlement forfeits your stake.
See the pool-only formula
With stake s and final round pool A, set both the payout target and edge cap to zero:
payout = A
Pr(win) = s / A
expected gross return = (s / A) × A = s
protocol edge = 0If all tickets are pool-only and the round settles, one wins the full pool. Different ticket types can share a round; when a bankroll-backed ticket is selected, additional draw checks can produce no winner.
3. Optional: request a bigger prize
The shared bankroll contains ETH supplied by other participants. It can fund a payout above the ticket pool. In exchange, your win probability and expected return decrease. Your edge cap limits that expected cost; a 1% edge means an ideal average loss of 1% of the stake over many settled draws, before gas and rounding. It does not mean a 1% chance of losing.
For example, with a final 1 ETH pool and a 10 ETH bankroll, a 1% edge cap supports about 0.1 ETH extra. A 0.01 ETH ticket targeting 1.1 ETH then has about a 0.9% chance to win. These are illustrative settlement values.
The target is a request; the stored edge cap is binding. New stakes, investments, earlier outcomes, and eligible withdrawals can change the final payout and odds. Less available bankroll reduces the payout gap instead of raising the edge beyond your cap.
See the bankroll-backed formula
With stake s, final round pool A, settlement bankroll B, target T, and encoded edge cap E:
G = min(max(A, T) − A, floor(B × E / 2^32))
P = A + G
actual edge = G / B
Pr(win) = s(B − G) / (PB)
expected gross return = s × (1 − actual edge)These probability formulas use the ideal model before gas and rounding. The maximum encoded edge is below 100%. See the technical reference for input limits.
4. Wait for the draw inputs
Ethereum block data and drand Quicknet, a public randomness network, provide the inputs. They are normally available about 46 minutes after betting closes, assuming 12-second blocks and prompt beacon delivery. This is an earliest estimate, not an automatic result time.
How the contract verifies randomness
After close block C, the contract waits for R = C + 132. Its authenticated header supplies prevRandao. The first Quicknet round at or after timestamp(R) + 20 minutes supplies a threshold BLS signature.
EIP-2935 authenticates the Ethereum header; EIP-2537 precompiles verify the signature against the pinned Quicknet key. The seed binds those inputs to this deployment, round, pool, and settlement bankroll. Separate hashes select a ticket in proportion to its stake and evaluate its payout checks.
5. Check the result, then claim
Open your ticket or round to check its status. When the proof is ready, anyone can use the settlement tool to submit it. A winning settlement reserves the payout; after a 3-hour cooling period from settlement, a separate claim transaction sends ETH only to the ticket’s fixed payout address. Anyone can trigger a claim while no emergency halt is active, and both transactions require gas.
Settlement is not automatic, and there is no resolver bounty. Rounds finalize in order. The complete proof must be included by R + 8,191, inclusive: roughly 27 hours after the randomness block at 12-second blocks. The round page shows the exact block deadline.
If no one settles in time, the round must expire: all stakes go to the bankroll, with no winner or stake refund. After a settled loss, there is nothing to claim. If the owner cancels an open round by freezing the contract, claim your full stake refund separately.
If accepted proofs disagree
A second valid proof for the same round is checked against the saved settlement inputs. A different selected ticket or win/no-win result permanently activates the emergency inconsistency state. All actions, including owner actions, claims, refunds, and share transfers, then stop except owner drain. Read access remains available.
The watcher checks settled rounds against the official drand result and submits a conflicting result to trigger the halt. The owner can immediately drain all contract cash during this halt, without freezing or waiting. It cannot submit other actions.
If the website or operator disappears
New rounds follow Ethereum block numbers; the operator does not open each one. While the contract is active, funded, and free of an emergency halt, anyone can place tickets, submit valid draw proofs and trigger claims. No Luckotto login, identity check or operator signature is required.
Keep your ticket ID and the Ethereum contract address: 0xCa1692E6fb54030a957A6A12e90b9Bc0f0F31A49. Use the contract ABI with another Ethereum interface or your own client. Inspect the deployed contract on the explorer ↗ The technical reference documents the calls and proof inputs; download the contract source to inspect its rules.
Settlement needs Ethereum block data, a drand signature and a gas-funded transaction before the proof deadline. Anyone can expire an overdue round afterward, forfeiting its stakes so later rounds can proceed. Claims always pay the ticket’s fixed beneficiary. Operator independence does not remove these deadlines, external network dependencies or the owner’s freeze and recovery powers.
Can I sell or transfer a ticket?
A direct wallet ticket cannot be transferred. Its payout address is fixed at placement. Third-party sellers or wrappers may resell customer entitlements under their own ownership and delivery rules; those arrangements do not change the contract’s beneficiary. LUCKOTTO tokens represent bankroll shares, not lottery tickets.
The capital behind bigger payouts
Anyone can supply ETH in exchange for LUCKOTTO bankroll shares. Shareholders absorb gains and losses, including possible near-total loss. Shares are not lottery tickets, and no return is fixed.
While active, public withdrawals require blocks 1–260 after each 10,000-block boundary and all earlier closed rounds settled or expired. At 12-second blocks that is at most about 52 minutes every 33 hours; typical proof timing can leave only 5–6 minutes. Late settlement does not extend the window. Investment also pauses from the block after a populated round closes through finalization. Owner-held shares stay locked until freeze.
What can the owner do?
The owner cannot change the contract bytecode or redirect a ticket’s winnings. Only the owner can freeze, and only when no closed round awaits finalization and no emergency halt is active. Freeze permanently stops betting and investment, cancels open rounds for full stake refunds to their fixed beneficiaries, and unlocks all bankroll shares for redemption.
365 days after freeze, the owner can drain all remaining cash, including funds backing unpaid winnings, refunds, and bankroll shares. During an inconsistency halt, owner drain becomes available immediately without freezing. It can remove all backing for unpaid claims, refunds, and shares. Inspect owner powers and security evidence →