Verify Draw · Sweepstakes #1Drand · Re-runnable

Run the Draw in Your Browser.

This page fetches the published entry ledger and the drand beacon signature for round 21312 directly from drand.love, then runs the same selection algorithm our server ran. If the result matches the entry the site announced, the draw is verified. You never have to trust us — only drand.love (whose randomness is published on a fixed public schedule we cannot influence) and the JavaScript on this page (which you can inspect via your browser’s devtools).

Sweepstakes
#1
Drand round
21312
Site says winner entry_id is
bac59eca-6d81-465c-9b30-ba05329700ab
Announced winner
@timmytabs
In Plain English

Think of every entry in Sweepstakes #1 as one numbered raffle ticket — each $1 paid and each free mail-in entry is a ticket. To pick the winner, we used a single public random number that the worldwide drand network published as its round 21312. No one at Pixul could choose or change that number, and we locked in which round we’d use before it existed.

The steps below re-do that exact draw right here in your browser and check it lands on the same winner. If anything had been tampered with, they turn red.

Step 01Download Ledger

In plain terms: We grab the public list of everyone's raffle tickets — the exact same file you can download yourself.

Fetching the anonymized entry ledger CSV from this site's public endpoint. Same file anyone can download from /api/sweepstakes/642372b8-da13-418c-b327-31dad9edcaca/ledger.csv.
Step 02Fetch Drand Beacon

In plain terms: We ask the worldwide drand service for the exact random number it published — pulled straight from them by your browser, not from us.

Asking drand.love directly for round 21312’s signature. This request goes straight from your browser to drand — we never see or touch it.
Step 03Verify Beacon Signature

In plain terms: We check that random number really came from drand and wasn't faked or swapped on its way to you — like verifying a tamper-proof seal.

Checking the beacon’s BLS12-381 signature against the pinned drand chain public key, in your browser. If drand.love — or anything between you and it — altered the round, the signature, or the previous_signature, this step fails red. The chain public key is hardcoded into the page source, so it cannot be swapped without us shipping a new bundle.
Step 04Hash the Seed

In plain terms: We blend that random number together with this sweepstakes' ID to get one big unpredictable number — like a thorough shuffle before the draw, so no two sweepstakes land the same way.

We line up drand’s random number, a | divider, and this sweepstakes’ ID into one exact piece of text, then run it through SHA-256 — the same public hashing standard that secures HTTPS and Bitcoin. It isn’t something Pixul invented and it has no secret settings: the same text in always produces the same 64-character result, and changing a single character changes the whole thing beyond recognition.

The seed has two parts joined by a |: drand’s random number (the randomness from step 2 — the half no one can control) and this sweepstakes’ ID (642372b8-da13-418c-b327-31dad9edcaca) — a fixed public label the database assigned when this sweepstakes was created, long before the draw. That ID only stops two different sweepstakes from ever landing on the same winner off the same drand round; it can’t bias who wins, because the random half comes entirely from drand and the ID was locked in before that number existed.

Step 05Turn the Hash Into One Ticket

In plain terms: We turn that big number into one winning ticket number, then find which entry owns it. More entries = more tickets = better odds — exactly like a raffle.

Now we convert that 64-character hash into a single winning ticket, in three exact moves — each shown with the real numbers so you can follow every one.
Step 06Compare to Announced

In plain terms: We check the winner this math picked is the exact same person the site announced. If they match, the draw was honest — and you just proved it yourself.

Checking whether the entry_id our algorithm produced equals the entry_id the site announced as the winner.
How does this work?

drand is a public randomness beacon — the same one used to settle high-stakes cryptographic lotteries. Every 30 seconds, drand’s network of independent operators jointly publishes a random number that no single participant can predict or control.

Before each sweepstakes closes, we commit to a specific future drand round number. That commitment is stored on the sweepstakes row in our database, and the audit log captures the exact timestamp. When that round publishes its randomness, we feed it (along with the sweepstakes id) through SHA-256 and use the digest as a uniform random selector across the entry ledger, weighted by each entry’s entry_count.

Because we commit to the round number before the entropy is known, we cannot “cherry-pick” a favorable round. Because drand’s randomness is public, anyone can independently fetch it. Because the selection algorithm is deterministic and published, anyone can re-run it — including this page, which runs the algorithm entirely in your browser using your machine’s WebCrypto.