Giveaway Proof
Verify that a giveaway was conducted fairly using cryptographic proof. Every draw uses deterministic randomness - the same inputs always produce the same winners.
Looking up giveaway...
-
Participants
-
Winners
-
Ended
Winner IDs
Cryptographic Verification
Participants Hash
Verifying
Decodes the stored participant list and verifies its SHA-256 hash matches the recorded value. Proves the participant list was not altered after the draw.
Draw Seed Hash
Verifying
Recomputes the draw seed from its components and verifies the SHA-256 hash. Proves the RNG seed was derived honestly from the participant list, giveaway ID, and timestamp.
Proof Data
Participants SHA-256
Draw Seed
Draw Seed SHA-256
Numeric RNG Seed
Participants (Base64)
Show decoded list
| # | User ID | Weight |
|---|
Verify It Yourself
Run this Python script locally to independently reproduce the entire draw. Requires numpy.
How It Works
- All participants and their weights are sorted by User ID and serialized to a canonical JSON format.
- A SHA-256 hash of this list is computed, creating a tamper-proof fingerprint of who entered.
- A draw seed is built by combining the participants hash, giveaway ID, and exact draw timestamp.
- The seed is hashed again with SHA-256 and converted to a 32-bit number for the random number generator.
- NumPy's PCG64 RNG uses this seed to perform a weighted random selection without replacement.
- The same seed always produces the same winners - anyone can verify this independently.