How it works
1. Stake tUSDT
You enter a draw by sending tUSDT straight from your wallet to the lottery smart contract. Every 1 tUSDT is one ticket, so your chance of winning equals your share of the pool: 100 tUSDT in a 1 000 tUSDT pool is a 10% chance. This website never holds your money.
2. The draw closes
- Speed Round closes on a fixed schedule.
- Jackpot closes the moment the pool reaches its target — or at its deadline, and then whatever is in the pool is drawn.
- Stack closes the moment the last seat is taken. If the seats are not filled by the deadline, there is no draw and everyone gets their money back.
Closing is automatic (Chainlink Automation) and anyone can trigger it too — no operator has to act.
3. A verifiable random winner
The contract asks Chainlink VRF for a random number that comes with a cryptographic proof checked on-chain.
The winning ticket is random mod ticketsSold. Nobody — including us — can predict or change it.
4. The winner withdraws
The prize is credited to the winner inside the contract and claimed with Withdraw. A broken recipient can never block the lottery.
The fee is taken only from what you win
The platform fee is charged on the money won from other players — never on your own stake. The winner always gets at least their stake back.
Example with a 10% fee. You stake 100 tUSDT, another player stakes 5 tUSDT.
- If you win: 100 + 5 − 10% × 5 = 104.5 tUSDT
- If they win: 5 + 100 − 10% × 100 = 95 tUSDT
Stack: several winners
A Stack draw has a fixed number of seats at a fixed price, and pays several prize places — by default 50 seats × 20 tUSDT with 55% / 28% / 17% of the pool for 1st / 2nd / 3rd place. Every place is drawn with its own verifiable random number from the seats that have not won yet, so each seat has the same chance for every place, and one player with several seats can win more than one place.
Full table: 50 seats, pool 1 000 tUSDT, 10% fee on profit, one seat each.
- 1st place: 550 − 10% × (550 − 20) = 497 tUSDT
- 2nd place: 280 − 10% × (280 − 20) = 254 tUSDT
- 3rd place: 170 − 10% × (170 − 20) = 155 tUSDT
A player with many seats who wins a lower place can receive less than they paid in total — the prize of a single place is fixed, the fee never makes it smaller than that player's stake.
Safety rails built into the contract
- At least two players are needed. If only one player joins, there is no draw: the full stake is returned without a fee.
- If the randomness oracle does not answer within 24 hours, anyone can cancel the draw and every player gets a full refund.
- The owner cannot touch player funds. They can only pause new stakes and set the parameters (fee at most 10%) of future draws.
- Withdrawals are protected against re-entrancy, and every operation has a bounded gas cost.
Current parameters
| Lottery | Draw | Fee on winnings | Stake per transaction |
|---|---|---|---|
| Speed Round | Every 1 day | 10% | 5 – 10 000 tUSDT |
| Jackpot | Pool reaches 1 000 tUSDT, or after 7 days | 10% | 5 – 10 000 tUSDT |
| Stack | 50 seats filled (prizes 55% / 28% / 17%), or refund after 7 days | 10% | 1 – 10 seats × 20 tUSDT |