Skip to content

Bonus Buy ​

A bonus buy lets the player pay a fixed multiple of the bet to go straight to a game's bonus — a guaranteed feature round instead of waiting for one to come up in play. Eight games sell one. A buy is a feature you switch on per game (after Slotty Labs has enabled bonus buys for your casino); it is never on by default.

Every bought round is an ordinary, recorded, provably fair round of the same game: one bet (the price), the game's own draws, the game's own payout rules on the base bet. The prices are set by the game maths; see each game's page for the figures behind them.

Games and options ​

GameOption (buy)Dialog titlePrice (× the bet)What the player gets
Slotty Slotsfree-spinsBuy Free Spins12.45×10 free spins on all 20 lines; the price is 12.45× the total bet (every line)
Popworkscolor-rushBuy Color Rush32.80× / 32.90× / 33.60× / 33.80× (rtp-92 / rtp-94 / rtp-96 / rtp-97)Color Rush with 10 free spins and no paid spin; the round pays at most 500× the stake
3D City: NeighborhoodsskylineBuy Skyline Build10×A build that is always the Skyline district or higher
Fox'n Flockgolden-flockBuy Golden Flock2.65×The first catch opens the Golden Flock (4 banked catches at ×3); the rest of the run plays as usual
Shatterextreme-breakBuy Extreme Break17×One Extreme strike that always drops at least one token
Strikeblaze-strikeBuy Blaze Strike10×One Long shot strike that always lights at Blaze or higher
Overloadbreach-surgeBuy Reactor Breach — Surge mode36×A guaranteed Reactor Breach in Surge mode
Overloadbreach-meltdownBuy Reactor Breach — Meltdown mode94×A guaranteed Reactor Breach in Meltdown mode
Ricochetspecial-tightBuy Special Round — Tight5×One Tight shot that is sure to unlock a special round
Ricochetspecial-scatterBuy Special Round — Scatter7×One Scatter shot that is sure to unlock a special round
Ricochetspecial-wildBuy Special Round — Wild20×One Wild shot that is sure to unlock a special round

The prices above are the ones the engines sell (the certification evidence records them per RTP variant, and a test holds this table to it). Only Popworks' price depends on the RTP variant you run. The option ids are what a round request names (buy) and what records and webhooks report.

Who can sell a buy ​

A buy is sold in a round only when all of these hold:

  1. Slotty Labs has enabled bonus buys for your casino, and you have switched the buy on for the game (Dashboard → Bonus features; see Operator Dashboard).
  2. Your licence permits it. Bonus buys are sold only under MT (Malta) or CW (Curaçao) licences — and only when every licence your casino plays under is MT or CW. A casino with any other licence sells none, in any money mode. Never under a GB licence.
  3. In real money, the player's country is known and permitted. Send the player's country with create-token. A real-money session without a country never sells a buy, and a buy is not sold to a player in GB, UK, DE, NL, DK, CA, PT, SE, ES, IT or US (a region code follows its country). This list follows legal advice and can change.
  4. The price fits your limits (below).
  5. The game can pay what the buy plays for at this bet: an option whose gate is above your maximum-win multiplier is not offered, and a stake at which your maximum win per round would cut the bonus short is refused (the refusals say which).

Play money (demo sessions) follows the same switches and licence rule; the country is checked in real money only. Bonus buys are not yet available through aggregators.

Turning a buy off stops it at the next round start. A bought round already under way finishes, and free spins already bought are still played and paid — also for a player you suspend in the meantime (see Responsible Gaming).

The price and your limits ​

The price is debited as one bet: ⌈bet × price multiple⌉ in the currency's smallest unit (for Slotty Slots, the bet is the total bet on all 20 lines). The most one bet may debit — the max debit — is, per game and currency:

  1. your buy limit for the game, if you set one (it may be higher or lower than your max bet), otherwise your max bet for the game;
  2. lowered to the jurisdiction max bet of your licence when that is lower — a buy limit can never exceed it;
  3. lowered to a bonus or session bet limit of the player when one applies and is lower.

The largest bet that can buy an option is ⌊max debit ÷ price multiple⌋ (the game info reports it per option as maxBaseBet). A request above it is refused before anything is debited (30701, bonus_buy_max_bet, with maxDebit, maxBaseBet and which limit applied). At the platform default max bet of 1,000.00, for example, a 17× buy accepts bets up to 58.82 and a 10× buy bets up to 100.00.

Slotty Slots also needs your maximum win per round to cover 500× the total bet (each bought free spin pays up to 500× that bet): above ⌊max win ÷ 500⌋ the buy is refused (20001, max_win_cap). Its free-spin wins are ×1.25 and, like every payout, rounded down to the currency's smallest unit; the exact effect of that rounding on the buy's return is published per bet per line in the Slotty Slots page.

A buy is always paid from real funds: it is refused when it would be paid from bonus funds, it never uses a free-spin or free-chip offer, it never contributes to a progressive jackpot, and it never counts toward wagering.

Game info and the buy request ​

The games' own clients do this for you; it matters only if you build your own client or monitoring.

  • GET /api/v1/games/:gameId (in the player's session) answers bonusBuy: { allowed, reason, maxDebit, limit, options[] }. Each option has id, name, description, fine (the complete fine print the buy dialog shows), priceHundredths (1700 = 17×), minCapHundredths (the lowest effective cap the option is played at, where it has one), mode or setting where the option belongs to one, and maxBaseBet. Amounts are minor-unit strings. reason (when allowed is false) is one of unsupported, operator, jurisdiction, country, unavailable, cap, limit.
  • POST /api/v1/games/:gameId/rounds with the base bet as betAmount, the option as buy, the option's mode / setting where it has one, and optionally expectBuyPrice (the priceHundredths the player saw) or expectBuyDebit (the exact debit): if the price changed in between, the request is refused (bonus_buy_price_changed) instead of charging a different price.

The buy dialog shows the price in money, the multiple and the option's fine print. No return, odds or percentage is ever shown to the player.

What a bought round records ​

WhereWhat
game_rounds.bet_amount, the round's totalBetthe price debited
bet_detailsbuy (the option) and the base betAmount; featureDecision — the licence and the player's country the round was sold under, with their sources
result_databuy, buyPriceHundredths; the four instant games also buyRules (the hash of the rules the price was set on) and the round's caps (moneyCap / operatorCap100, Shatter maxWin / operatorCap100)
Ledger debitmetadata.bonusBuy = { option, priceHundredths, baseBet }, description "Bonus buy on <game>"
Webhook round.completedfeature: "bonus_buy", bonusBuy: { option, priceHundredths } (Webhooks)
Round historyfeature: "bonus_buy", boughtOption; the free spins of a bought Slotty Slots bonus are their own rounds, each with bonusTriggerRoundId (the bought round) and boughtOption

Every round also records the engine that played it (engineVersion, engineBuild).

Verification ​

Every bought round is verifiable like any other round. The verifier replays it on the base bet at the pinned price and checks that the debit was exactly ⌈bet × price⌉: Shatter, Strike, Overload and Ricochet pin their buy rules by hash (a round recorded under an unknown hash is reported as not reproducible, never guessed), and the four other games replay under the rules they have sold since 3 November 2026. A bought Slotty Slots round lists the free-spin rounds it paid for, each verifiable on its own. Per game, the draws a bought round uses and the fields /verify reports are in Provably Fair → Bought rounds.