ThrillTech Jackpots SDK

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

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:


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?