DecentraLotto

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

Current parameters

LotteryDrawFee on winningsStake 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