Prize draws / Rules
Rules
The rules, in full.
Every rule for a round is fixed and published before that round opens. Nothing on this page can change while entries are being accepted.
Who can enter
- You must be 18 or over.
- Bet entries must be placed on stake.com. Stake.us is a different platform under different rules and is not eligible.
- Your Stake profile must be public — not hidden, not ghost mode. If we cannot see who placed a bet, we cannot award a prize to them. This is not a penalty: a hidden profile releases your bet so you can make the profile public and submit the same bet again.
- Employees of Hit Engine and their immediate households cannot win a prize.
- You are responsible for whether a prize draw is lawful where you live. For bet entries, age and jurisdiction are already established by Stake's own checks — a qualifying bet cannot exist unless Stake permitted you to place it. The free postal route is not covered by those checks and carries its own eligibility statement.
How a bet becomes a ticket
Land a multiplier at or above the round's published threshold, on a game in the round's published eligible list, with a stake at or above the published minimum. Then submit the bet ID.
One qualifying bet is one ticket. Bet size buys nothing. Above the minimum stake, a large bet and a small one are worth exactly the same. If we want to change who a round favours, we do it by publishing a different minimum stake before the round opens — never by weighting tickets by how much someone wagered.
Each round publishes a per-person ticket cap, a total ticket ceiling and an entrant ceiling. All three are visible before entries open. The cap is a promise to everyone else in the round.
Entering free
There is a postal route with identical odds and no purchase, wager or spend of any kind. Full instructions are on the free entry page. Free entries appear in the published entry list alongside bet entries, flagged as free, and are drawn by exactly the same process — so the equal-odds promise is something you can check rather than something you have to take on trust.
Postal entries must arrive by the round's published postal deadline, which is never later than the moment entries close. A late envelope cannot arrive after the entry list is frozen, so it can never disturb the odds anyone was promised.
Eligibility is judged on when you submit
A bet qualifies for the round that is open when you submit it, not the round that was open when you placed it. So an older qualifying bet can be entered into a current round.
We would rather key on bet time, and we are being straight with you about why we cannot: Stake's public bet page does not show a timestamp. Rather than invent one or guess, we publish the rule we can actually enforce. Two things follow from it, and both are load-bearing:
- the per-person cap is mandatory in every round, because the window cannot do the limiting; and
- a bet reference is spendable once, ever — see below.
A bet can only ever be used once
Bet references are deduplicated globally, across every round we will ever run. Submitting the same bet twice does not produce a second ticket, in this round or a later one.
There is one exception, and it exists to protect you rather than us. A rejection either spends the bet or releases it, and the split is on a single principle:
A bet is spent only when we rendered a decision about that bet's own qualities. Our outage, our cap, our ceiling, or a profile setting are not decisions about the bet — so none of them destroy your eligibility.
These spend the bet, permanently
| Reason | What you are told |
|---|---|
not_found | We could not find that bet on Stake. Check the number, and use a bet you placed on stake.com. |
wrong_provider | That bet is not on a Hit Engine game. |
wrong_game | That bet is on a game that is not ours. |
game_not_in_raffle | That game is not in this round. Check the eligible games listed above. |
below_multiplier | That bet landed below this round's multiplier threshold. |
below_min_bet | That bet was under the minimum stake for this round. |
unsupported_namespace | Stake.us bets are not eligible. Only stake.com. |
voided_by_operator | This entry was voided under the published rules. |
These release the bet — you keep it
| Reason | What you are told |
|---|---|
hidden_user | That Stake profile is hidden, so we cannot confirm who placed the bet. Make your profile public and submit again. |
cap_reached | You have reached this round's ticket cap. Keep this bet — it is still usable in a future round. |
raffle_full | This round hit its published ticket ceiling. Your bet is untouched and usable next round. |
raffle_user_ceiling | This round hit its published entrant ceiling. Your bet is untouched. |
unresolved_at_seal | We could not confirm this bet before the round closed. That is on us — your bet is released and usable next round. |
lease_expired | Verification timed out. Your bet is released; please submit it again. |
source_budget | Too many different accounts submitted from this connection today. |
round_closed | This round is closed. Your bet is untouched. |
How entries are checked
Every bet ID is checked by a person. Nothing is verified while a round is open: entries are collected for the whole open window, then checked in one pass after entries close. Your entry showing as pending for days is normal, and is not a sign anything is wrong.
The checker reads three things off Stake's public bet page — the username, the game, and the multiplier — and enters them. They do not decide whether an entry qualifies; the published thresholds do, applied automatically to what they entered. Nobody at Hit Engine can wave through a bet below the threshold or exceed a published cap, because nobody at Hit Engine is the one applying those rules.
If we cannot confirm a bet before the round's verification window ends, that entry is released, not rejected. That is our failure, not yours, and your bet stays usable in a later round.
The timeline
Every round publishes these instants before it opens, and they do not move.
- Commitment published — the hash of the draw seed is posted somewhere we do not control.
- Entries open.
- Entries close — submissions stop. The postal deadline is at or before this moment.
- Verification ends — every submitted bet has been checked, or released.
- Seal — the entry list is frozen, hashed and published in full.
- Beacon — a drand round published at least 30 minutes after the seal.
- Draw — the seed is revealed and the winners and reserves are published.
- Claim deadline.
How the winner is chosen
The claim we are making is narrow and checkable: the winners were determined by randomness that did not exist when the entry list was frozen, and the entry list cannot have been altered afterwards.
Two mechanisms, and you need both. Either alone is theatre.
- Commit–reveal. Before entries open we publish
sha256(seed)to a venue we do not control, so it carries a timestamp we cannot forge. We cannot swap the seed after seeing the entries. - An external beacon. The draw uses drand quicknet, a public randomness network we have no part in, on a fixed three-second schedule. The round is chosen when the raffle is created, and lands at least 30 minutes after the seal — so we cannot know it while the entry list can still change.
The computation, in full:
entry_commit = sha256( one line per entry, joined by newline,
ordered by ticket_index ascending:
"<ticket_index>:<bet_ref>:<lowercase username>" )
key = "he-draw-2" + "|" + hex(server_seed) + "|" + hex(drand_randomness)
msg_i = hex(entry_commit) + "|" + draw_ordinal + "|" + i i = 0,1,2,...
h_i = HMAC-SHA-256(key, msg_i)
idx_i = int(h_i) mod ticket_count
Walk i upwards collecting idx_i, skipping any index already picked and any
index whose entrant is already picked. Stop at prize_count + reserve_count,
or when every distinct entrant has been picked.
Ranks 0 .. prize_count-1 win. The rest are published reserves, in order. All 32 bytes of each HMAC are used as one big integer, which puts modulo bias around 2⁻²⁴⁵ — small enough that there is no caveat here to explain away.
Check a draw in your browser Command-line verifier
Prizes, payment and claiming
- The prize is paid as a Stake tip to the account that placed the winning bet. That account is the identity proof — nobody can claim someone else's win, because the payment follows the bet, not whoever submitted it.
- Before paying, we re-check the winning bet and compare the username to the one recorded at verification. If it has changed, payment stops and the case is reviewed by hand.
- Prizes are not transferable and there is no cash alternative unless the round says otherwise.
- Winners have the round's published claim window to respond. After it passes, the prize goes to the next published reserve.
- Any tax on a prize is the winner's responsibility.
Reserves, and why we never redraw
Reserves are published at the same moment as the winners, in order. If a prize is forfeited or unclaimed it passes to the next reserve.
This matters more than it looks. A redraw is a second roll of the dice, and a studio that can redraw can keep rolling until it likes the result. Publishing the reserves up front removes that lever entirely: the whole ranked sequence is fixed by the same computation, at the same time, and anyone can recompute it.
A redraw can only happen in circumstances that void a whole round, is recorded by bumping a published draw ordinal, and produces a visibly different sequence. It can never be quiet.
Void, disqualification and cancellation
- We may void an entry that breaks these rules, and may void a batch that shows coordinated abuse — multiple accounts controlled by one person, or automated mass submission. Voiding is recorded and auditable.
- We may void an entire round if the draw's integrity cannot be established — for example if the seed commitment cannot be shown to predate the beacon. If we void a round we say so publicly, and say why.
- A round can be paused. Pausing stops new entries; it never removes an entry that was already accepted.
- We will not void an entry for being unlucky, for winning, or for winning more than once across different rounds.
What we keep
For each entry: the bet reference, the Stake username, the game, the multiplier, and when it was verified. We never store how much you staked, what you were paid, or in what currency. The minimum-stake check is evaluated and the amount discarded — only the yes-or-no verdict is kept.
Usernames are masked on public pages while a round is open, and published in full when the entry list is sealed. Full detail is in the privacy policy.
Changes to these rules
This page is version-controlled. Changes take effect for rounds that open after the change — never for a round already accepting entries. A round's own parameters are frozen at creation and published before it opens.
See also: the formal rules document, free entry, privacy, responsible gambling.