Campaign
A campaign is one scheduled draw: hourly, daily, weekly or monthly, at a time in its own time zone. It has a prize table, a number of winners per drawing, a payout wallet and an optional guarantee. It’s addressed by its slug, the last part of its public page address.
Drawing
Each run of the schedule is a drawing. Drawings are created about two days ahead. Each has:
drawAt: when the draw happens.
cutoffAt: the deadline for the winner list, from a few minutes to a day before drawAt.
number: its place in the campaign, one per schedule slot. A paused day leaves a gap.
Winner
A winner is a string you choose, up to 200 characters, such as your internal user id. It can carry a display name and avatar for the campaign page. Those are shown only and are never part of the proof.
Winner ids are public in each draw’s proof. Use opaque ids, not emails or usernames, since a guessable value can be checked against the proof.
Cutoff
Until the cutoff you can replace the list. At the cutoff it locks and its fingerprint is recorded. A drawing with no winners by its cutoff is flagged and waits until the cutoff is extended and the list arrives.
Prize table
A prize table splits a fixed number of rolls, such as 100,000, between prizes. Each winner rolls once, and the roll picks the prize. See Prize tables.
Guarantee
A campaign can guarantee at least one prize of a set size each period, for example $100 every 30 days. When a period ends without one, you pick which of that period’s winners gets it. See Guarantees.
Payouts
After each draw, the prizes below the campaign’s large-prize threshold go to your wallet as one USDC transfer. Prizes at or above it are held and paid by Prizerail by hand. You then pay your winners.