Skip to content

Shatter ​

A single-step instant game. A suspended glass panel, held by two clamps, carries 12 multiplier tokens. The player picks a fracture mode and a bet and strikes the panel once. The panel breaks into one of 13 fixed fracture outcomes; every fragment no longer connected to a clamp falls into the tray ("keep what falls"), and the tokens on the fallen fragments are collected. The round returns the sum of their values × the bet — the total includes the stake, so a total below 1× is a partial return. One stake, one draw, one payout: nothing is decided after the strike.

The outcome is decided by the RNG at the bet: one draw, read with the published weights of the mode chosen. The crack spreading across the glass, the falling fragments and the tokens landing in the tray are presentation: the client animates the outcome the server returned and cannot change it.

PropertyValue
Game IDshatter
Engine version1.0.0
Typesingle_step
VolatilityMedium overall; the player sets it with the mode — Controlled low, Unstable medium, Extreme high
Max Win316.55× bet (the near-total collapse in Extreme mode)
RTP variants92.00% / 94.00% / 96.00% / 97.00% — every mode returns it exactly (less sub-unit rounding of the payout)
Minimum stake100 minor units (1.00 in 2-decimal currencies), over any lower operator setting
Random drawsOne per round, at the bet
ThemeGlass, light and metal — a suspended panel, two clamps, a tray

How a round works ​

PhaseDescriptionPlayer input
Set upChoose the fracture mode and the betMode selector, bet
StrikeThe stake is debited, ONE draw picks the fracture outcome, and the round settles in the same callTap the panel or press Shatter
RevealThe client shows the crack, the fragments that fall and the tokens collected; the credit is shown as the collection finishesNone

The round is complete when the strike response arrives: there is no round to resume, cash out or abandon.

Fracture modes ​

The three modes share the panel, the tokens and the 13 outcomes. They differ in the token values (one scale per mode) and in how often each outcome happens:

  • Controlled — frequent, smaller collections.
  • Unstable — empty strikes, small takes and substantial wins.
  • Extreme — mostly empty strikes, rare and much larger collections.
ModeToken scaleToken values (the 12 tokens, largest first)Max returnDraw space W
Controlled×0.295.22×, 3.48×, 2.32×, 1.74×, 1.45×, 1.16×, 0.87× (×2), 0.58× (×2), 0.29× (×2)18.85×96,947
Unstable×0.6611.88×, 7.92×, 5.28×, 3.96×, 3.30×, 2.64×, 1.98× (×2), 1.32× (×2), 0.66× (×2)42.90×98,538
Extreme×4.8787.66×, 58.44×, 38.96×, 29.22×, 24.35×, 19.48×, 14.61× (×2), 9.74× (×2), 4.87× (×2)316.55×970,591

A token of raw value r is worth r × scale of the bet; the raw values of the 12 tokens are 18, 12, 8, 6, 5, 4, 3, 3, 2, 2, 1 and 1. The draw space W is the sum of a mode's outcome weights; it is the same in every RTP variant.

The fracture catalogue ​

Every strike ends in one of these outcomes. "Tokens that fall" counts the tokens on fragments released from both clamps; the multiplier is their raw sum × the mode's scale:

#OutcomeTokens that fallRaw sumControlledUnstableExtreme
1Connected fracture (the glass holds) (hold)000.00×0.00×0.00×
2Blank corner (nick)000.00×0.00×0.00×
3Left corner (leftCorner)120.58×1.32×9.74×
4Right corner (rightCorner)110.29×0.66×4.87×
5Lower edge (lowStrip)120.58×1.32×9.74×
6Lower section (base)461.74×3.96×29.22×
7Central bite (bite)230.87×1.98×14.61×
8Left section (left)241.16×2.64×19.48×
9Right section (right)482.32×5.28×38.96×
10Diagonal fracture (diagonal)472.03×4.62×34.09×
11Half panel (half)6123.48×7.92×58.44×
12Wide release (wide)8216.09×13.86×102.27×
13Near-total collapse (collapse)126518.85×42.90×316.55×

The geometry (53 fragments, 2 clamp anchors) and the fragments each outcome releases are fixed in the published catalogue (shatter-catalogue-1); the server and the client agree on it by a SHA-256 hash of the catalogue data.

Weights and chances ​

Each mode draws one integer u uniformly from [0, W − 1] and takes the first outcome, in catalogue order, whose running weight exceeds it. Every outcome's chance is exactly its weight ÷ W — integer weights over an exact range, with no rounding. These tables are for operators: the game itself never shows chances or the RTP to players.

Controlled ​

OutcomeMultiplierrtp-92: weight (chance)rtp-94: weight (chance)rtp-96: weight (chance)rtp-97: weight (chance)
Connected fracture (the glass holds)0.00×8,259 (8.52%)6,331 (6.53%)4,403 (4.54%)3,439 (3.55%)
Blank corner0.00×2,760 (2.85%)2,820 (2.91%)2,880 (2.97%)2,910 (3.00%)
Left corner0.58×15,640 (16.13%)15,980 (16.48%)16,320 (16.83%)16,490 (17.01%)
Right corner0.29×15,640 (16.13%)15,980 (16.48%)16,320 (16.83%)16,490 (17.01%)
Lower edge0.58×16,560 (17.08%)16,920 (17.45%)17,280 (17.82%)17,460 (18.01%)
Lower section1.74×14,720 (15.18%)15,040 (15.51%)15,360 (15.84%)15,520 (16.01%)
Central bite0.87×7,360 (7.59%)7,520 (7.76%)7,680 (7.92%)7,760 (8.00%)
Left section1.16×5,520 (5.69%)5,640 (5.82%)5,760 (5.94%)5,820 (6.00%)
Right section2.32×5,520 (5.69%)5,640 (5.82%)5,760 (5.94%)5,820 (6.00%)
Diagonal fracture2.03×3,220 (3.32%)3,290 (3.39%)3,360 (3.47%)3,395 (3.50%)
Half panel3.48×1,380 (1.42%)1,410 (1.45%)1,440 (1.49%)1,455 (1.50%)
Wide release6.09×276 (0.285%)282 (0.291%)288 (0.297%)291 (0.300%)
Near-total collapse18.85×92 (1 in 1,054)94 (1 in 1,031)96 (1 in 1,010)97 (0.100%)

Unstable ​

OutcomeMultiplierrtp-92: weight (chance)rtp-94: weight (chance)rtp-96: weight (chance)rtp-97: weight (chance)
Connected fracture (the glass holds)0.00×42,326 (42.95%)41,104 (41.71%)39,882 (40.47%)39,271 (39.85%)
Blank corner0.00×16,560 (16.81%)16,920 (17.17%)17,280 (17.54%)17,460 (17.72%)
Left corner1.32×8,280 (8.40%)8,460 (8.59%)8,640 (8.77%)8,730 (8.86%)
Right corner0.66×8,280 (8.40%)8,460 (8.59%)8,640 (8.77%)8,730 (8.86%)
Lower edge1.32×8,280 (8.40%)8,460 (8.59%)8,640 (8.77%)8,730 (8.86%)
Lower section3.96×4,600 (4.67%)4,700 (4.77%)4,800 (4.87%)4,850 (4.92%)
Central bite1.98×1,840 (1.87%)1,880 (1.91%)1,920 (1.95%)1,940 (1.97%)
Left section2.64×3,220 (3.27%)3,290 (3.34%)3,360 (3.41%)3,395 (3.45%)
Right section5.28×3,220 (3.27%)3,290 (3.34%)3,360 (3.41%)3,395 (3.45%)
Diagonal fracture4.62×1,104 (1.12%)1,128 (1.14%)1,152 (1.17%)1,164 (1.18%)
Half panel7.92×552 (0.560%)564 (0.572%)576 (0.585%)582 (0.591%)
Wide release13.86×184 (0.187%)188 (0.191%)192 (0.195%)194 (0.197%)
Near-total collapse42.90×92 (1 in 1,071)94 (1 in 1,048)96 (1 in 1,026)97 (1 in 1,016)

Extreme ​

OutcomeMultiplierrtp-92: weight (chance)rtp-94: weight (chance)rtp-96: weight (chance)rtp-97: weight (chance)
Connected fracture (the glass holds)0.00×860,191 (88.63%)857,791 (88.38%)855,391 (88.13%)854,191 (88.01%)
Blank corner0.00×55,200 (5.69%)56,400 (5.81%)57,600 (5.93%)58,200 (6.00%)
Left corner9.74×13,800 (1.42%)14,100 (1.45%)14,400 (1.48%)14,550 (1.50%)
Right corner4.87×13,800 (1.42%)14,100 (1.45%)14,400 (1.48%)14,550 (1.50%)
Lower edge9.74×9,200 (0.948%)9,400 (0.968%)9,600 (0.989%)9,700 (0.999%)
Lower section29.22×6,440 (0.664%)6,580 (0.678%)6,720 (0.692%)6,790 (0.700%)
Central bite14.61×1,840 (0.190%)1,880 (0.194%)1,920 (0.198%)1,940 (0.200%)
Left section19.48×4,140 (0.427%)4,230 (0.436%)4,320 (0.445%)4,365 (0.450%)
Right section38.96×4,140 (0.427%)4,230 (0.436%)4,320 (0.445%)4,365 (0.450%)
Diagonal fracture34.09×920 (1 in 1,055)940 (1 in 1,033)960 (1 in 1,011)970 (1 in 1,001)
Half panel58.44×460 (1 in 2,110)470 (1 in 2,065)480 (1 in 2,022)485 (1 in 2,001)
Wide release102.27×276 (1 in 3,517)282 (1 in 3,442)288 (1 in 3,370)291 (1 in 3,335)
Near-total collapse316.55×184 (1 in 5,275)188 (1 in 5,163)192 (1 in 5,055)194 (1 in 5,003)

Every mode returns the RTP ​

The variants are built from the delivered catalogue's rtp-97 weights: every outcome except "the glass holds" keeps R/97 of its rtp-97 weight, and the hold takes the rest of the fixed draw space W. So the expected return is exactly R% in every mode of every variant — the only thing a lower variant changes is how often the glass holds. There is no decision after the strike, so no way of playing returns more or less than the RTP: choosing a mode changes the spread of results, not their average.

VariantModeRTP (exact)Glass holdsAny token collectedReturn ≥ 1×SD of one round (stakes)Rounds to 99.9% house-ahead
rtp-92Controlled92.00%8.52%88.63%31.70%0.9651,389
rtp-92Unstable92.00%42.95%40.24%31.84%2.0246,110
rtp-92Extreme92.00%88.63%5.69%5.69%6.37160,568
rtp-94Controlled94.00%6.53%90.56%32.38%0.9662,474
rtp-94Unstable94.00%41.71%41.12%32.53%2.04111,048
rtp-94Extreme94.00%88.38%5.81%5.81%6.439109,968
rtp-96Controlled96.00%4.54%92.49%33.07%0.9665,570
rtp-96Unstable96.00%40.47%41.99%33.22%2.05825,272
rtp-96Extreme96.00%88.13%5.93%5.93%6.505252,578
rtp-97Controlled97.00%3.55%93.45%33.42%0.9669,903
rtp-97Unstable97.00%39.85%42.43%33.57%2.06645,292
rtp-97Extreme97.00%88.01%6.00%6.00%6.538453,601

"Return ≥ 1×" is the chance that a strike returns at least the stake. "Rounds to 99.9% house-ahead" is the normal approximation (3.09 × SD / edge)² for a casino whose every round is played in that mode.

Max win and caps ​

The largest outcome is the near-total collapse in Extreme mode: 316.55× the bet. An operator's or a jurisdiction's maximum win per round still applies and truncates a payout above it, which only matters at very large stakes. Shatter 1.0.0 does not apply the operator multiplier cap (tenant_games.max_win_multiplier): its multipliers come from a fixed catalogue, the largest being 316.55×.

Payout rounding ​

The payout is floor(stake × multiplier) in the currency's smallest unit — never rounded up. At whole-unit stakes (1.00, 2.00, … in a 2-decimal currency) every outcome pays exactly; at other stakes the rounding costs less than one minor unit per paid round, a few hundredths of a point of return at most stakes (rtp-96, the table below). Below 1.00 it would cost more, which is why the game's minimum stake is 1.00.

Stake (2-decimal currency)Controlled, rtp-96Unstable, rtp-96Extreme, rtp-96
0.10 (below the 1.00 floor)89.794%94.219%95.705%
0.50 (below the 1.00 floor)95.714%96.000%95.982%
1.0096.000%96.000%96.000%
1.0195.531%95.776%95.960%
1.0595.407%95.796%95.972%
1.5095.905%96.000%95.994%
2.5095.943%96.000%95.996%
9.9995.955%95.981%95.998%
10.0096.000%96.000%96.000%
10.0195.953%95.977%95.996%
100.0096.000%96.000%96.000%

Provably fair ​

For tenants with provably fair enabled, the round's one draw is derived from the committed server seed at the bare round block (clientSeed:nonce, no sub-nonce — Shatter is a single-step game like Slotty Slots), purpose label fracture, a uniform integer in [0, W − 1] for the mode played. The round record stores the mode (mode) and the round's cap (maxWin); with them and the published paytable that priced the round, the verifier reproduces the draw, the outcome, the tokens collected, the multiplier and the payout, and the verification page does the same in the browser and compares it with what the round booked. See Provably Fair.

Integration notes ​

  • Bet: POST /games/shatter/rounds with { "betAmount": <whole minor units>, "mode": "controlled" | "unstable" | "extreme", "currency": "…" }. The mode is required; an unknown mode or a stake that is not a whole number of minor units is refused (422) before anything is drawn or debited.
  • The response settles the round: the stake debit, the draw and the credit happen in the one call (there are no actions, no cash-out and no open round: GET /games/shatter/rounds/active always answers null). Its outcome carries mode, outcomeId, tokenIds, released (the fragments that fall), multiplier, multiplierHundredths, winAmount, capped and catalogueVersion — everything the client needs to animate the result, and no RNG internals.
  • Game metadata (rules): catalogueVersion, catalogueHash, maxWinMultiplier and, per mode, scale, tokenValues (by token id) and maxMultiplier — never weights, chances or the RTP.
  • The client checks the outcome against its own copy of the catalogue (and the catalogue version) before animating it, and shows a neutral error instead of inventing a result if they disagree.