Poker infrastructure,
built for a million players.
A server-authoritative engine, every game and tournament format, a double-entry ledger, an operator back office and a cloud-native platform that scales out a table, a server and a region at a time.
50,000 players · 10,000 tables · 232 hands/s — in one measured run
No-Limit Hold'em
Blinds 1/2 · 9-max
Real hands from the engine's event logs, dealt at the player's table, one game after another.
50,000
concurrent players
10,000 tables in one run, chips exact, zero errors
232
hands per second
against a 200 hands/s target, 3,816 actions/s
85 ms
p99 action-to-broadcast
median 8 ms, against a 250 ms budget
0
chip-conservation violations
every hand, every run — checked after every state transition
The platform
Everything a poker operator runs on.
One platform, eight pillars.
Games
Every game. Every structure.
Seat 0 · D
100
Seat 1
20
Seat 2
50
Seat 3
100
Seat 4
100
Seat 5
100
- HandStarted variant=NLHE structure=NoLimit button=0
No-Limit Hold'em
The world's game, with every straddle and ante option.
Pot-Limit Omaha
Four hole cards, exactly two used, pot-limit raises computed by the engine.
Omaha Hi-Lo
Split pots between the best high and the best eight-or-better low, pot-limit or fixed-limit.
5-Card PLO
Five hole cards for bigger draws and bigger pots, up to eight seats a table.
Short Deck
36 cards, flushes over full houses, ante-driven action with a button blind.
Seven-Card Stud
Bring-ins, up cards and seven streets of the classic.
Stud Hi-Lo and Razz
Split-pot stud and lowball stud.
2-7 Triple Draw and Single Draw
Deuce-to-seven lowball with one or three draws.
Badugi
Four-card lowball across four suits.
Mixed games
H.O.R.S.E., 8-Game and custom rotations at cash tables, switching game by orbit with one stakes for every game.
Fixed-Limit Hold'em
Small and big bets, the half-bet rule for short all-ins, a four-bet cap uncapped heads-up.
Pot-Limit Hold'em
Hold'em with pot-limit betting.
At the table
Run it twice — or three times
Players all-in choose to run the board more than once, with equity shown and the pot split by board.
At the table
All-in insurance
Heads-up and all in, the favourite can insure the contested pot at a price set by their equity — paid from the wallet in its own ledger entries, so the pot and the rake never change.
At the table
Bomb pots and the 7-2 bounty
Everyone antes and sees a flop, on one board or two; a seven-deuce that wins the main pot collects a bounty from every seat — the games that make a room fun.
At the table
Straddles
Under-the-gun, button and Mississippi straddles, re-straddle chains and short-stack all-in straddles — or none, by house rule.
Markets
Every market.
Its rules built in.
Real money
16 markets
Cash tables and tournaments in each market’s currency, behind identity, location and limit checks.
Play money
Everywhere else
5 play-money markets and every country not assigned — on one ledger that keeps play chips and cash apart.
- Great BritainReal
- MaltaReal
- DenmarkReal
- SwedenReal
- CuraçaoReal
- New JerseyReal
- PennsylvaniaReal
- MichiganReal
- NevadaReal
- West VirginiaReal
- ConnecticutReal
- DelawareReal
- Other US statesPlay
- OntarioReal
- Rest of CanadaPlay
- Lagos, NigeriaReal
- KenyaReal
- GhanaReal
- 51 other African countriesPlay
- AustraliaPlay
- IndonesiaPlay
Scale
Architected for a million.
Measured at fifty thousand.
- 1
One actor per table, per player
Orleans virtual actors: every table, player session, lobby and tournament is its own grain, placed and moved by the cluster.
- 2
Tiers that scale independently
Gateways scale on connections, silos on tables, the staff tier on its own — each a separate Kubernetes workload.
- 3
Routed delivery, no backplane
A table's events go only to the gateways that hold its viewers — no broadcast bus to saturate.
- 4
Autoscaling on connections
Gateways scale on live connection count through the HPA or KEDA, from an in-cluster or a managed Prometheus.
- 5
Failover that costs one hand
A server lost mid-hand voids only that hand and refunds it exactly once; a server drained for a deploy voids none.
1,000,000
registered players per pool
46%
fewer bytes per player
protocol 1.1, mixed clients at one table
The path to a million
01
Single node
Gateway and game tier in one process — a whole poker room on one machine.
02
Split tiers
Stateless gateways and an actor cluster, routed delivery, no backplane.
03
Partitioned data
Monthly partitions, the outbox to Kafka, analytics in ClickHouse, a cached lobby.
04
Sharded ledger
Wallets and the ledger sharded by player; tournament fields split across actors.
05
Regional pools
A cluster per region and liquidity pool, added one release at a time.
Correctness
Built for real money.
Proven a hand at a time.
- 2,598,960 five-card hands verified, plus 12 million random hands against two independent oracles.
- A 100,000-hand chip-conservation soak on every build — the books must balance after every action.
- 11.3M ledger entries reconciled in 28 seconds, with no drift.
- A server lost mid-hand voids that hand and refunds it exactly once; a drained server voids nothing.
{
"event": "ActionTaken",
"seat": 3,
"action": { "type": "Raise", "amountTo": 100 },
"committedThisStreet": 100,
"stackAfter": 0,
"allIn": true,
"fullRaise": true,
"seq": 16,
"streetIndex": 0
}
// replayed at every decision
Back office
Run the room.
Not the other way round.
- Large withdrawals, payouts by exception, chargeback write-offs, crypto returns, vendor changes — approved by the family's specialist — rule-pack reviews and market assignment, high-risk KYC approvals, screening clears, AML, integrity and responsible-gambling releases, confiscations, ledger adjustments, stake changes at real-money tables, reinstatements and tournament cancellations all need a second person.
- Only Risk can, only for settled hands, and every look is audited.
- Every command and every sensitive read — refusals included — with who, their roles, before, after, reason and address.
| Role | Run rooms | Ledger | Adjust | Grant chips | Approve | Audit log | Hole cards |
|---|---|---|---|---|---|---|---|
| Ops | |||||||
| Finance | |||||||
| Risk | |||||||
| Compliance | |||||||
| Support | |||||||
| Marketing | |||||||
| Auditor | |||||||
| SuperAdmin |
Eight of the eleven roles, each with exactly the permissions its job needs.
Security & compliance
Regulation‑ready by design.
Identity, delegated
Records kept for the regulator
Locked-down workloads
Responsible gambling
KYC, AML and sanctions
Change control for certification
# one chart, any Kubernetes
helm upgrade --install poker ./pokerenginepro \
-f values-aws-alb.yaml \
--set gateway.autoscaling.provider=keda \
--set auth.authority=https://id.example.com/realms/poker \
--set networkPolicies.enabled=true
# upgrades drain before they stop
Cloud native
Any Kubernetes.
Any cloud. Your hardware.
- AWS · EKS
- Azure · AKS
- Bare metal · k3s
- Gateway API
- KEDA
- OpenTofu
A real cluster with real sign-in that proves autoscaling, failover, sticky sessions and network policies: 111 checks, zero restarts.
Integrations
Plugged in to the best.
Two or more of every kind.
Licensing
Run it yourself, or let us run it.
See it deal a hand.
Then see it deal ten thousand.
A live walkthrough of the engine, the back office and a production-shaped cluster — with the numbers behind every claim on this site.

