The infrastructure behind prize promotions.

From entry to prize fulfilment.

LuckLogic runs everything behind an on-pack or instant-win campaign: secure codes and QR entries, prize rules, winning logic, claims and audit. Your agency keeps the frontend, the brand experience and the client relationship.

Planning a large campaign? Talk to us.

What LuckLogic replaces

Stop rebuilding the promotion backend for every campaign.

What agencies build again and again
  • A code generator and a print file
  • Winner logic nobody can audit
  • Locks so the last prize is not won twice
  • Rate limits against code guessing
  • A claims spreadsheet
  • End-of-campaign numbers for the client
  1. Configure

    Campaign, prize tiers, release rules and entry method.

  2. Integrate

    Call the API from your backend, embed the widget, or use the hosted page.

  3. Run

    LuckLogic validates entries, assigns prizes and creates claims.

  4. Reconcile

    Claims, reporting and audit in one place when the campaign ends.

Integration

API-first, with faster options when you need them.

The core productAvailable now

API

Your backend submits each entry. LuckLogic decides the outcome, allocates the prize and returns a claim token. Any stack, any frontend, full control over every screen.

const res = await fetch('https://api.lucklogic.dev/v1/redemptions', {
  method: 'POST',
  headers: {
    authorization: `Bearer ${process.env.LUCKLOGIC_SECRET_KEY}`,
    'content-type': 'application/json',
  },
  body: JSON.stringify({
    campaign_id,
    code: 'KM7RX4Q9CN',
    participant_id: 'crm_12345',
  }),
});

// outcome is 'win' or 'lose'
const { outcome, prize, claim_token } = await res.json();
Convenience layer

Embeddable widget

One script tag on the campaign page, styled to the brand. No backend work.

Fast-launch option

Hosted redemption page

A branded page per campaign, hosted by LuckLogic. Print its URL or QR on pack and you are live.

Winning logic

Winners are decided at entry, not at the printer.

Codes are not winners.

A printed code is a valid entry, nothing more. No code on a pack is pre-selected to win, so a leaked print file or a photographed carton reveals nothing. The outcome is decided on our servers when the entry is redeemed.

Secure by design

Codes identify valid entries. They do not contain the winning outcome.

Controlled prize distribution

Winning moments release prizes according to campaign rules, not to whoever arrives first.

Auditable from entry to claim

Every entry, win and claim is recorded, so every prize can be accounted for.

Example campaign

Four prize tiers, four different rules.

A twelve-week summer promotion on two million drink packs. Small prizes flow all summer. The trip waits for the final week. Each tier has its own fulfilment method and security level.

Summer Refresh 2027

1 Jun – 23 Aug2,000,000 codes5,111 prizes
Prize Quantity Release rule Fulfilment Security level
Free drinkinstant 5,000 Spread evenly across all twelve weeks Digital voucher Auto-fulfil
Merchandise packmerch 100 About eight a week, all summer Shipping Manual approval
Smartphonephone 10 From week five, spread evenly In-store pickup ID check at pickup
Trip for twomain 1 Final week only Manual handling Brand approval
Free drink5,000 moments
Merchandise100 moments
Smartphone10 moments
Trip for two1 moment
week 1week 4week 8week 12
Security

A prize is money. We treat every entry like a payment.

Promotions attract abuse the moment they go live: scripted guessing, retried requests, shared codes and races for the last prize. LuckLogic stops each one on the server, where the frontend can't be tampered with.

Server-side prize logic

Winning rules never reach the browser or the pack. Nothing to reverse-engineer.

Brute-force resistance

Codes from a 28-character alphabet, per-participant and per-IP limits, an invalid-code budget and optional captcha on public entry.

Safe retries

Send an Idempotency-Key and a repeated request returns the original result, never a second one.

Duplicate-redemption protection

Each code redeems exactly once, even when two requests submit it at the same instant.

Atomic prize allocation

Prizes are locked and assigned in one database transaction. The last prize can only be won once.

Audit log and signed webhooks

Campaign changes, redemptions and claims are logged. Webhook deliveries are signed and retried.

Beyond the API

For the people around the campaign.

Brand Portal

Give the client visibility without giving up control.

Brand users can monitor campaign performance, claims and inventory while campaign configuration stays with the agency.

LuckLogic Verify

Verify prizes at pickup.

Staff scan the claim QR, see whether it is valid and mark the prize collected. No access to the rest of the campaign.

Pricing

One price per campaign. Put it in the client budget.

No seats, no percentage of prize value, no usage invoice after the campaign.

SandboxFreeUp to 5,000 test codes
Regional€950per campaign · up to 250,000 codes
EnterpriseFrom €5,000per campaign · higher volumes

Running multiple campaigns every year? Ask about agency pricing.

Build the campaign before you buy anything.

Create a Sandbox, configure prize tiers and test the complete entry flow. Upgrade only when you are ready to go live.

No card required.