Seedtrue Games
A cascading slot with a fully server-resolved outcome chain. RTP 96.56%, verified by Monte-Carlo simulation before release.
Independent iGaming developer
I build server-authoritative slot engines - RNG, cascade math, RTP verification, and the animation layer - for operators who need proof, not promises. Below is a fully working build: Dice Slot, playable right now.
Сюда вставим слот
Every outcome is resolved on the backend with a CSPRNG - nothing the client computes, or can tamper with.
RTP, volatility and hit-rate come from a Monte-Carlo run against the real game logic, not a spreadsheet.
One person owns the math, the backend, and the animation layer, so nothing gets lost translating between them.
About
We are Seedtrue games, an independent studio working where game math meets full-stack engineering. The fun on screen is only half the job - the other half is the RNG, the paytable, the simulation, and the audit trail behind every spin.
We came to slots from Python backends and real-time systems that had to run unattended and be right every time. A slot is really a deterministic state machine with money attached, so the same discipline applies.
Every number is simulated before it ships - nothing is estimated or eyeballed.
RTP, volatility and hit-rate are documented and handed over - never hidden behind the UI.
The animation layer never gets to promise more than the math has already proven.
Portfolio
This list grows slowly on purpose - every entry has math behind it before it earns a spot.
A cascading slot with a fully server-resolved outcome chain. RTP 96.56%, verified by Monte-Carlo simulation before release.
Details to follow once this build is ready to show.
Details to follow once this build is ready to show.
The Game
Every figure below comes from a Monte-Carlo simulation of the actual game logic - the real payout tables and cascade rules, run long before a single frame was animated.
2,055,670 free spins played across the simulation run.
The remainder comes from smaller base-game side features.
Simulated across 5,000,000+ spins on the production game logic - not a hand-built spreadsheet.
Process
Three decisions shape everything else about Seedtrue Games. Each one started as a specific problem with server-side games.
Every spin is resolved server-side with a cryptographically secure RNG. The client only renders an outcome it's told, so fairness becomes something an operator can audit.
A dedicated cascade engine resolves the whole chain mathematically first, then streams a deterministic event queue over WebSocket for PixiJS to play back step by step.
Millions of simulated spins run directly against the production game logic - the same code path that ships - so the published numbers describe the code that's actually running.
FAQ
Yes. Every spin outcome is generated and resolved on the backend using a cryptographically secure RNG. The client receives a result and renders it - it never generates or influences one.
Yes, on request - usually under a simple NDA. That includes the full simulation output, paytable, and the assumptions behind the RTP calculation.
Yes. The math and mechanics stay untouched - only the skin, symbols, and branding change on top of the same verified engine.
It depends on the mechanic, but a cascade-style game like Seedtrue Games - from math design through a playable build - is usually a matter of weeks, not months.
Contact
Have a game that needs a math check, a fairness rebuild, or a full engine from scratch? Send a note - I read everything myself.
Useful things to include: the mechanic you have in mind, your target RTP and volatility, whether it needs to fit an existing platform, and roughly when you'd want it live. Rough answers are fine - I'll come back with a scoped estimate and a timeline.
About
We are Seedtrue games, an independent studio working at the intersection of game math and full-stack engineering. Our focus is casino games - mostly slots - where the fun on screen is only half the job. The other half is the part players never see: the RNG, the paytable, the RTP simulation, and the audit trail behind every spin.
We got here from full-stack and automation work - Python backends, real-time systems, bots that had to run unattended and be right every time. Slot mechanics turned out to be a natural extension of that: the game is really just a deterministic state machine with money attached, which means the same discipline that keeps a backend honest is exactly what keeps a game fair.
These days we build the full chain ourselves - server-authoritative RNG, cascade resolution, WebSocket delivery to the client, and a PixiJS animation layer that renders whatever the backend already decided. We run the Monte-Carlo math before any of it ships, because we'd rather find a bad number in a simulation than in a live operator's ledger.
A slot arrives as an idea - a theme, a target RTP, a feeling the operator wants players to have. Our job is to turn that into a specification precise enough that a testing lab can read it, and code faithful enough that the specification stays true after release.
In practice that means designing the reel strips and paytable, writing the resolution engine, simulating it until the numbers stop moving, and only then building the part anyone sees. If the math and the animation ever disagree, the math wins and the animation gets rewritten - never the other way around.
We work directly with whoever owns the product. No account manager sits between the question and the answer, which means a paytable change discussed on Monday is usually simulated and back in your inbox by Tuesday.
Small and mid-size operators who need a real game rather than a template. Studios that have a front end but no one to defend the math behind it. Teams with an inherited codebase where nobody can say with confidence what the RTP actually is any more - that audit is often the most valuable week of work we do for anyone.
To give small and mid-size operators access to the same rigor big studios take for granted - server-verified fairness, transparent math, and mechanics built to hold up in production - without a slow agency process standing in the way.
Every number is simulated before it ships - nothing is estimated or eyeballed.
RTP, volatility and hit-rate are documented and handed over - never hidden behind the UI.
The animation layer never gets to promise more than the math has already proven.
“We'd rather ship a smaller game with numbers we can defend than a flashy one we can't.”
- Seedtrue games
The Game
Seedtrue Games is a cascading slot built to prove a point: that a small, independently-built game can carry the same math rigor as a studio release. Every figure below comes from a Monte-Carlo simulation of the actual game logic - run against the real payout tables and cascade rules, long before a single frame was animated.
Server-resolved outcomes, no client-side math to inspect or exploit.
PixiJS keeps the client thin - the render loop stays smooth even on modest devices.
Same WebSocket connection, same math, whether it's opened on desktop or mobile.
2,055,670 free spins played across the simulation run.
The remainder comes from smaller base-game side features.
Simulated across 5,000,000+ spins on the production game logic - not a hand-built spreadsheet.
A spin starts as a request over an open WebSocket. The server draws from a cryptographically secure RNG, maps the draw onto the reel strips, and evaluates the resulting grid against the paytable. If any cluster pays, those symbols are removed, the grid refills from above, and the evaluation runs again - that loop continues until a refill produces no new wins.
The whole chain is resolved before anything reaches the browser. What the client receives is an ordered event queue: this grid, these wins, this multiplier step, that refill. PixiJS plays the queue back at human speed. Close the tab halfway through a cascade and the balance is still correct, because the outcome was never waiting on the animation to finish.
RTP is the long-run share of wagered money returned to players. At 96.56% it sits in the range most operators target for a mid-volatility release, and the confidence interval tells you how tight the estimate is after five million spins - not a rounded marketing figure.
Hit frequency counts how often a spin returns anything at all. A little over 40% means a paying spin roughly every two and a half, which keeps a session feeling alive without flattening the peaks.
Volatility is the standard deviation of the return per unit staked. At 8.24× the game pays in uneven bursts: long quiet stretches, then a cascade chain that carries the session. The highest win the simulation actually produced was 9,510× stake, against a hard engine cap of 15,000×.
The bonus round triggers on roughly one spin in a hundred and carries a little under a third of the total RTP. That split is deliberate: the base game still has to be worth playing on its own, so most of the return stays where most of the spins are. Multipliers carried between cascades inside the round are where the top-end wins come from.
The full simulation output, the paytable and reel strips, the assumptions behind every published figure, and the game logic itself. If you want the numbers re-run against a different target RTP or a different volatility profile, that's a configuration change and a fresh simulation - not a rewrite.
Process
Three decisions shape everything else about Seedtrue Games. Each one started as a specific problem with server-side games, and the solution is the same one I bring to every build.
Problem: if the outcome is decided in the browser, it can be inspected, replayed, or tampered with, and no operator can certify that.
Solution: every spin is resolved server-side with a cryptographically secure RNG. The client only ever renders an outcome it's told - it never computes one.
Why it matters: fairness becomes something an operator can audit, not something they have to take on faith.
Problem: tumbling reels chain symbol removals, refills, and stacking multipliers - a common place for the math and the animation to quietly drift apart.
Solution: a dedicated cascade engine resolves the entire chain mathematically first, then streams a deterministic event queue over WebSocket for PixiJS to animate step by step.
Why it matters: the state a player wins is always the exact state that was calculated - never a UI approximation of it.
Problem: hand-built math sheets are error-prone, and RTP is usually only discovered once a game is already live.
Solution: a Monte-Carlo simulation runs millions of spins directly against the production game logic - the same code path that ships - before any release.
Why it matters: the published numbers describe the code that's actually running, with nothing lost in translation.
Work runs in five stages, in this order, because each one produces the input the next one needs. Nothing starts before the stage in front of it is signed off - that's what keeps a late paytable change from quietly invalidating a month of animation work.
We agree the mechanic, the target RTP, and the volatility profile. I draft reel strips and a paytable and model them until the shape of the game matches the feeling you described. Output: a math specification you can read without being a mathematician.
The specification becomes code, and the code runs millions of spins. If RTP, hit frequency or the win distribution land somewhere you don't want, this is the cheap moment to change them. Output: a simulation report with the numbers and the assumptions behind them.
Server-side RNG, cascade resolution, session and balance handling, WebSocket delivery. The engine is built around the simulated logic rather than beside it, so there's one code path and no second implementation to drift.
PixiJS renders the event queue the server sends. This is where art, sound and pacing land - and the only stage where the answer to "can we make it feel bigger" is yes without touching a number.
A final simulation on the shipping build, documentation prepared in the form a testing lab expects, then the code, the math report, and a walkthrough. After handover I stay reachable for the certification round.
Portfolio
This list grows slowly on purpose - every entry here has math behind it before it earns a spot.
A cascading slot with a fully server-resolved outcome chain. RTP 96.56%, verified by Monte-Carlo simulation before release.
Details to follow once this build is ready to show.
Details to follow once this build is ready to show.
Seedtrue Games started as a private exercise: build one complete game alone, end to end, and be able to defend every number in it. It's a cascading slot with a dice-face symbol set, stacking multipliers inside the bonus round, and a hard win cap at 15,000× stake.
The build covers the whole chain - RNG and cascade resolution in Python, session handling over WebSocket, a PixiJS client that renders an event queue rather than deciding anything itself, and a simulation harness that runs the shipping logic across millions of spins. The math core can drop down to C++ through pybind11 when a simulation run needs to finish in minutes rather than hours.
It's playable. The build runs locally and gets tunnelled on request, so if you want to spin it before we talk, ask and I'll send a live link.
Two further games are in progress and will appear here once there's something worth showing - a finished build and a simulation report, not a mockup. If you'd rather see work in progress than wait for the listing, get in touch and I'll walk you through what's on the bench.
FAQ
Most first conversations cover the same ground - fairness, math documentation, certification, and timelines. Here are the answers in advance, so the call can start somewhere more useful.
Yes. Every spin outcome is generated and resolved on the backend using a cryptographically secure RNG. The client receives a result and renders it - it never generates or influences one.
Yes, on request - usually under a simple NDA. That includes the full simulation output, paytable, and the assumptions behind the RTP calculation.
I prepare the game logic and math documentation a testing lab needs for submission. Certification itself is issued by the lab, not by me - I make sure the paperwork matches the code exactly.
Yes. The math and mechanics stay untouched - only the skin, symbols, and branding change on top of the same verified engine.
The current build is a standalone WebSocket game. I can adapt the integration layer to a specific platform or aggregator API on request - the game math itself doesn't need to change.
It depends on the mechanic, but a cascade-style game like Seedtrue Games - from math design through a playable build - is usually a matter of weeks, not months. Scope drives the estimate more than anything else.
Yes - reel strips, paytable and feature weights are configuration, so a different target is a re-tune plus a fresh simulation rather than a rewrite. The later it happens the more it costs, which is why the math stage comes first.
Yes, and it's some of the most useful work I do. I run your existing logic through the same simulation harness and report what the numbers actually are, then flag anywhere the client can influence an outcome.
You do, on final payment - source, paytables, simulation harness and documentation. Reusable engine internals stay mine to reuse elsewhere, but nothing that identifies your game does.
Right now the math, backend, and frontend are all one build pipeline that I own end to end. For larger scopes I bring in extra hands, but the math and fairness layer always stay under one set of eyes.
Send a message with your target RTP, volatility profile, and any special mechanics you have in mind. I'll reply with a scoped estimate and a realistic timeline.
Contact
Have a game that needs a math check, a fairness rebuild, or a full engine from scratch? Send a note - I read everything myself.
Useful things to include: the mechanic you have in mind, your target RTP and volatility, whether it needs to fit an existing platform, and roughly when you'd want it live. Rough answers are fine - I'll come back with a scoped estimate and a timeline rather than a brochure.
I usually reply within a day. If you'd like to spin the current build first, say so and I'll send a live link.