Engagement

Trust first, then the fun parts

Two things keep a player at a game: believing it is straight, and having a reason to come back tomorrow. We build for both in the engine itself.

Provably fair

"Trust us" is not a feature. This is the mechanism, in full.

1 — We commit

At the start of a session the server generates a secret seed and hands the player its SHA-256 hash. The seed itself stays hidden, but it is now fixed — we cannot change it later without the hash no longer matching.

2 — The player contributes

The player supplies their own client seed and can change it whenever they like. Every round also carries a counter, so no two rounds share inputs.

3 — The round is derived

Reel stops come from HMAC-SHA256 over those three values, with rejection sampling so every stop is uniform. Nothing else touches the outcome.

4 — We reveal

When the seed rotates, the old one is published. The player — or an auditor — can recompute every round they played and compare it against what was paid.

We ship the verifier as a tool, not a promise: it plays real rounds against a server, checks the revealed seed against the original commitment, replays each round locally, and reconciles the wallet balance.

Promo tools

Built into the engine, so a campaign is configured once rather than integrated per title.

🏆

Tournaments

Leaderboards over a window, scored on win multiple rather than stake, so a small player can still place.

🎁

Free rounds

Granted per player at a fixed bet, settled through the same wallet calls as any other round.

🎯

Missions

Lightweight objectives — land a feature, hit a multiple — that give a session a shape beyond the next spin.

Status: the fairness layer is built and shipping in Phoenix Gold. The promo tools are specified and partially built — talk to us about timing before you plan a campaign around them.