For the complete documentation index, see llms.txt. This page is also available as Markdown.

ThrillTech Jackpots SDK

To access this SDK, please contact your Account Manager or Technical Operations Specialist for configuration.

The ThrillTech Jackpots SDK is a TypeScript library that connects your casino frontend to Hub88’s ThrillTech Jackpot platform. ThrillTech jackpots are opt-in, player-funded side-bet jackpot systems designed to enhance player engagement and retention through real-time, customizable jackpot experiences. This SDK gives operators access to real-time jackpot functionality, player engagement tools, and seamless integration with existing game lobbies.

With this SDK, you can:

  • Authenticate players to participate in jackpots,

  • Subscribe to real-time jackpot events (updates, wins, opt-in changes),

  • Allow players to opt-in or opt-out of jackpots with optional contribution values,

  • Fetch leaderboards, sources, currencies, and jackpot metadata,

  • Display jackpots dynamically in your lobby and games,

  • Trigger animations for jackpot wins using the ThrillTech animation driver

The SDK lets operators focus on custom UI and player experience, while jackpot logic, event streaming, and payout handling are managed by Hub88 and ThrillTech.

Architecture

  • Hub88 provides authentication and event distribution via SDK init token.

  • ThrillTech (TT) manages jackpot creation, payout configuration, and animations.

  • Operator backend authenticates players and passes init payload to the frontend.

  • Casino frontend initialises SDK, listens to events, and updates UI accordingly.

Communication Flow

SDK key communication flow

Integration Steps

Prerequisites

  • Node.js (v14 or later is recommended)

  • npm or yarn

To access this SDK, please contact your Account Manager or Technical Operations Specialist for preliminary setup configuration.

Architecture Overview

The SDK consists of the following main components:

  • Hub88 ThrillTech Connect: Core client class that handles WebSocket connections and event management;

  • Request Factory: Handles API requests for jackpot operations, opt-in/out, and leaderboard data

  • Event System: Pub/sub pattern for handling real-time events from the ThrillTech server.


Step 1: Authenticate Player (Backend)

Your backend must authenticate players with Hub88 before initialising the SDK.

Endpoint:

Sample Request:

Sample Response:

Return this response securely to the frontend.

Step 2: Initialise SDK Client

Client Initialisation

Event Handling

Event
Description

ConnectEvents.Connected

Triggered when WebSocket connection is established

ConnectEvents.Disconnected

Triggered when WebSocket connection is closed

ConnectEvents.ConnectionFailed

Triggered when WebSocket connection fails

ConnectEvents.Message

Triggered when any message is received

ConnectEvents.JackpotUpdateEvent

Triggered when jackpot values are updated

ConnectEvents.JackpotWinEvent

Triggered when a jackpot is won

ConnectEvents.OptInEvent

Triggered when opt-in status changes

Step 3: Opt-in / Opt-out

Signature

Sample response

Step 4: Leaderboard and Jackpot Queries

Signature

Sample Leaderboard Response


Step 5: Fetch Jackpot Metadata

Get Source for Current Brand

Signature

Sample Response

Get Currencies

Signature

Sample Response

Get Jackpot for Default Source (Specific Player)

Signature

Sample Response


Full Example


TypeScript Types

The SDK provides comprehensive TypeScript definitions for all features:


Community Payouts (Batch Transactions)

ThrillTech Jackpots include community payout events, enabling distributions where a single triggering bet results in jackpot credits being awarded to many eligible players at once (for example, a Mega Pot win shared across opted-in users on a brand).

To execute these efficiently and reliably, Hub88 integrates with the ThrillTech batch transaction API and orchestrates the resulting credits to operator wallets on ThrillTech's behalf.

Operators do not need to implement a custom endpoint for community payouts. Payouts arrive on your existing Wallet API as standard win transactions, distinguished by the metadata fields described below.

How it works?

  1. ThrillTech determines the list of winners for a community payout event and submits the batch to Hub88.

  2. Hub88 splits the batch into individual transactions and delivers each one to the relevant operator using the standard Wallet API contract — the same endpoint already used for regular supplier wins.

  3. Each transaction includes a meta block flagging it as a community payout and providing the context needed to reconcile it with the jackpot round and the bet that triggered it.

  4. Hub88 handles retries, idempotency, and failure recovery internally, so the operator only needs to acknowledge the transaction the same way it acknowledges any other win.

Identifying a community payout

A community payout transaction is identified by meta.is_community_payout = true. Operators that wish to apply custom handling — separate ledger tagging, player notifications, accounting categorisation — can branch on this flag inside their wallet implementation.

The meta block accompanying each community payout transaction has the following structure:

Field
Description

is_community_payout

Always true for community payout transactions. Use this as the primary flag to identify the transaction type on your side.

batch_transaction_id

Unique identifier of the parent batch. All individual transactions belonging to the same community payout share this id and can be grouped on the operator side for reconciliation and reporting.

source_id

Identifier of the jackpot source that produced the payout.

source_variant

Optional qualifier for the source. For jackpot transactions this carries the Win Pot ID (e.g. Minor, Major, Mega).

jackpot_amount

The amount awarded to this specific player as part of the community distribution.

reference_bet

Metadata of the bet that triggered the community payout. This is the most important field for traceability — it links the payout back to the player and round whose bet caused the jackpot to fire.


Troubleshooting

WebSocket Connection Issues

If you're experiencing connection issues:

  1. Verify that the provided token is valid,

  2. Check that the player currency is properly set (cannot be 'XXX'),

  3. Ensure the WebSocket URL is accessible from your environment.

Opt-In Not Working

If player opt-in is failing:

  1. Verify the player is properly authenticated,

  2. Check that the source_id or instance_id is valid,

  3. Ensure the WebSocket connection is established before making opt-in requests.

Error Codes During Authentication

HTTP Code
Message
Potential Cause
Action

400

A parameter <param> is missing or invalid

A required request parameter is missing, empty, or invalid. Check: user, token, country, currency, platform (GPL_DESKTOP/GPL_MOBILE), operator_id (integer), jackpot_uuid.

Verify request payload includes all required fields with valid values.

400

Operator game is disabled

Operator game is disabled in configuration.

Enable the operator game in the system.

400

Agnostic jackpot with uuid <jackpot_uuid> is not allowed for this operator

Jackpot exists but not linked to operator.

Link jackpot to operator.

400

Agnostic jackpot with uuid <jackpot_uuid> is disabled

Jackpot is disabled.

Enable jackpot before requesting.

404

Operator was not found

Operator ID does not exist.

Check operator ID.

404

Operator game was not found

No game linked to operator.

Ensure operator is assigned the game.

404

Contract was not found

Contract ID missing or invalid.

Verify operator–contract mapping.

404

Currency was not found

Currency code not valid in Hub88.

Use valid ISO currency code.

404

Agnostic jackpot with uuid <jackpot_uuid> was not found

Jackpot UUID not recognized.

Confirm jackpot UUID is correct.

404

Country was not found

Country code not valid in Hub88.

Use valid ISO country code.

404

Supplier game was not found

Supplier game record missing.

Ensure supplier game exists and is configured.

500

Game code for agnostic jackpot should exist but is missing

Thrilltech game code could not be retrieved.

Confirm that a valid jackpot game code exists for the request.

500

Game code for agnostic jackpot is not valid

An invalid/unrecognized game code was supplied.

Ensure the game code matches an eligible Thrilltech game.

500

Game should exist but was not found

The requested game does not exist in cache or DB.

Verify game exists and is configured correctly.

500

Contract is improperly configured

Contract linked to operator/supplier is misconfigured.

Review Hub88 back office contract setup.

500

Invalid response from ThrillTech

Thrilltech backend returned invalid/unexpected response.

Retry or contact support if persistent.


Managing ThrillTech Jackpots in Operator Backoffice

Since Thrilltech operates as a Supplier within Hub88, all bets and wins related to Thrilltech Jackpots are logged and visible in the Backoffice. You can view and filter these transactions by following the steps below.

  1. Navigate to Backoffice → Transactions.

  2. Choose one of the following filtering options:

Option 1: Filter by User

  • Select a specific user to see all transactions linked to that player.

  • The Backoffice records both:

    • Supplier requests (bet and win), and

    • Thrilltech Jackpot requests (bet and win).

  • This means you’ll see paired logs for each transaction.

Option 2: Filter by Supplier / Product Code

  • Select Thrilltech as the supplier to view only Thrilltech Jackpot transactions.

  • For each transaction, you’ll see both the bet and win entries related to Thrilltech Jackpots.

Understanding Amount Values

In the Transactions view, the Amount column reflects Thrilltech’s jackpot bet and win logic:

  • Bet transaction → Shows the contribution amount defined during the Opt-In process.

  • Win transaction

    • Shows zero (0) indicating the player did not win the jackpot in this round.

    • Shows jackpot amount if the bet resulted in a win.

Last updated

Was this helpful?