On this page
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.

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:
| Mode | Cost | RTP | What it is |
|---|---|---|---|
| Base | 1× | 96.50% | The base game |
| Night Owl | 2× | 96.50% | Enhancer: the Shift starts about twice as often |
| Graveyard Shift | 100× | 96.50% | Bonus buy, standard tier |
| Overtime Shift | 300× | 96.50% | Bonus buy, Bats start at ×3 |
| Blood Moon Shift | 1,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:
| Area | What gets checked |
|---|---|
| Connection | Authenticates with the RGS on launch; a clear error on a bad server URL; no Stake Engine loader or logo |
| Betting | Uses 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 |
| Confirmations | Autoplay asks first; every mode above 2× cost asks first, with the cost on the button |
| Information | RTP and max win per mode, every symbol's payout, every feature and control explained, the general disclaimer |
| Layouts | Laptop 1024×576, popout 800×450 and 400×225, mobile 425×812; no scrolling main frame; no double-tap zoom |
| Money | Currency symbols and decimals (we tested EUR, USD, CAD, MXN and JPY with zero decimals), sub-cent payouts |
| Social mode | Play / award / get bonus wording, SC and GC amounts, no restricted words anywhere, including replays |
| Replay | Loads by event ID, plays, can be watched again, shows bet cost and multiplier, works at popout size |
| Hygiene | Static 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.

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.
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
- 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
- Stake Engine docs, overview: stake-engine.com/docs
- Stake Engine docs, Math SDK: stake-engine.com/docs/math
- Stake Engine docs, Math file format: stake-engine.com/docs/math/math-file-format
- Stake Engine docs, Approval guidelines: stake-engine.com/docs/approval-guidelines
- Stake Engine docs, Math verification: stake-engine.com/docs/approval-guidelines/math-verification
- Stake Engine docs, Front-end communication: stake-engine.com/docs/approval-guidelines/front-end-communication
- Stake Engine docs, Submission checklist: stake-engine.com/docs/approval-guidelines/submission-checklist
- Stake Engine docs, Game quality rankings: stake-engine.com/docs/approval-guidelines/game-quality-rankings
- Stake Engine docs, Payments: stake-engine.com/docs/payments
- Stake Engine docs, Distribution: stake-engine.com/docs/distribution



