Skip to content
PokerEnginePro
Engine · Platform · Back office · Cloud

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.

From the hand evaluator to the Helm chart — built as one system, tested as one system, and shipped as one release.

Games

Every game. Every structure.

Hold'em, Omaha, Stud, Draw and mixed games — No-Limit, Pot-Limit and Fixed-Limit — dealt by the same engine, settled by the same ledger.
engine event streamNew hand
  1. 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.

Great Britain, Malta, Curaçao, seven US states, Ontario, Africa and Asia-Pacific — each market's regulator's rules carried as a signed rule pack, from the minimum age to the self-exclusion register checked before play.

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 BritainGreat BritainReal
  • MaltaMaltaReal
  • DenmarkDenmarkReal
  • SwedenSwedenReal
  • CuraçaoCuraçaoReal
  • New JerseyNew JerseyReal
  • PennsylvaniaPennsylvaniaReal
  • MichiganMichiganReal
  • NevadaNevadaReal
  • West VirginiaWest VirginiaReal
  • ConnecticutConnecticutReal
  • DelawareDelawareReal
  • Other US statesOther US statesPlay
  • OntarioOntarioReal
  • Rest of CanadaRest of CanadaPlay
  • Lagos, NigeriaLagos, NigeriaReal
  • KenyaKenyaReal
  • GhanaGhanaReal
  • 51 other African countriesPlay
  • AustraliaAustraliaPlay
  • IndonesiaIndonesiaPlay

Scale

Architected for a million.
Measured at fifty thousand.

Every table and every player is an actor the cluster places and moves. Gateways scale on connections, the game tier on tables, and a region is added as its own cluster — so capacity grows by adding machines, not by rewriting anything.
  1. 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. 2

    Tiers that scale independently

    Gateways scale on connections, silos on tables, the staff tier on its own — each a separate Kubernetes workload.

  3. 3

    Routed delivery, no backplane

    A table's events go only to the gateways that hold its viewers — no broadcast bus to saturate.

  4. 4

    Autoscaling on connections

    Gateways scale on live connection count through the HPA or KEDA, from an in-cluster or a managed Prometheus.

  5. 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.

PokerEnginePro architecturePlayers connect through a sticky load balancer to stateless gateways that autoscale on connections. Gateways route to the game tier, where every table and player is an actor. Staff use a separate admin tier. The game tier settles to PostgreSQL, caches the lobby in Valkey and publishes hand events through Kafka to ClickHouse.Playersweb · mobileStaffback officeLoad balancerTLS · stickyAdmin APIRBAC · four-eyesWebSocketGatewaysscale on connectionsrouted deliveryGame tier1 actor per tablesettlePostgreSQLledger · partitionedcacheValkeylobby read modelpublishKafka → ClickHouseoutbox · analyticsevery tier its own workloadeach scales on its own signal

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

  1. 01

    Single node

    Gateway and game tier in one process — a whole poker room on one machine.

  2. 02

    Split tiers

    Stateless gateways and an actor cluster, routed delivery, no backplane.

  3. 03

    Partitioned data

    Monthly partitions, the outbox to Kafka, analytics in ClickHouse, a cached lobby.

  4. 04

    Sharded ledger

    Wallets and the ledger sharded by player; tournament fields split across actors.

  5. 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.

A poker platform is a promise about money. Ours is checked after every state transition, replayed at every decision and reconciled every night.
  • 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.
hand 1 · event 16 · canonical JSON
{
  "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
The engine's own event log — the same record the table above is replaying.

Back office

Run the room.
Not the other way round.

38 pages to run the rooms, the money and the people — with four-eyes approval and an audit log of everything.
  • 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.
Back-office roles and what each may do
RoleRun roomsLedgerAdjustGrant chipsApproveAudit logHole 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 to your provider, workloads locked down, records kept the way regulators ask for them — and every change classified for certification.

Identity, delegated

Players and staff sign in through any OpenID Connect provider — Keycloak by default — in separate realms; the platform never holds a password.

Records kept for the regulator

13 months live, a searchable history database, then SHA-256-checked archive files encrypted with AES-256-GCM on write-once storage.

Locked-down workloads

Non-root, no capabilities, default seccomp, NetworkPolicies per workload and secrets only from Kubernetes Secrets.

Responsible gambling

Deposit, loss and wager limits and a session length, cool-off, self-exclusion and reality checks — each at the market's own settings, enforced at the gateway and again at the table.

KYC, AML and sanctions

Identity verified in tiers, money watched by the platform's own monitoring rules, and every player screened against sanctions and PEP lists — through at least two vendors for identity and for screening.

Change control for certification

Every regulated change classified major or minor in a change record with its evidence and lab-submission fields.
helm upgrade --install
# 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.

Every workload, probe, autoscaler, disruption budget and network policy in one chart, with ready values for ingress-nginx, AWS ALB, Azure Application Gateway and the Gateway API, and a values file for each in-jurisdiction deployment.
  • 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.

Identity and age checks, anti-money-laundering, sanctions screening, geolocation, payments, crypto and messaging — chosen per operator and per market, each operator on its own accounts.

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.