1. Home
  2. Blog
  3. Studios
For studios · case study

From idea to live on Stake Engine: how an indie slot gets approved

Our slot Vampir went from a one-page pitch to live on Stake Engine. Here is the path, with the boring bits left in, because the boring bits are what get you approved.

Vampir: Graveyard Shift key art: a moonlit graveyard with a chapel, marked live on Stake Engine
On this page
  1. How the platform works
  2. 1. Concept and title check
  3. 2. Math as books
  4. 3. The event contract
  5. 4. Front-end checks
  6. 5. The polish bar
  7. 6. Packaging and submit
  8. Checklist
  9. FAQ

Stake Engine lets independent studios publish games on Stake. The docs sum it up as: build a game, publish it in Studio, and launch it on Stake and the Engine network (Stake Engine docs). Simple pitch; thorough review.

This is how our slot Vampir: Graveyard Shift got from a one-page pitch to live. Every case detail below comes from our own design doc, math spec, reviewer notes and pre-submission review.

First, understand what you're shipping

A Stake Engine game is static files: the math, with every outcome generated ahead of time, and a front end that plays those outcomes. The platform's RGS picks a simulation in proportion to its weight and hands its "book" (a JSON list of game events) to your front end. Because every possible result already exists in a file, reviewers can check the math exactly (Math SDK docs).

That shapes everything else:

  • Math is a set of files, not reel strips in a server. Per mode: a CSV lookup table (simulation number, weight, payout) and a compressed events file, plus an index.json. Payouts are in hundredths (file format).
  • Games are stateless. No jackpots, no gamble feature, no continuation between rounds, no early cash-out (approval guidelines).
  • The front end decides nothing. It reads the book and puts on a show.
  • After approval, the math is frozen. Only minor visual updates are allowed.

Step 1: a concept that survives a title check

Vampir's pitch fits in two lines. Uncle Vlado, a cheerful Balkan vampire, took the only job that fits his hours: night watchman at the village graveyard. His bats do the real work.

The mechanic is where the originality has to be, because a vampire theme is not original on its own:

  • 6×5 pay-anywhere grid with tumbles.
  • Bat wilds carry a multiplier that grows +1 with every tumble they survive. At the end of the sequence, the win is multiplied by the sum of all Bat multipliers. Bats add up; they never multiply each other.
  • Vlado's Bite: after a base-game win with Bats on the board, Vlado can bite and double every Bat (about 1 in 80 base rounds).
  • Free spins as a night shift: ten spins shown as the hours from 21:00 to 07:00. At midnight every Bat doubles; at 03:00 a new Bat flies in at ×2. Four, five or six Coffins start three tiers of the Shift.
Vampir free spins: the night-shift clock beside the board, with sticky Bat multipliers on the grid
The Shift: each free spin is an hour of the night, and the clock shows how long until midnight and 03:00.

Then the title check. We searched for existing slots before committing to a name. "Night Shift" was dropped because a "Knight Shift" already exists. We also kept "Count" out of every name, because Hacksaw's The Count already uses wild bats, and kept our bats visually our own. Stake Engine requires a unique title without restricted terms, and reviewers check that a game is distinct from existing titles. An hour on day one beats a rebrand on review day.

Step 2: the math, as books

Stake Engine's critical math checks block submission if they fail (math verification). Among them: every mode's RTP between 96.0% and 96.7%, max win at most 1,000,000×, max cost at most 50,000×, a cheapest mode costing 1.0×, and a minimum standard deviation for 1× modes. Non-critical checks don't block you, but failing them lowers the game's exposure tier and its maximum bet.

Our design choices, made with those tiers in mind:

ModeCostRTPWhat it is
Base1×96.50%The base game
Night Owl2×96.50%Enhancer: the Shift starts about twice as often
Graveyard Shift100×96.50%Bonus buy, standard tier
Overtime Shift300×96.50%Bonus buy, Bats start at ×3
Blood Moon Shift1,000×96.50%Bonus buy, Bats double twice

Every mode is capped at 25,000×, and the round ends the moment the cap is hit. That keeps the game inside the 3-star limits in the docs (100,000× max payout, 5,000× max cost, standard deviation of 60), so the game qualifies for the highest exposure tier.

A few things we learned the hard way:

  • Make the max win reachable. The docs say it should be realistically obtainable, typically more often than 1 in 10,000,000. Vampir's 25,000× lands about 1 in 6.25 million base rounds.
  • Watch the crumbs. The docs warn that a hit rate rarer than 1 in 50 bets, or a very high share of non-paying results, can be grounds for rejection. Vampir's base game hits 1 in 3.21, and 1 round in 4.50 returns the bet or more.
  • Replay every book. We generated 100,000 books per mode and replayed every one against the rules and the event contract, with zero failures. If a book can break your front end, a reviewer will find it.

Step 3: an event contract between math and front end

Before writing front-end code, we wrote down every event a book can contain and what it carries: standard ones like reveal and winInfo, plus the game's own, such as batUpdate, vladoBite, midnight and newBat. Every Bat value, the bite, the clock and every award come from the book. Nothing is decided on the client.

That contract also enforces honest presentation:

  • A round that returns less than its cost never plays a win celebration.
  • Big-win screens for bought features use the net result, not the gross.
  • Anticipation only shows when the landed Coffins are one short of the Shift, as the book reports it.

Step 4: the front-end checks reviewers actually run

The front-end requirements read like a list. In practice they are about forty separate checks. We ran all of them ourselves against the production build, with a mock RGS serving the real books. Grouped:

AreaWhat gets checked
ConnectionAuthenticates with the RGS on launch; a clear error on a bad server URL; no Stake Engine loader or logo
BettingUses the bet levels from authenticate; restores an unfinished round with its bet; no play request on insufficient balance; no end-round call for zero-win rounds; space bar bets
ConfirmationsAutoplay asks first; every mode above 2× cost asks first, with the cost on the button
InformationRTP and max win per mode, every symbol's payout, every feature and control explained, the general disclaimer
LayoutsLaptop 1024×576, popout 800×450 and 400×225, mobile 425×812; no scrolling main frame; no double-tap zoom
MoneyCurrency symbols and decimals (we tested EUR, USD, CAD, MXN and JPY with zero decimals), sub-cent payouts
Social modePlay / award / get bonus wording, SC and GC amounts, no restricted words anywhere, including replays
ReplayLoads by event ID, plays, can be watched again, shows bet cost and multiplier, works at popout size
HygieneStatic files only, sound can be turned off, no console errors, English and a fallback for unknown languages

Our first pass found two failures: at the 400×225 popout size, a buy card covered the menu button, and the in-game guide didn't explain the Night Owl switch. Both were fixed and re-checked. Final tally: 36 pass, 0 fail, 3 for a human to judge (content, distinctiveness and real-phone touch play), 1 not applicable.

Vampir bonus buy menu showing three Shift tiers with their costs
High-cost modes need a confirmation step: a chooser, then the cost on the confirm button.

Step 5: the polish bar

Passing the checklist is not the same as passing review. Games are rated by three reviewers from 0 to 3 stars, a game needs at least 6 of 9 points to publish, and only 3-star games appear in sections like New Releases (game quality rankings).

An earlier game of ours was sent back with feedback about generic-looking art, standard fonts, emoji icons, gradient fills, and animation that felt janky or missing in key moments. So before Vampir went in, we audited it against every one of those points:

  • No code-drawn UI. Every control surface became painted art in the game's style: the spin button, buy plaque, dialogs, switches, the clock face.
  • Painted lettering for every big moment (BIG BITE, MIDNIGHT, the Shift names), and painted gold digits for amounts. The plain font stayed only for small text.
  • No first-time hitches. The first big win and first effect burst cost a ~27 ms frame (texture upload and shader compile), so everything is warmed up during the start screen.
  • Clean audio. Some files peaked above 0 dBFS and could crackle on some devices. Everything was remastered to stay below 0 dB true peak after encoding.
  • A living board. Bats glow and flap, candles flicker, a spider drops from the frame now and then, and every hour of the Shift strikes with a bell.
Opinion

The checklist gets you reviewed; the polish gets you approved. Budget as much time for "make the quiet moments alive" as for the features themselves. Also, check the production build, not just dev: our minifier silently broke one CSS reset, and only the uploaded build showed it.

Step 6: packaging and submitting

The upload is mechanical, which is exactly why it goes wrong. What went in for Vampir:

  • Math: 11 files: index.json, one books file and one lookup table per mode. About 711 MB in total; the bonus-buy books alone are 210–230 MB each. We verify the right version by exact file size before publishing.
  • Front end: index.html plus an assets folder, 189 files and about 29 MB.
  • Media: a 3:4 tile and a 16:9 cover. Submit stays locked without them. The title uses one font in at most two sizes, inside the safe zone, with no extra text such as "25,000x", "NEW" or "BONUS".
  • Reviewer notes: features, the math table, notes on statelessness, presentation and social wording, plus replay event IDs per mode for a loss, a normal win, a bonus trigger, a big win and the max win.
  • Distribution: Vampir is Only on Stake. The docs describe profit share at 10% of actual GGR for those games, and 5% for network games (payments).

One rule shapes your planning more than any other: until your first game is live, you can have one open review at a time, and a game that doesn't make the threshold is locked for three days (submission checklist). Play it in the Studio preview on a phone and a computer before pressing Submit.

The short version

Before you press Submit
  • Title checked against existing games; the mechanic is yours.
  • Every mode inside 96.0–96.7%, max win reachable, hit rate healthy, 3-star limits checked.
  • Every book replayed against the rules and your event contract.
  • All front-end checks run on the production build at every layout size, in normal and social mode, including replay.
  • Painted UI, own lettering, warmed-up effects, mastered audio, no quiet dead moments.
  • Files verified by size, media inside the rules, reviewer notes with replay IDs.

One more reason to get it right: the distribution docs say the Engine network opens to all operators on 13 October 2026, so network games can reach lobbies beyond Stake's own. See the result on our games page and Vampir's launch page.

FAQ

What RTP does Stake Engine require?

According to Stake Engine's math verification docs, every bet mode must have an RTP between 96.0% and 96.7%.

How long does Stake Engine review take?

The docs say it can take a couple of hours. The real cost comes earlier: one open review at a time until your first game is live, and a three-day lock after a rejection.

Can I change the math after approval?

No. The approval guidelines allow only minor visual updates after a game is approved, with no changes to the math or the modes. Get the math right before you submit.

Can a Stake Engine game have a jackpot or a gamble feature?

No. Games must be stateless: no jackpots, gamble features, continuation between rounds or early cash-out. In Vampir, every Shift starts without Bats.

Do I need a social (sweepstakes) version of the game?

The front end must support a social mode with its own wording and currencies. Vampir says play, award and get bonus there, and shows SC and GC amounts without currency symbols.

18+Gambling content for business readers. Every demo we link to runs on play money. If gambling stops being fun, free confidential help is available: BeGambleAware (UK), 1-800-GAMBLER (US), Gambling Therapy (worldwide).

Sources

  1. Stake Engine docs, overview: stake-engine.com/docs
  2. Stake Engine docs, Math SDK: stake-engine.com/docs/math
  3. Stake Engine docs, Math file format: stake-engine.com/docs/math/math-file-format
  4. Stake Engine docs, Approval guidelines: stake-engine.com/docs/approval-guidelines
  5. Stake Engine docs, Math verification: stake-engine.com/docs/approval-guidelines/math-verification
  6. Stake Engine docs, Front-end communication: stake-engine.com/docs/approval-guidelines/front-end-communication
  7. Stake Engine docs, Submission checklist: stake-engine.com/docs/approval-guidelines/submission-checklist
  8. Stake Engine docs, Game quality rankings: stake-engine.com/docs/approval-guidelines/game-quality-rankings
  9. Stake Engine docs, Payments: stake-engine.com/docs/payments
  10. Stake Engine docs, Distribution: stake-engine.com/docs/distribution
Published 15 October 2026 · Opinions are labelled as opinions← All articles