Freespins Overview
Freespins let you give a player a number of free rounds, at a fixed bet, in one or more games. Beexar plays them without touching the player’s wallet, and when the issue is over it reports once what the free rounds won, for you to credit.
The API follows the SoftSwiss Game Aggregator Freespins API one to one: three
calls you make — Bet/Levels,
Freespins/Issue and
Freespins/Cancel — and one callback you answer,
Freespins/Finish.
The Flow
Section titled “The Flow”sequenceDiagram
participant Operator
participant Beexar
participant Player
Operator->>Beexar: POST /api/v1/softswiss/bet/levels
Beexar-->>Operator: { bet_levels }
Note over Operator: record the issue in your ledger
Operator->>Beexar: POST /api/v1/softswiss/freespins/issue
Beexar-->>Operator: {}
Operator->>Beexar: POST /api/v1/softswiss/launcher/real (as usual)
Beexar-->>Operator: { launch_url }
Player->>Beexar: plays the free rounds, bet locked
Note over Beexar: free rounds send no /betwin and no /finish
Beexar->>Operator: POST {freespins_finish_url} { issue_id, amount }
Operator-->>Beexar: { balance }
- Bet levels.
Bet/Levelslists, per game and currency, the levels a freespin can be issued at. A level is the total bet of one round. - Issue. Record the issue in your own ledger, then send
Freespins/Issue:freespins_quantityfree rounds atbet_levelingames, for one player, untilvalid_until. - Launch. The player launches one of the games with a normal real-money launch — nothing new in the request. Beexar finds the player’s freespins and opens the game in freespins mode.
- Play. Each round costs one free spin. Your wallet sees nothing: no
/betwin, no/finish, no balance change. - Finish. When every free round has been played, or the issue expires
after at least one was played, Beexar sends
Freespins/Finishwith the total won. You credit it and answer the new balance.
Freespins/Cancel can come at any point, even while the
player is playing. A canceled issue never reaches Finish: what it won is
forfeited.
Enabling Freespins for an Operator
Section titled “Enabling Freespins for an Operator”The result of an issue is sent to a fifth callback URL, separate from the
four round callbacks: Freespins finish URL on the operator’s Callback
URLs tab in the backoffice (see API Keys & Callbacks).
A Beexar platform administrator sets it: your organization sees the field
read-only, and a change to it from your side is refused (403). To enable
freespins, or to change the URL, contact your Beexar account manager.
| Freespins finish URL | Result |
|---|---|
| Set | The operator can issue freespins |
| Empty | Freespins/Issue answers api_code 406. Bet levels, launches and the four callbacks work as before |
Issue Lifecycle
Section titled “Issue Lifecycle”| From | To | When | Finish sent? |
|---|---|---|---|
| active | finished | Every free round has been played | Yes — the total won |
| active | finished | valid_until passed after at least one round was played |
Yes — what the played rounds won |
| active | expired | valid_until passed and no round was played |
No |
| active | canceled | Freespins/Cancel |
No — the winnings are forfeited |
A round already playing when the issue expires or is canceled is played to the end. An issue that expires finishes only after that round closes, so its result includes it.
What the Player Sees
Section titled “What the Player Sees”- The game opens in freespins mode: the bet amount is locked at the issue’s bet and the remaining count is shown large on the game field itself, for example “FREE SPINS 7 / 10”, together with the amount won so far.
- Choices inside the game stay with the player — the target in dice, the risk in plinko, the cash-out in crash.
- In Candy Cash a freespin is a Classic drop: bonus buys are not offered, and everything the drop wins, the chest included, counts toward the issue.
- In Mine Cash a freespin is a base round, played to a cash out as usual: Bonus Buy is not offered, and the win counts toward the issue.
- When the issue ends, a summary shows the total won, and whether it will be paid (a canceled issue’s is not).
- A player with several issues for one game plays the one that expires first.
Which Games
Section titled “Which Games”Bet/Levels lists exactly the games that play
operator freespins. Freespins/Issue for any other game answers api_code
608 (the game plays no freespins) or 405 (your casino does not have the
game). Name games by their slug (dice), without a provider prefix: Beexar is
the provider.
The has_freespins flag in the games list
is a different thing: it marks a game with its own in-game free spins, not a
game that plays operator freespins.
All four official SDKs support freespins from version 1.2.0: the
client issues and cancels them and reads the bet levels, and the wallet server
takes an optional fifth handler method for Freespins/Finish. A wallet that
does not offer freespins needs no change.