All docs
Drawing Winners
Managing Instant Winners
Pre-assigned winning ticket numbers, verifying instant-win claims, awarding prizes or credit.
Instant winners get a different treatment from headline-draw winners — they’re flagged during ticket purchase, not at end-of-comp. The Winners admin lets you track and fulfil them just like regular winners, but a few patterns are worth knowing.
How instant wins are detected
At competition creation, the platform generates random winning ticket numbers based on your instant-win percentage. These live in the prizes table, one row per pre-seeded winner. When a customer purchases tickets, the assigned ticket numbers are checked against the pre-seeded list — any match creates a winners row with win_type = 'instant'.
What the customer sees
- Generic competition type: confetti + a toast on the checkout success page with the prize.
- Scratch / Sky Run reveal types: the win is hidden until the customer completes the game (or hits the X skip). The toast then appears.
- Cash + physical prizes show in their
/account/orders/<id>with status “pending fulfilment” until you mark them paid. - Credit prizes are added to
credit_transactionsat win time. Effectively zero-effort fulfilment.
Where to manage them as the operator
- /admin/winners with the filter instant in the URL — shows every instant winner.
- /admin/reports/instant-winners for the higher- level view: count, total value, paid vs pending split.
- /admin/payouts shows only the unpaid ones in a work queue you can clear weekly.
Common questions
Why is one winner showing as ‘refused’?
Customers can refuse a prize from /account/orders/<id>. The win stays on record for audit, but no payout owed.
Why didn’t my customer win when they had the lucky number?
Each instant-win prize is single-use. If ticket #247 is flagged as an instant winner and customer A buys it, customer B can never buy that ticket. The flag is consumed at the moment of win.
Can I add an instant-win prize mid-competition?
Yes — from /admin/comps/<id> click Add prize and choose a ticket number from the unsold pool. Bumps your generosity without restarting the draw.
Related: Managing Payouts · Add Instant Wins.
