How It Works

1

Cryptographic Seed

Before each draw, the server generates a cryptographically secure random seed using PHP's CSPRNG (random_bytes). This makes prediction impossible.

2

Fair Shuffle

Numbers 1–10 are shuffled using the Fisher-Yates algorithm powered by random_int() — not the weaker mt_rand(). The first 4 numbers are drawn.

3

Verifiable Hash

A SHA-256 hash is computed from the seed and winning numbers: SHA-256(server_seed:winning_numbers). This hash is stored permanently.

4

You Can Verify

After any game, you receive the server_seed and result_hash. Recompute SHA-256(seed:numbers) yourself and confirm it matches — no server needed.

The Algorithm

server_seed = CSPRNG(32 bytes) → hex string (64 chars)

winning_numbers = Fisher-Yates shuffle([1…10]) using random_int() → first 4, sorted

result_hash = SHA-256( server_seed + ":" + winning_numbers )


Example:

server_seed = a3f8e1c2d4…

winning_numbers = 2,5,7,9

input = "a3f8e1c2d4…:2,5,7,9"

result_hash = SHA-256("a3f8e1c2d4…:2,5,7,9")

The SHA-256 function is one-way: it is mathematically impossible to reverse-engineer the seed or modify the numbers after the hash is computed. Your result is locked the moment it is drawn.

Verify Any Round

Enter a Round ID to look up its seed and hash, then verify the result with our client-side tool — no data is sent to the server.

Look Up by Round ID

Manual Verification Tool

Public Audit Log

Last 20 draws — anyone can look up and verify any round.

# Date Drawn Match Prize SHA-256 (truncated)
No rounds played yet.