Callisto Games / Technology

Technology

Operator API, wallet callbacks and reconciliation.

How the integration fits together. The Developer Docs hold the exact contract.

Architecture

One gateway between your platform and every provider

The gateway speaks each provider's protocol and turns it into one wallet contract.

Callisto Games integration architectureThe operator platform lists games and opens sessions through the Callisto Games Operator API. The player's browser opens the game at launch_url, served by the game provider. The provider reports bets, wins and rollbacks to Callisto Games, which calls the operator wallet at wallet_url and returns the balance. The operator reconciles through /v1/transactions and /v1/rounds.PLAYER'S BROWSEROPERATOR PLATFORMCALLISTO GAMESGAME PROVIDERCasino frontendyour site or appOperator backendyour platformOperator API/v1 · signed X-Agg-*Game clientopened at launch_urlOperator walletyour wallet_urlProvider gatewayone wallet contractGame providergame serverplayer opens a gamelaunch_urlGET /v1/games1POST /v1/sessions2launch_urlGET /v1/transactions8invoice webhookopen launch_url3gameplay: the provider's own traffic, not through the operator4bet · win · rollback5resultPOST wallet_url6balance "98.50"7same session
  1. Your backend reads the catalogue: GET /v1/games.
  2. It opens a session: POST /v1/sessions returns a launch_url.
  3. The player's browser opens the game at launch_url.
  4. Gameplay runs between the game client and the provider.
  5. The provider reports bets, wins and rollbacks to the Callisto Games gateway.
  6. Callisto Games calls your wallet at wallet_url in one format.
  7. Your wallet answers with the balance after the movement.
  8. You reconcile by transaction and round: GET /v1/transactions, /v1/rounds.
Callisto Games integration architecture. Provider connectivity stays inside Callisto Games.
Authentication

Every request is signed, both ways

The same HMAC check covers your calls to the Operator API and our calls to your wallet and webhook.

Signing rules and test vectors
HMACrequest signingConcept
# every request, both directions
signature = HMAC-SHA256(secret, timestamp + "." + request)

X-Agg-Key-Id:     ak_5f2c…
X-Agg-Timestamp:  1792224000
X-Agg-Signature:  9c41e0…
Wallet callbacks

One contract for every provider

A refusal is final. A timeout or server error is retried, then rolled back. Money moves once per transaction_id.

Wallet contract
POST{wallet_url}Wallet callback
// getbalance | bet | win | rollback
{ "action": "bet",
  "transaction_id": "t-8f21",
  "session_id": "s-1", "round_id": "r-77",
  "currency": "EUR", "amount": "1.50" }

200   { "balance": "98.50" }
4xx   { "error": "insufficient_funds" }
      answer, not retried
5xx / timeout: retried, then rolled back
OpenAPI & Postman

Generate a client, or start in Postman

The whole Operator API as OpenAPI JSON/YAML, with a Postman collection and a sandbox environment.

OpenAPI & Postman
GETspec filesDownloads
# machine-readable contract, from the Developer Docs
openapi.json
openapi.yaml
callisto-games.postman_collection.json
callisto-games-sandbox.postman_environment.json
Coverage

What the integration covers

Operator APISigned REST API under /v1: catalogue, sessions, promotions, reconciliation.
CatalogueGame ID, provider, studio, type, RTP, demo availability, images, country restrictions. Paged by cursor.
Player sessionsCreate a session, open a demo, close a session. Each session has a session ID.
Wallet callbacksgetbalance, bet, win, rollback to your wallet URL.
IdempotencyBy transaction_id: a retried call carries the same id.
Errors & retriesStandard error codes; which are retried is in the Developer Docs.
ReconciliationTransactions and rounds by identifier; optional signed invoice webhook.
PromotionsFree spins, jackpots and live tables where the provider supports them.
Testing & go-liveSandbox, signature tester, wallet test suite, go-live checklist, changelog.
Rate limitsSet per operator and provided with your credentials.
Production accessProduction hostnames and allow-listed addresses are issued at go-live.

Start in the sandbox

Request access: your team gets sandbox credentials and the wallet test suite.