Skip to content

Prize Configuration

Lucky-draw games (Spin the Wheel, Gachapon, Grid Box, Scratch Card, Card Pull, and Claw Machine) use a prize configuration system. This guide explains how to set up, manage, and monitor prizes.

Each prize slot must be one of five types:

TypeWhat the player getsFulfillment
Voucher SetA unique code pulled from a managed setAutomatic (tracked)
VoucherA fixed code string (e.g., “SAVE20”)Shown directly to player
ItemA named physical/digital prizeManual (you fulfill)
External LinkA URL where the player redeems separatelyPlayer follows link
No Prize”Try again” — no reward givenN/A

Prize configuration

  • Voucher Set — Best for campaigns with many unique codes (one per winner). Codes are auto-assigned from your inventory and tracked.
  • Voucher — Use for a single shared code that all winners see (e.g., a universal discount code).
  • Item — Physical merchandise, free products, or service upgrades that require manual fulfillment.
  • External Link — Drive traffic to a landing page, partner offer, or redemption portal.
  • No Prize — Essential for balancing probabilities. Without “try again” slots, every play results in a win.

When creating or editing a lucky-draw game:

  1. Open the Prizes section
  2. Click Add Prize Slot
  3. Configure each slot (see fields below)
  4. Reorder slots using the Move Up / Move Down buttons

Example: How to set up an item prize in the game:

FieldDescriptionRequired
NameDisplay name shown to the player (max 50 chars)Yes
DescriptionAdditional details (max 200 chars)No
TypeOne of the 5 prize types aboveYes
Win Chance (%)Probability of winning this slot (1–100%)Yes
QuantityTotal available (leave empty for unlimited)No
Min ScoreMinimum score required to be eligibleNo
Voucher SetWhich set to pull codes from (voucher set type only)Conditional
External URLRedemption link (external link type only)Conditional
ImageCustom prize image (max 10 MB, resized to 256×256)No

The order you arrange prizes in the editor directly controls how they appear in the game (e.g., wheel segments, grid cells). Use the Move Up/Down buttons to arrange them. Display order does not affect win probability — only the chance percentage matters for odds.


All prize chances across a game must total 100% or less.

  • Each slot must have a chance greater than 0%
  • The sum of all slots cannot exceed 100%
  • DailyPlay validates both in the editor and server-side before saving
SlotPrizeTypeChanceQuantity
1$50 Gift CardVoucher Set5%10
220% OffVoucher Set10%50
310% OffVoucher15%Unlimited
4Try AgainNo Prize20%Unlimited
5Free ShippingVoucher10%Unlimited
6Try AgainNo Prize15%Unlimited
7Visit Our BlogExternal Link15%Unlimited
8Try AgainNo Prize10%Unlimited
Total100%
CapsulePrizeTypeChanceQuantity
Gold$50 VoucherVoucher Set2%10
Silver$20 VoucherVoucher Set8%50
Bronze$10 VoucherVoucher Set20%100
Blue10% OffVoucher30%Unlimited
Green5% OffVoucher25%Unlimited
GrayTry AgainNo Prize15%Unlimited

For games that combine skill with luck, you can set a minimum score per prize slot. Players must achieve at least that score before the prize becomes eligible in the draw.

How it works:

  1. Player finishes the game with a score
  2. Server filters prizes — only those where min_score ≤ player's score are included
  3. Weighted random draw occurs among eligible prizes only

Example:

PrizeChanceMin Score
Grand Prize5%1000
Runner Up15%500
Consolation30%0
Try Again50%0

A player scoring 750 is eligible for Runner Up, Consolation, and Try Again — but not Grand Prize.

Minimum score configuration


Set a total quantity for high-value prizes:

  • The remaining_quantity decrements each time the prize is won
  • When it reaches 0, the prize is excluded from future draws
  • Remaining prizes’ probabilities auto-adjust proportionally

Leave quantity empty for prizes you can always fulfill:

  • Digital codes, voucher sets with large inventories, external links
  • No inventory tracking needed
  1. The depleted prize is skipped during the draw
  2. The system redistributes probability among remaining eligible prizes
  3. If all prizes are depleted, the game returns no prize

Each prize has an is_active flag:

  • Active — Included in draws, shown with a green badge in the dashboard
  • Inactive — Excluded from draws, shown with a gray badge

Use this to temporarily disable a prize without deleting it (e.g., pause a promotion, swap prizes mid-campaign).


DailyPlay uses a server-side cryptographic draw — prize selection cannot be manipulated from the frontend:

  1. Game calls the draw endpoint with the game ID
  2. Server fetches all active, eligible prizes (with inventory and score checks)
  3. Weighted random selection picks a winner based on chance percentages
  4. A signed token (HMAC-SHA256) is generated containing the result
  5. Token is valid for 30 minutes
  6. When the player claims, the server verifies the token signature before awarding
Prize TypeWhat happens on claim
Voucher SetNext available code assigned, voucher marked claimed
VoucherFixed code string returned to player
ItemPrize name displayed, player fills claim form
External LinkURL returned, player redirected to external redemption
No Prize”Try again” message shown

Every prize claim triggers outbound integrations if configured:

  • Zapier, Braze, Mailchimp, HubSpot, Salesforce, Segment, or custom webhooks
  • Event payload includes: game ID, player UUID, score, prize name, prize type, voucher code

Learn more in Connections.


Access from Organization → Prizes to monitor all prize activity.

MetricDescription
Total PrizesAll configured prize slots
Active PrizesSlots currently eligible for draws
Total WinsPrizes awarded all-time
Wins TodayPrizes awarded in the last 24 hours
Vouchers AwardedVoucher codes distributed

Each game shows:

  • Number of prize slots configured
  • Total chance percentage (green if 100%, red if over)
  • Collapsible table with all prizes: name, type, chance %, quantity remaining, active status
  • Quick edit link to the game editor

Recommended distribution for player engagement:

TierChance RangePurpose
High-value2–10%Creates excitement and aspiration
Medium15–30%Keeps players feeling rewarded
Low-value25–40%Frequent small wins
No prize20–40%Creates anticipation for retry
  • Upload custom images for each prize — players see them in the game UI
  • High-value prizes with compelling images drive more engagement
  • Images are resized to 256×256px automatically
  1. Play the game multiple times in preview mode
  2. Verify all prize types display correctly (codes, links, names)
  3. Check that voucher set prizes actually deliver a code
  4. Confirm quantities decrement properly
  5. Test with scores below and above min_score thresholds (if used)

  1. Check that the linked voucher set still has available codes
  2. Verify the set hasn’t expired
  3. The prize may have hit its quantity limit — check remaining inventory
  • Verify totals equal 100% in the editor
  • Small sample sizes will naturally appear skewed — test with 50+ plays
  • If some prizes are depleted, remaining prizes effectively have higher chances
  1. Confirm the prize is active (not inactive/disabled)
  2. Check that remaining_quantity isn’t 0
  3. Ensure the game is published (not in draft mode)
  4. If using min_score, verify the player’s score meets the threshold

The draw token is valid for 30 minutes. If a player waits too long between seeing the result and claiming, the token expires. This is rare in normal gameplay.