We believe raffles should be verifiable, responsible, and built on trust you can check, not trust you're asked to give.
We lock in every draw before tickets go on sale and publish proof. Anyone can check the result wasn't rigged.
Set your own daily, weekly and monthly caps. Lowering is instant; raising has a mandatory 24-hour cooling-off period.
Every winner is published on the site. No anonymous draws, no hidden results.
Most raffle sites ask you to trust them. They pick a winner behind closed doors and tell you the result. You have no way to know if the draw was fair, if it was tampered with, or if the winner was chosen before you even bought your ticket.
We don't think that's good enough. Every draw on PixelComps is provably fair, a fancy way of saying you don't have to take our word for it. You can check the result yourself, and so can anyone else.
Imagine we shuffle a deck of cards inside a sealed glass box. The moment a raffle is created, before a single ticket is sold, we lock the box and stick a unique tamper-proof seal on the front for everyone to see.
We can't reach in and reshuffle without breaking that seal, and if we tried, you'd know instantly, because the seal wouldn't match any more. When the raffle ends, we open the box in full view. You get to check the seal was never broken, and you can re-run the exact same shuffle to confirm the winners are real.
That's all “provably fair” means: the result is locked in up front and proven honest by maths, not by trust.
We lock in the draw before tickets go on sale. The instant a raffle is created, our system generates a secret “shuffle key”, a long, random number that decides the order winners come out in. It's created up front and kept sealed away, so nobody (not even us) can know who will win.
We publish a fingerprint of that key straight away. Right on the raffle page we show a unique “fingerprint” of the secret key. A fingerprint can't be worked backwards, so it gives nothing away about who'll win, but it belongs to that one key and no other. Because it's public from the start, we can't quietly swap the key later: a different key would have a different fingerprint, and everyone can see the original.
After the draw, we reveal the key, and you can replay it. Once the winners are picked, we publish the actual secret key. Anyone can then do two checks: confirm its fingerprint matches the one shown before tickets went on sale (proving we never changed it), then feed the key into the same shuffle and watch it produce the exact same winners (proving the draw wasn't rigged).
What this means for you: the winners were effectively decided the instant the raffle opened, and locked somewhere we couldn't touch them, even though no one could know who they'd be. If we ever cheated, the maths simply wouldn't line up, and anyone in the world could prove it. You don't have to trust us. You can check.
The plain-English version above leaves nothing out, the “fingerprint” is a SHA-256 hash and the “shuffle key” is a cryptographic seed. Here is exactly how a draw is run, so you can reproduce any result for yourself.
The Fisher-Yates shuffle is a well-known, mathematically proven algorithm for producing an unbiased random permutation of a list. Every possible ordering has an exactly equal probability of occurring. It's the gold standard for fair shuffling and is used in cryptography, gaming, and statistical sampling.
We combine it with SHA256 hashing to make the shuffle deterministic, given the same seed, it always produces the same result. This is the key to verifiability.
Build the ticket pool. All confirmed tickets are collected and sorted by their internal ticket number in ascending order. This is the starting list.
Commit the seed at creation. When a raffle is created we generate 32 cryptographically random bytes (256 bits) using PHP's random_bytes(), sourced from the operating system's secure random number generator, as a 64-character hex seed. We immediately publish its SHA-256 hash (the commitment) on the raffle page and keep the seed itself secret until the draw, so the outcome can't be predicted in advance but the seed can't be swapped either.
Shuffle using SHA256. We iterate backwards through the list. For each position i, we compute SHA256(seed + ":" + i), extract a number from the hash, and use it to determine which element to swap with position i. This produces a completely deterministic shuffle.
Pick the winners. After shuffling, the first N elements of the list are the winners (where N is the number of prizes). Position 1 is the first element, position 2 is the second, and so on.
Reveal and publish. The revealed seed, its commitment hash, the algorithm name, total ticket count, and draw timestamp are permanently displayed on the raffle page. Confirm the seed hashes to the commitment that was shown before the draw, then replay the shuffle, anyone can verify.
Before the draw, the raffle page's "Provably Fair Verification" section shows the commitment (the seed's SHA-256 hash). After the draw it also shows the revealed seed and the ticket pool size. First confirm SHA256(seed) equals the commitment that was published before the draw, that proves the seed was never changed. Then copy the seed and ticket count into the script below and run it; the output will match the winners shown on the page.
Save this as a .php file and run it with php verify.php, or use any online PHP sandbox.
The verification script works with internal ticket numbers (1, 2, 3, ...) which are assigned sequentially as tickets are purchased. These are distinct from the randomised 5-digit display numbers you see on the site (e.g. #48271). The internal number determines draw position; the display number is cosmetic.
On the raffle page after a draw, we show both the display number and the winning position, so you can cross-reference.
We want you to enjoy our raffles, not regret them. That's why we've built spending controls directly into the platform, not buried in a settings page, but front and centre in your account.
Every user can set their own daily, weekly and monthly spending limits from their account page. Once set, you'll see your remaining budget on every checkout. If a purchase would exceed your cap, we block it, no exceptions, no overrides.
Making your limits stricter (lowering them or setting one for the first time) takes effect immediately. But making them less strict (raising or removing a cap) requires a mandatory 24-hour waiting period. This prevents impulsive decisions in the heat of the moment. You can cancel a pending change at any time during the 24 hours.
Every raffle has a maximum tickets per user setting. This ensures no single person can dominate a raffle by buying a disproportionate number of entries. Your current ticket count is always visible on the raffle page.
We provide direct links to support organisations on the spending limits page:
Every winner is publicly displayed on the raffle page and on our Winners page. We don't hide results. When a raffle is drawn, the winners, their ticket numbers, and the cryptographic seed are all permanently published.
We may ask winners for ID verification before processing prizes. This protects against fraud and ensures prizes go to real, eligible participants. This is stated upfront on every raffle page, not hidden in fine print.
With the winner's consent, we display winner photos on the Winners page. This helps build community trust by showing real people winning real prizes.
Some of our raffles are designated as live draw events. These raffles end at the scheduled time, but the draw itself is triggered manually, often during a live stream or event where participants can watch it happen in real time.
Live draw raffles show a "Pending Draw" status after ending, so you always know the draw hasn't happened yet. The same provably fair algorithm is used regardless of whether the draw is automatic or manual.
We show you everything we know, as it happens:
Your account is protected by industry-standard security measures:
All payments are processed securely through Cashflows, a trusted UK payment processor. We never see or store your card details, Cashflows handles PCI compliance, fraud detection, and secure card processing on our behalf.
Every transaction is recorded with a full audit trail. If something goes wrong, refunds are processed through Cashflows and your ticket counts are adjusted automatically.
We're building PixelComps to be the kind of raffle site we'd want to use ourselves: one where the draws are verifiable, the spending controls are real, the winners are public, and nothing happens behind closed doors. If you have questions about any of this, we're always happy to talk.