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.
For front-end UI ThrillTech provides a separate driver including wheel spin and jackpot celebration animations. This can be embedded in your Jackpot widget to improve player engagement during wins.
Access it through the CDN, available at https://cdn.hub88.io/thrilltech-sdk/thrilltech-driver-v1.0.1.js .
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.
Access the SDK library from: https://cdn.hub88.io/thrilltech-sdk/hub88thrillconnect-0.0.10.js
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
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
After the client is initialised, opt-in, leaderboard, and other API calls become available.
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?
ThrillTech determines the list of winners for a community payout event and submits the batch to Hub88.
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.
Each transaction includes a
metablock flagging it as a community payout and providing the context needed to reconcile it with the jackpot round and the bet that triggered it.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.
Do not validate the session for community payout transactions.
Community payouts are distributed by ThrillTech in batch — they are not tied to an active player session at the time of delivery. Applying standard session validation to these transactions will cause them to be rejected. Use meta.is_community_payout = true to identify these transactions and bypass session validation accordingly.
The meta block accompanying each community payout transaction has the following structure:
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:
Verify that the provided token is valid,
Check that the player currency is properly set (cannot be 'XXX'),
Ensure the WebSocket URL is accessible from your environment.
Opt-In Not Working
If player opt-in is failing:
Verify the player is properly authenticated,
Check that the
source_idorinstance_idis valid,Ensure the WebSocket connection is established before making opt-in requests.
Error Codes During Authentication
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.
Navigate to Backoffice → Transactions.
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?

