Version 2.0 · For operator casinos embedding Fox Reel Studio games.
This guide covers launching and embedding games. Wallet integration,
authentication/signing, environments, and IP whitelisting are covered in the
companion Integration Guide (INTEGRATION_GUIDE.md) — complete that
first; game launches use the same signed API.
| game_code | Title | Category |
|---|---|---|
dice |
Dice | Instant: roll over or under with an adjustable win chance (0.20–98%) |
mines |
Mines | Stateful: reveal gems on a 5×5 board avoiding 1–24 mines, cash out any time |
flip |
Streak Flip | Stateful double-or-nothing: each correct heads/tails call doubles, cash out any time |
rocket |
Rocket | Live crash: cash out before the multiplier crashes; optional server-guaranteed auto cash-out |
ascent |
Ascent | Original: set your own win chance each leap; landing compounds ×(1/p) |
constellation |
Constellation | Original: chart stars across a 36-star field avoiding hidden black holes |
shark-dentist |
Jaws of Fortune | Stateful: grab treasures from an 8-tooth board avoiding trap teeth |
nuke-nope |
Nuke Nope! | Stateful: defuse nukes with an automatic abort save or an armed Pardon |
zenos-vault |
Zeno's Vault | Original with self-triggered free spins |
meteor-shower |
Meteor Shower | Original: 20 meteors across eight multiplier zones, three gravity settings |
exit-liquidity |
Exit Liquidity | Original |
liquidated |
Liquidated | Original: pick long or short, set leverage, race take-profit against liquidation |
vault-protocol |
Vault Protocol | Original |
rush-hour |
Rush Hour | Stateful: hop the crow across traffic lanes, live odds per lane, per-hop helmet insurance, cash out after any safe landing |
vault-breaker |
Vault Breaker | Stateful: same lane-crossing math as Rush Hour, cat-burglar vault skin |
checkmate |
Checkmate | Slot: captures by real chess moves, multiplier squares, Endgame bonus |
overgrowth |
Overgrowth | Slot: spreading mycelium network on a 6×5 grid, multipliers to ×25 |
grumbolt |
Grumbolt's Feast | Slot: 8+ anywhere, tumbles, Thunder Donut multipliers to ×100 |
sharkfather |
The Sharkfather | Slot: 8+ anywhere, tumbles, Collectors and Cash Stacks to 500× |
dillo |
Dillo the Kid | Slot: 8+ anywhere, Dynamite and Gold Nuggets ×2 to ×100 |
ramageddon |
Ra-mageddon | Slot: 8+ anywhere, sticky doubling Scarab Wilds, three bonus tiers |
rigged |
RIGGED! | Slot: 8+ anywhere, Prize Wheel multipliers to ×100 that stick in Rigged Spins |
nine-tails |
Nine Tails | Slot: 8+ anywhere, sticky Fox Mask Wilds collect Lantern Coins, three bonus tiers up to ×9 collects |
bloomrot |
Bloomrot | Slot: 6×5 cluster pays (5+), wins plant Seed Plots that grow into bloom coins, Snapjaw eats a column and spits multiplier seeds; Midnight Harvest / Overgrowth / Snapjaw Feast bonuses, Seed Hunt 3× and three buys, win cap 10,000× |
djinn-duel |
Djinn Duel | Slot: 6×5, 15,625 ways; two rival djinn VS symbols duel — both reels turn into giant wild reels carrying the sum of their multipliers; lamp wishes; Sandstorm / Thunder / Third Wish bonuses, Wish Hunt 3× and three buys, win cap 15,000× |
kaiju-kitchen |
Kaiju Kitchen | Slot: 6×5 cluster pays (5+) with tumbles; footprint wilds stay all spin and stomp the 3×3 around them, crushing taxis / helicopters / robots into cash and ×2/×3/×5 coins paid at the end of the tumbles; noodle bowls slurp a row's wilds into a row multiplier; Late Night Rush / Noodle Storm / Kaiju Feast bonuses, Stomp Hunt 3× and three buys (100× / 200× / 500×), win cap 10,000× |
lucha-pollo |
Lucha Pollo | Slot: 6×5, 8+ anywhere pays with tumbles; Top-Rope Slam turns a whole row + column into one high symbol, double slams leave x2–x5 cross wilds multiplying every win of the spin; Chair Shot wild reels; Mask Off pick game; Main Event / Tag Team / Championship Belt bonuses, Slam Hunt 3×, Top Rope 10× and three buys, win cap 20,000× |
gutter-kong |
Gutter Kong | Slot: 6×5, 20 fixed lines; a Strike Ball rolls a row from reel 1, upgrades every symbol a tier and flips pins into pin coins paid at the gutter; Pinhead's heckle; 10-pin Bonus Frame mini-game (strike ×10 / spare ×3); League Night / Perfect Game / Kong Bowl bonuses, Gutter Hunt 3×, Strike Spins 4× and three buys, win cap 12,500× |
short-fuse |
Short Fuse | Live crash: four risk modes, ladder exits, stash half, pad-fizzle shield, 98% RTP |
skyline-jet |
Skyline Jet | Live crash (skin of Short Fuse): same modes and math, jet over the city |
riptide |
Riptide | Turn-based ride: the value rises and falls with the tide, exact odds of both outcomes shown before every wave, cash out any time, 97% RTP on every strategy |
crush-depth |
Crush Depth | Turn-based dive (skin of Riptide): same math, diver on a sea scooter |
coin-flip |
Coin Flip | Instant heads/tails, 1.98× |
test-game |
Integration Test Game | Certification tool, not for players |
The live list, with descriptions and thumbnails, is always GET /api/games
(Section 1a). Every game supports free spins and the progressive bonus module.
RTP is set per game within your contracted range (80–99%, default per game);
GET /api/v1/games returns the RTP you run.
Stateful games (Mines, Streak Flip, Ascent, Constellation, Jaws of Fortune, Nuke Nope! and others) keep a round open across several player actions until the player cashes out or busts. Only one open round per player session. The round record shows the full board and every action, for dispute resolution.
New games are announced with their game_code, RTP range and volatility
before release. Per-game bet limits (min and max bet) are yours to set in the
portal; max win is set per contract. Bets outside the limits are rejected
in-game with BET_LIMIT, never silently clamped.
test-game is a bare page that drives every wallet operation with a visible
request and response log. Use it for certification and disable it in
production from the portal's Games page.
Public, no auth. Safe to call straight from a lobby page:
GET https://api.foxreelstudio.com/api/games?operator=<your-operator-code>
200 → {
"provider": "Fox Reel Studio",
"count": 19,
"games": [
{
"code": "dice",
"title": "Dice",
"description": "Roll over or under your target …",
"category": "instant",
"thumbnail": "https://lockeandcrow-games.s3.eu-west-1.amazonaws.com/thumbnails/dice.jpg",
"rtp_default": 99.0,
"features": ["provably-fair", "auto-bet", "free-spins"],
"launch_code": "dice"
}
]
}
?operator=<code> the list leaves out games you have disabled. Without
it you get every game Fox Reel Studio has live. An unknown or suspended code
returns an empty list.Cache-Control: public, max-age=60),
so a game you disable leaves your lobby within a minute.launch_code as the game_code when launching.Signed, from your backend. GET /api/v1/games returns the same games plus
your rtp, min_bet, max_bet and max_win per game. Sign it like any other
API call, with an empty body (Integration Guide §4 and §5a).
Your backend (never the browser — the call is HMAC-signed) requests a launch URL, then your frontend opens it:
POST /api/v1/launch (signed; see Integration Guide §4)
{
"player_id": "your-stable-player-id",
"game_code": "dice",
"currency": "USD", // optional, defaults to account currency
"lang": "en", // optional
"brand_code": "lucky-red" // optional, if brands are registered
}
200 → { "status": "OK", "url": "https://…/launch/<token>" }
Rules:
session_minutes for the
player — see Integration Guide §7c). An expired session shows a
"session expired" screen; relaunch to continue.UNKNOWN_GAME (bad code), GAME_DISABLED (disabled for you, or
withdrawn by Fox Reel Studio), UNKNOWN_BRAND (unregistered brand_code),
CURRENCY_MISMATCH (the player_id already plays in another currency).Open the launch URL as a full-page redirect or inside an iframe:
<iframe
src="{launch_url}"
style="width:100%; height:100%; border:0"
allow="fullscreen"
></iframe>
All amounts on the wire are integer minor units (cents). In-game the player sees decimal amounts in the session currency. The balance shown in the game is authoritative from the wallet:
/balance
callback — if your callback is slow, the game feels slow. Keep p95 under
500 ms.When you award free spins (POST /api/v1/freespins/award, Integration Guide
§7b) for a game, the game automatically:
No frontend work on your side. Awards are per-player per-game; unused spins
expire at expires_at if set.
With the progressive bonus module ("mode": "bonus", Integration Guide
§7b) every game additionally shows a gift icon in its top bar with a bonus
drawer: claim popover on entry, remaining free bets and pot during play,
wagering progress bar, rules ("Bonus Rules" info button) and the
"Get bonus money" collect step. All of it lives inside the game iframe.
Every game is provably fair. In the game footer players can:
{base_url}/fair (no login) and recompute
every roll: roll = HMAC-SHA256(server_seed, client_seed + ":" + nonce),
first 4 bytes mod 10000, ÷ 100.You may link to the verifier from your own fairness page. Each game's rules screen states how rolls map to outcomes (coin flip: roll < 50 = heads).
For disputes: give us the round_id (returned in every bet response and
visible in the portal under Rounds). We can produce the complete round record —
bet, win, roll, nonce, seeds — for any round, indefinitely.
| Player experience | Cause | Who acts |
|---|---|---|
| "Insufficient funds" | Wallet balance below bet | Player deposits with you |
| "Bet limit" | Bet outside your min/max | You (portal, Games page) |
| "Limit reached" | Player hit their daily loss limit (§7c) | Player-set / RG policy |
| "Game unavailable" | Game disabled on your account, or withdrawn | You (portal, Games page) or Fox Reel Studio |
| "Session expired" | 4h (or RG cap) elapsed | Relaunch |
Run on staging for each game before it is enabled in production:
{base_url}/fairWhen the checklist passes, enable the game in production from the portal's Games page, or ask us at [email protected].