Full bonus-system showcase (selector sequences + funds flow + free rounds + cashback)

interactive demo
A guided replay of a real E2E run: tenant creation, deposit, wager placement, sequential bonus routing, free rounds settlement, and PERIOD_END cashback.
source: local← All demos
HomeAdmin
Configured plugins for this demo
what's enabled (and why)
This walkthrough is driven by a tenant configuration that enables specific plugins and strict routing. Use this section as the “expectations contract” before stepping through events.
Bonus plugins
welcome_bonusdeposit_match_bonuswelcome_free_rounds_bonusperiodic_cashback_bonus
Reward plugins
cash_bonuswallet_free_roundsperiodic_cashback
Fact plugins
deposit.count.lifetimeuser.wagering.weekly
Wagering plugins
simple_multiplier
Bonus selector
configurable • or = [["welcome_bonus","deposit_match_bonus"]]
  • OR-of-sequences: only the current ACTIVE stage in each sequence receives wager events for requirements tracking.
  • SelectionCriteria is enforced: activityId/categories/daysOfWeek must match the wager event.
Completion handler
configurable • defaultAction = CONVERT_TO_CASH
  • When a bonus completes, remaining bonus funds are converted to cash (default action).
What to expect
sanity checklist
Deposit creates bonus instances
expected
DepositSettled grants welcome_bonus + deposit_match_bonus cash bonuses, and welcome_free_rounds_bonus entitlement.
Wager directly debits funds
expected
WagerPlaced directly deducts the stake from the player balance.
Selector sequencing
expected
While welcome_bonus is ACTIVE, wager events should progress it; after it COMPLETES, wager events progress deposit_match_bonus.
Completion conversion
expected
When welcome_bonus completes, completion handler CONVERT_TO_CASH moves remaining bonus cash into the cash account.
Free spins settlement
expected
FreeRoundsUsed settles and posts converted winnings into user:<id>:bonus:free_round_winnings (policy ALL_WINNINGS here).
Weekly cashback
expected
PERIOD_END reads user.wagering.weekly fact (stakes/wins) and grants periodic cashback to cash (creditTo=cash).
Actions
Replay the run step-by-step
Glossary
Bonus cash
A separate ledger bucket (`user:<id>:bonus:cash_bonus`). Stakes are typically funded from bonus first when an active bonus exists.
Selector OR-of-sequences
`bonusSelection.selector.config.or = [[welcome_bonus, deposit_match_bonus]]` routes wager events to the current ACTIVE stage of the chain.
Welcome
Welcome
This guided demo replays a real end-to-end run. Use the buttons on the left to "act" as the player and observe requests, responses, balances, and bonus state.
Raw report
(from the same run)
Open HTML sequence report →
File: Showcase_selector_sequences_1768212346707_6mc4.report.html