FairBreaks
Randomness by drand, verified in the browser

Proof your break was

Lock your buyer list before the randomness exists. Let a public beacon nobody controls pick the teams. Hand every buyer a receipt they can check from their phone in one tap.

fairbreaks.app/r/d105ca45
FairBreaksReceipt

2024 Prizm Football Hobby

@cardshop · Whatnot · Random teams

Locked

drand round in 30s · 4e5309ae

  1. 1cardshark·
  2. 2cardshark·
  3. 3mike_d·
  4. 4jenny_collects·
  5. 5rip_city·

Works with any live platform

  • Whatnot
  • eBay LiveLive
  • TikTok ShopTikTok Shop
  • Fanatics LiveLive
  • Live
  • TikTok Shop
  • Live
  • Live
  • TikTok Shop
  • Live
Why FairBreaks exists

Buyers see less and less of how a break is decided

The list, the order and the spin all happen on the seller's screen. When something goes wrong nobody can check. That's why FairBreaks exists.

The wheel proves nothing

The seller picked the list, the order, and when to spin. A randomizer on screen is a promise, not evidence.

Chat receipts do not survive

Screenshots get cropped. Names get edited. A dispute a week later turns into "trust me" in DMs.

Oversells get argued

When there are more entries than teams, who missed out is decided on the seller's screen. Nobody can check that it was random.

Trust fills spots

Breakers who can show their process sell out faster and keep repeat buyers. Fairness should be visible, not promised.

How it works

Lock the list

Paste your buyers from the platform export or chat. FairBreaks hashes the list and publishes the hash before any randomness exists.

locked4e5309aebe4e12de…
BuyerQtyEntries
cardshark21, 2
mike_d13
jenny_collects34, 5, 6
rip_city17

Randomize with drand

Your break is bound to the drand round that lands 30 seconds after lock. Nobody can pick it, predict it, or re-roll it.

Lock 18:29:02+30 sRound 32404003

drand quicknet · round 32404003

6794d31824bc73283ac95b2b3435d3504177d4e251a0906ca0e1cc9583e93d58

BLS signature verified

Every buyer verifies

One tap on the receipt recomputes the hash, the drand signature and the shuffle in the buyer's own browser.

Verified fair

Computed in this browser

  • Locked before the randomness existed
  • Commitment matches the revealed salt
  • drand randomness is genuine
  • Re-running the shuffle gives this result

Show it on stream

An OBS browser source lands each team on a name, then ends on the verified mark and the receipt link.

2024 Prizm Football Hobby

Verified by FairBreaks
  1. 1cardsharkBills
  2. 2mike_dEagles
  3. 3jenny_collectsChiefs
  4. 4rip_cityLions
On stream

The reveal is the show

Add one browser source to OBS. It shows the locked badge and countdown while the room fills, lands each team on a name one at a time, and ends on the verified mark with the receipt link. Drawn from the same public data as the receipt, so it cannot be faked.

  • 1920×1080, transparent background
  • Updates live, nothing to click during the stream
  • Private overlay URL per break, receipt URL for chat

2024 Prizm Football Hobby

drand round 32404003 · 81d9eba6

Verified by FairBreaks
  1. 1cardsharkBills
  2. 2cardsharkRavens
  3. 3mike_dEagles
  4. 4jenny_collectsChiefs
  5. 5rip_cityLions
  6. 6newguy49ers

fairbreaks.app/r/d105ca45

OBS browser source

Why not just roll a die

Randomness nobody controls, with a timestamp

round …

drand is a public randomness beacon run by the League of Entropy, independent operators including Cloudflare, Protocol Labs and university labs. Every 3 seconds they jointly sign a new value. No single member can predict or bias it, and anyone can verify the signature.

FairBreaks binds your break to a round that does not exist yet when you lock. The hash of your buyer list is public first, the randomness arrives 30 seconds later, and the shuffle is a fixed function of both. Change one name and the hash breaks. Change the round and the signature fails. Change the result and the shuffle disagrees.

The full spec fits on one page. Read the algorithm

Pricing

Free to run fair. Pay for the polish.

One disputed break costs more than a year of Pro.

FAQ

Questions breakers ask

The buyer list was hashed and published before the drand round that seeded the shuffle existed, the round's signature checks out against the drand public key, and re-running the shuffle from those two inputs gives exactly the published result. All of it is recomputed in the reader's browser.

No. Receipts are public links. Anyone can open one and tap Verify, no sign-in, no app.

No. The receipt contains everything needed to recompute the result, and the randomness comes from drand, not from us. The Verify button runs in the buyer's browser and fetches the round straight from the drand network. Our server could vanish and the receipt would still check out.

A locked break is immutable in the database and its drand round is fixed at lock time. There is one result per lock. A new break is a new receipt with a new hash, and the old one stays public.

The shuffle decides at random which entries get no team, never entry order. The receipt shows those rows as "no team" so you can refund or re-run in the open. Unsold teams are listed as unclaimed.

Yes, as a lock. There is no randomness step, but the receipt proves the list of picks was fixed at a given time and not edited afterward.

Any. FairBreaks does not connect to the platform; you paste the buyer list. Whatnot and eBay exports parse as-is, and one name per line works everywhere else.

Yes. Every break has an OBS browser-source overlay: a locked badge with a countdown, then teams landing on names one by one, then the verified mark and the receipt link. 1920×1080, transparent.

When sealed-case capture ships. Shop records the case being opened on camera and ties that footage to the receipt, so buyers can see the product was sealed. Until then, Pro has everything else.

Yes. Cancel from the dashboard and you keep access until the end of the period you paid for. Your receipts stay public and verifiable either way.

Lock it before you rip it

Free while we are in beta. Paste, lock, randomize. Your next break can have a receipt.