Provably fair
Every GibeAway winner is picked by a public blockchain, not by us. Here is exactly how tickets are earned, how they are numbered, and how the winning ticket is drawn, so you can check any result yourself.
How you earn tickets
One ticket is one entry in the draw. The more tickets you hold, the better your odds, and your chance of winning is always your tickets divided by the total.
Host giveaways
- Join the giveaway to start tracking. Only activity from the moment you join until the giveaway ends counts.
- Use the host's code on the partner site, when the giveaway offers a code bonus, to earn its tickets.
- Reach wager or deposit milestones to earn each milestone's tickets. Your progress updates about every minute.
Monthly and weekly giveaways
- Every ticket you earn in a host giveaway also adds one bonus ticket to your balance.
- Spend bonus tickets to enter the monthly or weekly draw. Each bonus ticket spent is one ticket in that draw.
- You can add more tickets at any time before the draw closes.
How tickets are numbered
Tickets are numbered from 1 in the order they were earned. Each award takes the next block of numbers, so the full ticket list can be rebuilt from the award history at any time. For monthly and weekly draws, each time someone spends bonus tickets they take the next block of numbers in the same way.
| Player | Award | Tickets | Numbers |
|---|---|---|---|
| Alex | Used the host's code | 1 | #1 |
| Sam | Hit the $50 wager milestone | 3 | #2 to #4 |
| Alex | Hit the $250 wager milestone | 8 | #5 to #12 |
| Jordan | Used the host's code | 1 | #13 |
Example only. Alex holds 9 of the 13 tickets, so Alex has a 9 in 13 chance of winning.
How the winner is drawn
- 01
The giveaway closes
At the end time we run one last progress sync, then freeze the entries. No tickets can be added, removed, or reordered after this point.
- 02
We commit to a future block
At the same moment we record a block number on the EOS blockchain about 120 blocks (roughly 60 seconds) ahead of the current one. That block does not exist yet, so nobody, including us, can know its hash.
- 03
The block becomes final
We wait until that block is produced and becomes irreversible, meaning it can never be changed or replaced on chain.
- 04
The hash picks the ticket
The block's hash is turned into a roll between 0 and 1, and the roll lands on exactly one ticket. Whoever holds that ticket wins.
The formula
roll = parseInt(sha256(blockHash).slice(0, 13), 16) / 16^13 winningTicket = floor(roll × totalTickets) + 1
We take the SHA-256 hash of the block hash, read its first 13 hexadecimal characters as a number, and divide by 1613. That gives a roll from 0 up to (but never reaching) 1. Each ticket owns an equal slice of that range, so every ticket has exactly the same chance.
Worked example
- Block hash
- 1eccf29f4e80863535d2d452dcbfedcb460699796991dfbd3a5d5f6b4db6601d
- First 13 characters
- sha256(...) starts with eb3e4f16f951e
- Roll
- 0.9189195090378415
- Winning ticket
- floor(0.9189195090378415 × 76) + 1 = #70
Why it can't be rigged
- The ticket list is frozen first. Tickets are locked before the deciding block exists, so nobody can adjust them once the outcome is knowable.
- We don't choose the randomness. The block hash comes from the EOS network, which we do not control, and the block number is fixed before that block is produced.
- Everything is published. Each ended giveaway shows the block number, block hash, roll, winning ticket, and total tickets, with a link to the block on a public EOS explorer.
- Anyone can recompute it. The formula is standard and deterministic. Use the calculator below or any SHA-256 tool to get the same answer.
Check a result yourself
Every ended giveaway's page shows its block hash and total tickets in the draw result. Copy them into the calculator to recompute the winner.