Promotions & Bonuses
Three layers
The bonus system separates what a bonus is from how you market it from what a specific player holds:
| Layer | What it is |
|---|---|
| Bonus terms (the bonus definition) | The reusable template. Type, amount, wagering terms, contribution rules, expiry rules. |
| Promotion | The campaign a player sees. An ordered flat-banner creative rotation, copy, call to action, publication state, the rule that fires it, and which bonus definitions it issues. |
| Bonus grant | One issued bonus, held by one player, in one currency. This is the thing with a balance. |
The separation matters operationally: you write the wagering rules once as a definition and reuse it across a welcome offer, a reload campaign and a win-back, each with its own artwork and schedule. The same terms can also be paid by a streak day, a mission, a tier perk or a rewards-catalog item, through a bonus money benefit — see Benefits Catalog and Gamification & Rewards.
What you configure
Bonus terms belong to a bonus money benefit: there is no separate Bonus terms page. Create or edit them under Rewards, Benefits in the backoffice sidebar (see Benefits Catalog). The editor is a stepped form: Basics (name and type), How much, Wagering, Where it counts, Max win and Review, with the per-currency preview beside it. Editing a benefit never changes bonuses already issued from it; it applies from the next payout. Benefit changes are audited with a before-and-after snapshot.
On a definition:
- Type: deposit match or no deposit. The type is a label for reporting, with one rule: a no-deposit bonus has no deposit to compare against, so it refuses a minimum deposit
- What it pays: a fixed amount, or a percentage of the triggering deposit with an optional cap
- Wagering: a multiplier on the bonus, or on the deposit plus the bonus. A grant with no deposit behind it (a reward, a perk) wagers on the bonus alone.
- Where wagering counts — all games, one category, or one provider — with contribution rules per category or provider: slots might count 100% toward wagering, table games 10%. The most specific rule wins; a stake outside the scope counts nothing.
- How a stake contributes: by house edge (the default for new terms) or fixed by rules. See below.
- Two independent expiry timers: how long a queued grant may wait to activate, and how long a player has to clear it once active
- A max-bet cap while the bonus is active
- A max win (maximum cashout), as a multiple of the bonus or a flat amount
- A minimum deposit, for deposit promotions
Money is set once, in USD
Every money figure on a definition — the fixed amount, the cap, the max bet, the minimum deposit and a flat max cashout — is entered in USD and converted into the player's wallet currency when the grant is issued, at the live rate. One definition therefore serves every currency, fiat and crypto, with no per-currency table to keep in step.
- No rate, no grant. A non-USD wallet with no live rate gets nothing rather than a guessed amount; the offer stays available for a later event.
- Frozen at issue. The converted max bet and cashout cap are written onto the grant, so a later rate move never changes a bonus a player already holds.
- Preview before saving. The editor shows, beside the form, what the bonus would pay in every supported currency at today's rate — amount, wagering target, max cashout, max bet — and names any currency with no live rate. The preview runs the same calculation as a real grant, so the two cannot disagree.
- A zero amount is refused.
Streak days, missions, perks and catalog rewards need a fixed-amount definition: they carry no deposit to take a percentage of.
On a promotion: an ordered creative rotation, hero focal-point pickers for its banners, the CTA, publication state, its trigger and conditions, how the reward is delivered, and which benefits it hands out (up to ten stages; a deposit match is a bonus money or locked bonus benefit). A promotion is edited on its own page in tabs: Settings, Rewards, Creative, Page, Terms and Translations.
Delivery is automatic by default: the qualifying event pays at once. With a claim window (1 to 720 hours) the event instead holds the reward and the player claims it from the card, the rewards tray or the announcement; a claim left past the window pays nothing. The promotion counts as used at qualification either way.
House edge and contribution
With by house edge contribution, each stake counts toward wagering by the
game's house edge, relative to a reference edge: stake x rule weight x
min(1, game edge / reference edge). A game at or above the reference edge
counts in full; a tighter game, such as blackjack, counts proportionally less.
The contribution rules on the terms then adjust it, and a rule of 0% excludes a
game, provider or category. Fixed by rules counts the rules alone.
- Reference edge is a casino setting, 4% by default (Bonus terms card in casino settings). It is frozen on each grant, with the contribution mode, when the grant is issued.
- House edge per game is 100% minus the game's RTP. The RTP is the one staff set on the game; if none, the highest default among the game's categories; if none, the operator fallback. Out of the box the category defaults are slots 96%, table 98.5%, live 98%, crash 97%, instant win 96% and game shows 95.5%, and the fallback is 96%. All are editable under Default RTP by category in casino settings, and are starting points, not facts.
- The RTP is frozen on each round when it opens, so an edit never re-prices a round in progress, and a refund reverses exactly what was accrued.
Cash first
A stake spends the player's cash before the bonus balance, so a player with cash never touches the bonus. Every stake still counts toward wagering whichever balance funded it. A stake that draws on the bonus wins into the bonus balance; one funded by cash wins cash. This order is fixed, not an operator setting.
Cash stays withdrawable at any time. A withdrawal during an active bonus asks the player to confirm: it cancels the active bonus, removing its balance and winnings, and the cash stays. A bonus that has already met its wagering is paid out as cash first instead. A withdrawal without the confirmation is refused while a bonus balance exists.
Promotion creative rotation
A promotion's creative rotation is an ordered list of flat banners. A banner generated in the backoffice holds one scene in three shapes (square, wide and tall) and each card on the player site shows the shape that fits it. Promotions use no cutouts: a banner uploaded by hand is a single image and is shown as it is.
The player advances each promotion's rotation independently every six seconds. Changing a promotion's order therefore affects only that promotion; its creative does not synchronize with another promotion or with the page's outer carousel.
The global Generated Art library can append a retained generated draft to a promotion. Appending copies the complete set of shapes to the end of that promotion's rotation and is safe addition: it does not replace any existing row. In Promotion Detail, choosing Replace instead replaces only the selected row with the chosen draft.
Generated artifacts remain retained independently of the promotion copies created by either action. Replacing, reordering, or removing a promotion row does not delete the generated pair from the library.
The grant lifecycle
issued ──► queued ──► active ──► convertible ──► converted (to cash)
│
└────► expired / forfeited
A queued grant's wagering clock starts when it activates, not when it is issued, so waiting costs the player no wagering time.
A player holds one active bonus at a time, per currency. This is
enforced in the database, not just in application logic. Further grants sit in
queued and a job promotes the oldest one when the slot frees up.
Bonus stacking was deliberately rejected: a player has one bonus wallet balance per currency, and two concurrent grants would both be claiming the same balance with different wagering rules. Queueing is the honest answer.
How wagering clears
Every qualifying stake accrues weighted turnover against the active grant. When turnover meets the requirement, the grant becomes convertible and its balance can move to cash — automatically by a job, or by the player.
Wagering is also reversed when a round is refunded or rolled back, including a rollback that reverses a win.
Two enforcement points sit on the stake path:
- Turnover accrual — resolves whether the game is in scope and at what weight.
- Max-bet cap — a stake over the cap is declined outright, rather than allowed and then clawed back from any winnings. Declining is the fairer behaviour and the one that survives a dispute. A stake exactly equal to the cap is allowed.
What the player sees
- A Bonuses card on the wallet page: the bonus balance, a wagering progress bar (wagered of the requirement), max bet, max win, the wagering multiplier, when it expires, how many more bonuses are queued, and a Which games count panel with each category's contribution rate and the providers and games that count nothing. A How bonuses work panel explains wagering, contribution, max bet, cash first, and cancelling and withdrawing.
- A strip on the game page while a bonus is active, showing progress and what this game contributes.
- Cancel bonus, with a confirmation, removes the bonus balance and its winnings; cash stays.
- A confirmation when withdrawing with an active bonus.
Cash rewards and the locked bonus
Two newer instruments sit beside wagering bonuses. Both are paid as benefits, so they work anywhere a reward does: a promotion stage, a streak day, a mission, a perk, a box, a cohort or staff grant. See Benefits Catalog.
| Instrument | What it is |
|---|---|
| Cash reward | Cash straight into the player's wallet, no wagering, from promotional cost. Set in USD and converted at issue. |
| Locked bonus | A pot that cannot be bet. It earns, on every settled casino stake in its currency (cash- or bonus-funded), stake x house edge x release rate, and unlocks into cash when the earned amount reaches a minimum. A job pays out every two minutes. |
Locked bonus defaults are in the casino settings bonus card: a release rate of 25% of the house's expected take and a minimum release of 1 USD (a pot's last slice pays below the minimum and completes it). A benefit can set its own rate. The pot never expires, and several can be held at once, oldest first. A refund reverses exactly what the round accrued. Self-exclusion does not stop a payout already earned. Sportsbook stakes do not release a locked bonus.
A locked bonus can be a deposit-match promotion stage, as a percentage of the triggering deposit with an optional cap. Players see it as a Locked bonus card on the wallet page with the amount unlocked so far. Staff see each pot on the player record and the outstanding total on the Money page, and release cost counts as promotional cost.
Rakeback
Rakeback returns a share of the house's expected edge on what a player
stakes, whether they win or lose: stake x house edge x rate. It is paid as
plain cash with no wagering, from a vault the player claims. It is a
perk, so it applies to a tier and above, to every VIP or to
one VIP; a player matching several rakeback perks gets the highest rate, and
no perk means nothing accrues.
- Casino stakes use each game's house edge, frozen on the round. Sports stakes use one flat margin set in casino settings (3% by default).
- What earns. Settled cash stakes only. Free bets, bonus-funded rounds, voided or pushed bets, cashed-out bets and bets that carry a boost token or a featured price boost earn nothing, since the boost already gives the margin away; an accumulator boost still earns. A round that is rolled back takes its rakeback back.
- Vault. The balance accrues in USD, up to a weekly cap per player (500 USD by default, Monday to Sunday UTC). A player claims the whole balance once it reaches the minimum claim (1 USD by default); a claim is announced and appears in Transactions. Both figures sit in the casino settings bonus card.
- Responsible gaming. Nothing accrues and nothing can be claimed while a player is self-excluded or on a break.
- Players read the rules under "How rakeback works", linked from the Rewards section of the wallet, and in the site's bonus terms.
Rakeback is not costed in the tier cost panel because it varies with play.
Triggers
Promotions run on the platform's reward engine — the same one behind streaks, missions and levels — so a promotion's payout gets the engine's retry and never-twice guarantees. They fire on registration, on deposit, on a settled sportsbook bet, on a settled casino round, or manually by staff. Every promotion pays a player once. A promotion that has paid shows as Claimed on the player's card instead of its usual action, and one past its end date is finished automatically by a job that runs every five minutes.
A registration-triggered promotion pays in the promotion's currency, since a brand-new player has not yet chosen one; it must be restricted to exactly one currency, or it pays nothing. A deposit trigger can be pinned to a particular deposit — first, second, and so on. Promotions can also be limited to chosen currencies and countries; only registration carries a country today, so a country list on any other trigger admits nobody.
A settled-bet trigger takes its own qualification filters: a minimum stake, a minimum odds, and a scope limited to chosen sports or market types. Scope matches on any leg, so a multi spanning soccer and tennis qualifies for a soccer-scoped promotion — the player did bet on soccer. A settled-round trigger takes a minimum stake and chosen games. Both fire on settlement rather than placement, so a wager cannot be placed, banked and cancelled for the reward, and both are outcome-independent: a loss qualifies exactly as a win does. Void, push and refunded wagers do not qualify, because the wager was unwound and the player carried no risk, and neither do free-bet-funded bets or rounds staked from a bonus balance. Currency comes from the wager itself.
An event that would pay nothing does not use the offer up. A deposit under the minimum, a disabled definition or a currency with no rate passes over, and the player's next qualifying deposit can still earn it.
A manual promotion is fired by staff for one player; issuing it twice returns the first issue.
No opt-in
Every promotion is automatic: the qualifying event (a registration, a deposit, a settled bet or round) enrols the player and pays in the same step. There is no Opt in button and no leaving a promotion, and a deposit made at any time after the promotion goes live can earn it. Because a player no longer picks between two deposit offers, staff cannot have two active or paused deposit promotions that overlap, meaning their dates, deposit numbers, currencies and countries all meet; the save is refused and names the other promotion.
A region can still require something before a promotion pays (verified identity, for example). That rule now guards the payout: a deposit made before the player meets it is passed over and does not pay later. The default rule requires nothing.
Promotions and the switches
Promotions are not behind the gamification switches (tiers, streaks, missions, VIP club): each has its own status and window, so a welcome offer keeps paying with gamification off. The casino promo row switch in casino settings only decides whether the casino lobby opens on the promotion carousel; live promotions stay on the Promotions page either way and keep paying. All promotion reads and payouts sit behind the self-exclusion gate.
Promotion pages, terms and languages
Every promotion has its own page on the player site, built from an ordered list of blocks. Generated blocks read the promotion's rules when the page is served, so they stay right when the rules change: a hero, the key facts (reward, minimum deposit, wagering, max bet, claim window, dates), how to take part, the rewards, the games, the player's progress, related promotions and the terms. Staff can add rich text, highlights, FAQ and image blocks, in each site language with English required. The Page tab previews exactly what players get. An ended promotion keeps its page, marked as ended and hidden from search engines, and the promotions list has an Ended tab for the last 60 days.
Terms are written from the rules, not typed. The window, countries and currencies, how to qualify, delivery, and each reward's conditions (match, cap, minimum deposit, wagering, contribution, max bet, max win, free bet and boost limits, locked bonus, XP) are rendered into the player's language, with fixed general clauses. Staff can add their own text under them. Each version of the terms that a live promotion could pay under is kept, and every payout records which version was in force. The card's T&Cs link goes to the terms block on the promotion page unless a custom link is set.
Promotion copy can be translated into the other site languages on the Translations tab. Staff can fill missing fields automatically; machine-written text is marked until a person edits it, and a missing translation falls back to English and never blocks publishing.
What editing a promotion does not do
Nothing is retroactive. Finishing a promotion does not touch grants already issued under it. Editing a definition does not change grants already issued from it — each grant captures its terms at issue time, including the converted max bet and cashout cap. A player who accepted an offer keeps the offer they accepted.
This is intentional. It also means an error in a definition must be corrected per-grant for players who already hold one.
Scope & Roadmap
Implemented. The three-layer model; a backoffice bonus-definition editor with money set once in USD, converted at issue and frozen onto the grant, and a per-currency preview; category and provider scoping with contribution weights; wagering on bonus or deposit plus bonus; dual expiry timers; the queued-grant lifecycle with database-enforced single-active; edge-weighted turnover accrual with a reference edge and per-game RTP; cash-first stakes and a withdrawal confirmation; player wagering progress, per-game contribution and cancel, in the wallet and on the game page; the locked bonus; cash rewards; max-bet enforcement that declines rather than claws back; automatic conversion when wagering clears; expiry and stranded-balance reaping; registration, deposit, settled-bet, settled-round and manual triggers on the shared reward engine; automatic enrolment with an overlap guard on deposit promotions; claim windows; promotion pages, generated terms and translations; banner management with focal points; rakeback; non-retroactive edits.
Partial. Bonus grant enforcement covers the casino only. A sportsbook stake by a player holding an active grant accrues no turnover and is subject to no max-bet cap, while the grant's expiry clock keeps running.
This is a limit on bonus grants specifically, not on promotional play generally. Free bets and bet boosts — separate instruments with no wagering requirement — fund or enhance sportsbook bets and are fully enforced there. See Gamification & Rewards.
A promotion stage pays one benefit: bonus money, a locked bonus, a cash reward, a free bet, a bet boost or XP. A mystery box is not a stage; boxes reach players through level-ups and grants.
A hand-picked game list on a definition, and contribution rules for single games, can be set through the API; the editor shows them read-only.
A country restriction only works on registration promotions, the one event that carries a country today.
Not built. No targeting inside a promotion beyond currency, country and minimum amount; targeted offers go through cohorts and benefit audiences. No A/B testing. No stacked grants (deliberately). No free-spin drip schedules — "free spins" is a type label on an ordinary bonus. No loyalty points: XP and tiers are a progression, not a spendable currency.
A leaderboard does ship — ranking players by turnover or net profit over a day, week, month or all time, with opt-in identity, behind its own switch — but it is a ranking only. There is no prize pool and no ranking-conditioned reward, so it is not a tournament engine; rewarding a finishing position is a manual staff grant today. See Gamification & Rewards.
No bonus-abuse controls — no multi-account linking, no bet-pattern detection against wagering requirements — which is a real exposure given a full bonus engine.