How PromoProof Creates a Verifiable Giveaway Draw

PromoProof locks the final entry list before using public randomness from Drand, then records the inputs, method, result, and supporting evidence so the draw can be checked afterwards.

A random winner picker can display a name or number. A verifiable giveaway draw keeps enough information to check where that result came from.

PromoProof does this by saving the giveaway record, locking the final entry list, committing to public randomness that is not yet available, and recording how that randomness was turned into the selected winner and reserve winners.

The aim is not to make a giveaway harder to run. It is to make the result easier to explain.

What does verifiable mean?

For a PromoProof draw, verifiable means that the important parts of the process are recorded and connected:

  • the rules and giveaway details;
  • the exact final list used for the draw;
  • the time that list was locked;
  • the random value used;
  • evidence that the random value is authentic;
  • the selection algorithm and version;
  • the selected winner positions; and
  • the final certificate and evidence pack.

The same recorded inputs and selection method should lead to the same selected positions.

Private entrant information does not need to be published for the public parts of the process to be checked.

1. Save the giveaway details and rules

The process starts with the giveaway record.

The agency saves the promoter, prize, opening and closing dates, entry route, eligibility information, winner-selection date, and the rules being used.

The applicable rules version is saved with the giveaway. This gives the agency a clear starting point when checking the entry list and deciding who should be included.

2. Upload and check the entry list

The agency uploads the list supplied by the promoter or campaign channel.

Duplicates, invalid rows, and entries that do not meet the stated rules can then be identified. Where an entry is removed, the reason can be recorded.

PromoProof does not decide whether somebody is eligible. The agency or promoter makes that decision using the rules for the giveaway.

3. Lock the exact final list

Once the checks are complete, the final ordered list is saved and locked before the winner is selected. PromoProof’s current workflow is designed to save the final list and the winner-picking settings before the public randomness used for the result becomes available.

A cryptographic hash is created for the locked list.

A hash works like a digital fingerprint. If a row is added, removed, reordered, or changed, the resulting fingerprint will be different. This helps show whether the list being checked later is the same list that was used for the draw.

The hash does not reveal the entrants’ names, email addresses, or other private information.

4. Commit to a future Drand round

PromoProof uses Drand as an external source of public randomness.

Drand is a distributed randomness beacon. It produces collective, publicly verifiable random values at fixed intervals using a network of participating nodes and threshold cryptography.

Before the selected random value exists, PromoProof records a future Drand round that will be used for the draw.

This order matters.

The entry list and selection settings are locked first. The random value arrives afterwards. The agency, promoter, entrants, and PromoProof therefore do not choose a random value after seeing which result it would produce.

5. Retrieve and verify the random beacon

When the committed round is published, PromoProof retrieves the Drand beacon for that specific round.

Drand rounds include a cryptographic signature created from contributions made by the network. The signature can be checked against the public information for that Drand network. The random value is derived from the completed signature.

PromoProof verifies the beacon rather than treating an API response as automatically trustworthy. Drand’s official client guidance similarly recommends verifying every value obtained from the network.

The Drand network, chain information, round number, signature, and randomness used for the draw are saved in the giveaway record.

6. Turn the randomness into a winner

The verified random value is combined with the locked draw information and processed using a recorded selection algorithm.

That algorithm converts the random input into positions in the final ordered entry list. The method is designed to avoid giving some list positions a greater chance than others.

Where more than one winner or reserve is required, selections are made without selecting the same entry twice.

The algorithm version is saved with the draw. This means the result is not explained only by saying that a random winner picker was used. The record identifies the method that converted the public randomness into the selected positions.

7. Create the certificate and evidence pack

After the selection, PromoProof creates a draw record containing the information needed to explain the result.

The evidence pack can include:

  • the promotion name and reference;
  • the saved rules version;
  • the final eligible-entry count;
  • the final-list hash;
  • the time the list was locked;
  • the Drand network and chain information;
  • the committed Drand round;
  • the beacon randomness and signature;
  • the selection algorithm and version;
  • the winning and reserve positions;
  • the recorded winner references;
  • the draw certificate; and
  • the public verification record.

The original entry list and detailed eligibility information remain in the private workspace. The shareable proof can explain the draw without exposing every entrant’s personal details.

What can be checked afterwards?

The record can be used to check that:

  • the entry list was locked before the selected randomness was available;
  • the saved list still produces the recorded hash;
  • the Drand round is the round that was committed to;
  • the beacon signature is valid;
  • the recorded randomness belongs to that round;
  • the stated algorithm was used; and
  • the same inputs produce the same selected positions.

An authorised person with access to the private entry list can also confirm which entries occupied those positions.

This separates two different questions: whether the public randomness and selection process are genuine, and whether the promoter made the correct eligibility decisions when preparing the list.

Why use an external randomness source?

If a winner picker creates its own private random value, the user may have to trust the provider’s statement about what happened behind the screen.

Using a future Drand round creates an external reference that can be retrieved and verified separately. PromoProof records which round was chosen before its random value was available and keeps the beacon evidence after it is published.

Drand supplies the public randomness. PromoProof provides the giveaway workflow, locked records, deterministic selection, certificate, and evidence pack around it.

Drand does not run, approve, or endorse the giveaway.

One important limit

A verifiable selection process does not confirm that every entry was valid or that the wider promotion complied with every applicable rule.

The promoter and agency remain responsible for the rules, entry collection, eligibility decisions, advertising, winner contact, and prize delivery.

PromoProof provides evidence software. It records the list and decisions supplied by the people running the giveaway and provides a way to verify how the winner was selected from that final list.

About this guidance

PromoProof publishes practical operational guidance for agency-run, free-to-enter giveaways. It is not legal advice, and promoters remain responsible for their campaigns.

Last reviewed 03 August 2026.

Put it into practice

Lock the final entry list before the randomness exists, then keep the complete proof behind the result.

PromoProof gives agency teams one clear record from giveaway setup to winner certificate.