Prize draws
A prize draw is a vault that holds takoGRAM. Everything the deposits in it earn goes into a prize, and a winner is drawn every period. Your deposit itself is never part of the prize: you can always take back what you put in.
How it works
Section titled “How it works”- You send takoGRAM to the vault. It records your deposit in Gram at the current rate.
- While you are in, the yield of your deposit goes to the prize instead of to you.
- Every period the draw closes and picks winners using public randomness.
- The prize is added to the winners’ deposits, so they keep playing with it.
- When you leave, you get your deposit back in full, plus anything you won.
Your odds
Section titled “Your odds”Your chance is proportional to your deposit: 1,000 Gram in a draw with 10,000 Gram in total wins the first prize 10% of the time. Splitting a deposit into many small ones changes nothing.
Deposits are locked for at least one period. Without the lock someone could enter right before a draw, take part of a prize others’ deposits earned, and leave. With it, entering late costs a full period of yield, which is exactly what the draw is worth on average.
Prizes and the jackpot
Section titled “Prizes and the jackpot”Each draw can have up to five winners who split the prize. Part of every prize goes to a jackpot that rolls over: each draw the first winner has a fixed chance to take it, otherwise it grows. On testnet a draw runs every hour with three winners, 20% of each prize goes to the jackpot, and the jackpot is won one draw in ten.
Draws for your chat
Section titled “Draws for your chat”Any Telegram chat can have its own draw. Its vault address is derived from the chat id, so the bot and the app find it without any registry, and creating it twice gives the same vault. See Telegram.
Why nobody can cheat
Section titled “Why nobody can cheat”Winners come from drand, a network of independent organisations that publishes a random number every 3 seconds. Nobody, including the Tako team, validators or the person closing the draw, knows a number before drand publishes it.
- When a draw closes, it fixes a drand round about a minute in the future. Deposits and withdrawals stop until it is revealed.
- The contract checks drand’s signature on that round itself, on chain, against drand’s public key.
- The winning ticket is the randomness modulo the total deposit. Its owner is the first winner.
Check a draw yourself
Section titled “Check a draw yourself”Open any draw in the explorer and press Check against drand. Your browser downloads the signature from drand and repeats both checks: the BLS signature against drand’s public key, and that the vault’s randomness is the hash of that signature. It also shows which ticket won. See Randomness for the math.