> ## Documentation Index
> Fetch the complete documentation index at: https://docs.igamingace.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Seamless Wallet API

Seamless Integration lets you manage your players' balances directly in your own system. Instead of storing funds with our company, your backend remains the source of truth — the API sends callback requests to your server to check balances and apply updates as bets and wins occur. This gives you full control over deposits, withdrawals, transaction history, and statistics across every game session.

## Basic insights

Seamless Integration is built around a bidirectional flow: your casino calls our API to launch games, and we call your backend to read and write player balances during gameplay.

* We send callback requests to your server to retrieve each player's current balance and verify their authority before processing bets
* Your backend is updated on every bet and win, keeping balances in sync in real time
* Player funds remain entirely within your system, protecting you from any potential malicious activity by an API provider
* You can integrate multiple game APIs within the same casino without conflicts — each API operates against your unified backend
* If a bet or win is not processed correctly due to an unexpected error, all funds are automatically refunded so players never lose money due to a system failure

## Process flow

<Steps>
  <Step title="Creating players">
    Before a player can launch any game, you must link them to our API so the system can identify who is playing. Your existing casino user table is not automatically visible to us — you need to explicitly create the association.

    Once a player is linked, we assign them a unique string called `playerId`. This becomes the player's permanent identifier within your system and can be referenced in all subsequent API calls.

    We recommend calling the player-link endpoint every time a player signs in to your platform. This keeps the association current and ensures accurate tracking, authentication, and session continuity across all game launches.
  </Step>

  <Step title="Game launch">
    When a player selects a game, your casino calls our API to request a one-time-use game URL. The API generates a short-lived URL tied to that specific player and session. Your casino then redirects the player's browser to that URL, which loads the game directly.

    The URL is single-use and expires after the session begins, so a new URL must be requested each time a player opens a game. From this point on, the game handles input from the player and communicates back to your server via callbacks.
  </Step>

  <Step title="Game play">
    Once the game is running, the player places bets. For each spin or round:

    * Our backend generates the result based on your casino's configured RTP settings
    * The transaction is recorded in the game's history
    * The API sends a callback to your server to deduct the bet amount and, if applicable, credit any winnings

    If a bet or win cannot be processed correctly due to an unexpected issue, we automatically roll back the transaction and refund all funds to the player. No manual intervention is required.
  </Step>
</Steps>

## Integration roadmap

Follow these four steps in order to go live with Seamless Integration.

<Steps>
  <Step title="Setting a callback URL">
    A callback URL is the endpoint on your server that we will call during gameplay to check balances and post transaction results. To register it, navigate to **\[Settings]** in the back office.

    The URL must begin with `http://` or `https://` — for example, `https://yourcasino.com/callback`. After saving, allow up to 10 minutes for the change to propagate to the live servers.
  </Step>

  <Step title="Writing callback processing code">
    Create a server-side endpoint at the callback URL you registered. This endpoint is responsible for handling all balance-related requests from us during active game sessions.

    Your endpoint must:

    1. **Listen for POST requests** — we send all callbacks as HTTP POST requests
    2. **Parse the JSON body** — each request contains structured data describing the transaction or balance inquiry
    3. **Return balance and status** — respond with the player's current balance and a `statusCode` indicating success or failure

    For the full request and response specifications, see the Seamless Wallet API reference page.

    <Warning>
      You are responsible for any failures resulting from incomplete or incorrect implementation of the callback endpoint. Unhandled callbacks can cause transaction errors and player-facing disruptions.
    </Warning>
  </Step>

  <Step title="Game testing">
    Once your callback endpoint passes all automated tests, use the **Main API** endpoints to run end-to-end game tests with real game sessions. Verify that balances update correctly in your system as bets and wins are processed during actual gameplay.
  </Step>
</Steps>
