Skip to content

Transparency

Check any draw yourself

Every ORVETTA draw publishes the numbers needed to repeat it. You do not have to trust us: run the same calculation and you get the same winner. The plain-words version is How winners are chosen.

What we publish, and when

  1. 1.When a draw opens

    A commitment: the SHA-256 hash of a secret 32-byte seed. The seed cannot change later without the hash failing to match.

  2. 2.When entries close

    The pool file, listing every valid entry number and its random reference, and the SHA-256 hash of that file.

  3. 3.At the same moment

    The number of the future drand round that will choose the winner. It is always a round produced after the freeze.

  4. 4.When the draw runs

    The revealed seed, the drand randomness and signature, the version of the random number generator and the fingerprint of its code, the winning entries, and the full manifest with its hash.

  5. 5.If a technical failure stops a draw

    What failed and when, the original commitment and round, and the new ones. Two members of staff record it, the entries do not change, and nothing is drawn twice.

The calculation

  1. The generator is HMAC_DRBG with SHA-256, defined in NIST SP 800-90A. It starts from the 32-byte server seed, the 32-byte drand randomness, and the draw reference with the 32-byte pool hash.
  2. Each number is 8 bytes from the generator. A number is used only if it is below the largest multiple of the number of entries that fits in 8 bytes, so every entry has exactly the same chance. Otherwise the next number is taken.
  3. The remainder after dividing that number by the number of entries picks a position in the pool file. Further winners, if any, are picked from the entries that remain.

drand is a public randomness service run by the League of Entropy, a group of independent organisations. Each round is signed, and anyone can check the signature.

Two ways to check

In your browser. Open any finished draw and press Check this draw. Your browser downloads the pool file and the manifest and repeats every step. Nothing is sent back to us.

With an independent script. We publish a separate verifier written only with Node.js built-in modules. It fetches the randomness straight from drand.

Download orvetta-verify.mjs

node orvetta-verify.mjs D1234ABC

A recorded result is never edited. If a winner turns out not to be eligible, we publish a separate correction record that points to the original result.

Recent draw records

All draw results

No draw has closed yet. Records appear here as soon as a draw's entries are frozen.