/docs

SDK documentation

One reference, many game modules. Operators pick the modules they implement.

Overview

OperatorPort is a B2B aggregator. One operator account, one set of API credentials, many games. You license titles individually and only ship integration code for the modules you've licensed.

Each game ships three things: a launch URL, an SDK module, and a wallet endpoint contract. Everything else (player auth, balance source-of-truth, jurisdiction routing) lives on your side.

Authentication

All API requests authenticate with your operator API key in the apikey header. Each licensed game also has its own per-license key for wallet callback signing.

curl https://api.operatorport.io/v1/operator \
  -H "apikey: $OPERATORPORT_KEY"

Launch URL

Mint a player session and redirect (or embed) the returned launch URL. The URL is single-use and scoped to one player.

POST /v1/games/{gameId}/launch
{
  "playerId": "user_88201",
  "currency": "EUR",
  "mode": "real"
}

Wallet API

OperatorPort calls your wallet endpoint for every bet, win, refund, and rollback. Your endpoint must respond inside 1.5s with the post-transaction balance.

POST https://your-domain.com/operatorport/wallet
{
  "type": "BET",
  "amount": 250,
  "currency": "EUR",
  "playerId": "user_88201",
  "txId": "tx_91d...",
  "gameId": "rocket-rush-x"
}

Per-game modules

Each game has its own SDK module. Switch the example below to inspect any title in the catalog:

<!-- 1. Mint a session JWT on your server (signed with your operator secret) -->
<!-- 2. Embed the game in an iframe -->
<iframe
  src="https://rocketrushx.app/embed?operator=OP_123&token=JWT&currency=USDC&lang=en&return_url=https://casino.example/lobby"
  allow="autoplay; fullscreen"
  style="width:100%;aspect-ratio:16/9;border:0"
></iframe>

<!-- 3. Implement the Wallet API on your backend -->
// POST /wallet/bet   { player_id, round_id, txn_id, amount, currency }
// POST /wallet/win   { player_id, round_id, txn_id, amount, currency }
// POST /wallet/refund{ player_id, round_id, txn_id }
// GET  /wallet/balance?player_id=...
//
// All requests signed: X-Signature: HMAC_SHA256(secret, timestamp + "." + body)
// Idempotency-Key header required on bet/win/refund.
Launch URL · https://rocketrushx.app/embed?operator={OPERATOR_ID}&token={SESSION_JWT}&currency=USDC&lang=en&return_url={RETURN_URL}
Wallet endpoint · POST {OPERATOR_BASE}/wallet/{bet|win|refund} · GET /balance · HMAC-SHA256 signed

GGR Reporting

GGR is reported per game per operator. Pull a summary by date range and game id, or subscribe to daily settlement files.

GET /v1/reports/ggr?from=2026-06-01&to=2026-06-30&gameId=rocket-rush-x