Every outcome. Verifiable on-chain.
Oni Games doesn't ask you to trust us. Every wager, payout, and score is governed by open smart contracts on OneChain โ not our servers.
We don't control
the dice roll.
Instant games use OneChain's native one::random module โ a core blockchain primitive outside Oni Games' control. We cannot influence, predict, or change any result.
entry keyword โ not public. This prevents composing them in a Programmable Transaction Block, completely blocking the rollback exploit where a player sees the result and aborts if they lose.entry keyword makes this the terminal step of any transaction โ a player cannot inspect the result and abort.Two-step escrow.
Zero trust required.
Crash, Minesweeper, and High-Low use a cryptographically secure escrow model โ funds are locked on-chain before you play a single move.
Can someone call the mint function directly
and fake a score?
This is the #1 question skeptics raise โ and the answer is solid. Here's exactly why direct contract calls cannot produce fake NFTs.
Short answer: No. The function mint_verified_score is public โ anyone can call it directly from any wallet or script. But it immediately demands a valid Ed25519 signature from the server's private key. Without it, the transaction aborts. Full stop.
The admin minting path requires passing a reference to the AdminCap object โ a unique on-chain object held exclusively by the Oni Games deployer wallet. Move's object model makes it impossible to spoof or borrow from another account. Non-admins are rejected at the VM level, before any contract logic executes.
Nothing is hidden.
Don't trust. Verify.
Everything on this page is publicly checkable on-chain. No account, API key, or special access required.