Fairness

How Provably Fair Giveaways Work (And Why It Matters)

June 18, 2026 · By Brad Perry · 7 min read

Needoh prize — win a free Needoh in a provably fair giveaway

When you enter an online giveaway, you are trusting the organizer to run it fairly. But what if you did not have to trust them? What if you could verify the result yourself, mathematically, after the fact — and prove beyond any doubt that the outcome was not manipulated?

That is the idea behind provably fair giveaways. The term comes from the online gambling world, where it was developed to let players verify that casino games were not rigged. Oyays applies the same principle to a free daily sweepstakes — and in this article, I will explain exactly how it works.

The problem with traditional giveaways

In a traditional online giveaway, the organizer picks a winner and announces it. You have no way to verify that the selection was random, that the winner was not predetermined, or that the organizer did not simply pick their friend. You just have to trust them.

This is fine for most giveaways, but it creates a real transparency problem. Anyone can claim their giveaway was fair. Proving it is much harder. And when real prizes are involved — even small ones — the lack of verifiability erodes trust over time.

I built Oyays specifically to solve this problem. I wanted a giveaway where you would not have to take my word for it. Where the math itself would be the proof.

The core concept: commit-reveal

Provably fair systems are built on a cryptographic technique called commit-reveal. Here is the basic idea:

  1. Commit: Before any spins happen, the server generates a secret random seed. It publishes the SHA-256 hash of that seed — a one-way fingerprint. You can see the hash, but you cannot reverse it to find the seed. This is the "commitment."
  2. Spin: During the day, each spin is processed using HMAC-SHA256(serverSeed, sessionId + ":" + nonce). This produces a unique number for each spin. If that number is 0 (out of 0–249,999), the spin wins. The server records the result.
  3. Reveal: After the day ends, the server reveals the original seed. You can now verify two things: (1) the hash of the revealed seed matches the commitment published at the start of the day, and (2) the HMAC result for any spin ID matches what was recorded.

Why the commitment step is the key

The commitment step is what makes the whole system work. Because the hash is published before any spins happen, the server cannot change the seed after seeing the results. If it tried to, the hash would not match, and anyone could detect the fraud.

Think of it like a sealed envelope. Before the game starts, I write down the answer and seal it in an envelope in front of you. After the game, I open the envelope. You can verify that the answer I wrote down matches what actually happened — and you know I could not have changed it after the fact because you watched me seal it.

The SHA-256 hash is the cryptographic equivalent of that sealed envelope. It is mathematically impossible to find a different seed that produces the same hash. So if the revealed seed matches the published hash, you know the seed was not changed.

Needoh squishy toy — the daily prize in Oyays provably fair giveaway

How HMAC-SHA256 generates each spin result

HMAC-SHA256 is a cryptographic function that takes two inputs — a key and a message — and produces a 256-bit output. On Oyays, the key is the daily server seed and the message is your session ID combined with your spin nonce (a sequential number that increments with each spin).

The output is a 256-bit number. We convert this to a number between 0 and 249,999 using rejection sampling (to avoid modulo bias). If the result is exactly 0, the spin wins. There is one winning value out of 250,000 possible values — odds of exactly 1 in 250,000.

Because the function is deterministic — the same inputs always produce the same output — you can recompute any spin result yourself after the seed is revealed. You do not need to trust our server. You can verify it with any HMAC-SHA256 tool.

HMAC-SHA256(serverSeed, "sessionId:nonce") → hex → integer mod 250000

How to verify your own spin on Oyays

After each day ends, visit the fairness page and paste your Spin ID. We will show you:

  • The server seed for that day (revealed after the day ends)
  • The SHA-256 commitment hash (published before any spins)
  • Your session ID and nonce for that spin
  • The computed HMAC result
  • Whether the result was a win (result === 0) or a loss

You can also recompute it yourself using any HMAC-SHA256 tool. If the result matches what we recorded, you know the spin was fair. If it does not match, something is wrong — and you should contact us immediately.

Why this matters for online giveaways

Provably fair systems represent a fundamental shift in how online giveaways can work. Instead of asking participants to trust the organizer, they give participants the tools to verify the outcome themselves. This is not just a nice-to-have — it is the difference between a giveaway that is trustworthy and one that merely claims to be.

As online giveaways become more common, I believe provably fair systems will become the standard. Participants will increasingly expect to be able to verify results, and organizers who cannot provide that verification will lose credibility.

Oyays is built on this principle from the ground up. Every spin is verifiable. Every result is recorded. The math does not lie.

Brad Perry, founder of Oyays

Written by

Brad Perry

Founder, Oyays · New York, NY

Brad is the founder of Oyays, a free daily sweepstakes that gives away a Needoh squishy toy every single day. He built Oyays because he believes giveaways should be transparent, verifiable, and genuinely fun to enter. Learn more about Oyays →