VFW Nevada 50/50 Raffle Log in Buy tickets
DEMO draw — for testing only

Verify: BP interrupt+alternate 89hbjj

Conducted by BP Test VFW Dept of Nevada 89hbjj · drawn Nov 5, 2026 1:09 PM PST

Winning ticket
#1
of 2 eligible tickets · prize $5.00
  • ✓ The ticket list below matches the fingerprint frozen when sales closed (after payments were reconciled)
  • ✓ The revealed secret matches the fingerprint published before sales opened
  • ✓ Recomputing the drawing gives the same winning tickets
SelectionTicket · prize · status
1 #2 · prize 1 · not eligible — replaced
2 (alternate for 1) #1 · prize 1 · winner
DrawingDRW-001663
Eligible tickets (M)2
Eligible set fingerprint412a4789b02cad19bacb029f5c8ec8e9b115375d82b97df1d6b15997a8e70e01
Sales closed2026-11-05 21:08:13 UTC
MethodGBC-5050-v3 · UNCERTIFIED
Published fingerprint97be0208df0a6f8bb7cff2e54377fa8db7537bc738e01a66039afd2e6c9cb4fb
Revealed secret77d3dce57f29abb8d20f969c2357ecb6c7421fe3754dea26504975df95d47e8a
drand round6616064
drand randomnesse4921cb1bba122b05c78b17f15bfbaf9594a5d01d10a8daea4cc494603b9dc72
Check it yourself (Python 3)
import hashlib, hmac
seed = bytes.fromhex("77d3dce57f29abb8d20f969c2357ecb6c7421fe3754dea26504975df95d47e8a")
assert hashlib.sha256(seed).hexdigest() == "97be0208df0a6f8bb7cff2e54377fa8db7537bc738e01a66039afd2e6c9cb4fb"
ref = "DRW-001663"
# Eligible ticket numbers frozen after sales closed and payments were reconciled
ranges = [(1, 2)]
setHash = hashlib.sha256("\n".join(f"{a}-{b}" for a, b in ranges).encode()).hexdigest()
assert setHash == "412a4789b02cad19bacb029f5c8ec8e9b115375d82b97df1d6b15997a8e70e01"
m = sum(b - a + 1 for a, b in ranges)
randomness = "e4921cb1bba122b05c78b17f15bfbaf9594a5d01d10a8daea4cc494603b9dc72"  # from the drand round link above
limit = ((1 << 48) // m) * m
used = set()
for rank in range(1, 2 + 1):   # selection 1, then alternates / further prizes
    c = 0
    while True:
        part = f"{rank}|" if rank > 1 else ""
        msg = f"GBC-5050-v3|{ref}|{m}|{setHash}|{randomness}|{part}{c}".encode()
        v = int.from_bytes(hmac.new(seed, msg, hashlib.sha256).digest()[:6], "big")
        c += 1
        if v >= limit or (v % m + 1) in used:
            continue
        k = v % m + 1
        used.add(k)
        break
    for a, b in ranges:
        if k <= b - a + 1:
            print("selection", rank, "ticket", a + k - 1)
            break
        k -= b - a + 1
# (a prize raffle with "one prize per person" also skips a buyer's other tickets — the server applies that rule from the frozen data)

Contact us

What is it about?

Never include card numbers. We reply by email, usually within one business day.