Add a catalog of slots to your live or social app with one server call. Players bet your app's virtual coins. The balance never leaves your server.
You keep the player and the coins. We run the game and decide each result on our server. Every bet and every win goes through your wallet endpoint.
We never hold coins. Calls are signed with your app secret and deduped by transaction id.
If anything fails after a bet is taken, we send a rollback and the round does not happen.
Each game runs with a return-to-player target, set per game and adjustable per app.
The panel shows rounds, bets, payouts, RTP and the house result per game and per day.
Ways, free spins, cascades, cluster pays, megaways and a multiplier reel. Pick the ones your app shows in the panel.
One call from your server to open a game, and one endpoint on your server for the wallet.
You get a test app with its key and secret right away.
One https endpoint that answers balance, debit, credit and rollback.
Sign createGameSession on your server and open the launchUrl.
// your server
const timestamp = String(Date.now())
const signature = 'sha256=' + hmac(APP_SECRET,
`${timestamp}.${APP_KEY}.${user.id}.rise-of-zeus`)
const { launchUrl } = await createGameSession({
appKey: APP_KEY, timestamp, signature,
playerId: user.id, playerName: user.name,
gameSlug: 'rise-of-zeus',
})
// your wallet endpoint (we call it)
POST /opera-games/wallet
{ "action": "debit", "txRef": "rnd_…:debit",
"playerId": "user-123", "amount": 100 }
→ { "status": "ok", "balance": 4900 }
Tell us about your app. We answer by email.
Opera Games is for apps that use their own virtual coins. We do not offer real-money gaming.