Release Notes - June 2025
General
This release brings with it a number of important features and changes:
-
The Always-Fair MultiCurrency system has been extended to provide support for currency-specific optin logic. Operators who support players changing their active currencies can now choose to require that players opt-in for each currency. If this is enabled, then players opted in for currency A will not automatically be opted in when switching to currency B.
-
A new
OptInEvent
for bothThrillConnect -> Frontend
andThrillPots Gateway -> Event Processor
. This has been done to provide comprehensive and intentionally backward compatibility for existing integrations consuming the OptInEvent. This is related to the Always-Fair MultiCurrency Opt-Ins feature in ThrillPots. -
A new credit transaction handling flow which reduces the number of cancel requests for credit transactions to operator platforms (ideally to 0), while also ensuring that credit transactions (wins) are given the best chance to be processed to the player's wallet.
-
A new contribution constraint to limit jackpot contribution values to not be larger than the bet made into the underlying game.
BREAKING CHANGES
The following updates may represent breaking changes in your existing integration. Please review the release notes carefully and if you have any doubts, feel free to reach out to your technical point of contact.
- Changes to
OptInEvent
- Retrieving opt-in status for a player via the "Get Instance by Source" APIs (v1 and v2) may create a breaking change due to an update in the shape of the
OptInRecord
. Please review the latest schema documentation forOptInRecord
to determine if you need to make changes. - ThrillConnect REST Opt-In endpoint (deprecated since 0.1.26) has been removed.
New Features
ThrillPots
-
Always-Fair MultiCurrency Opt-Ins
- In the April 2025 Release, we introduced the *Always Fair Multicurrency solution which allowed minimum and maximum bets to be defined per currency while maintaining the integrity and fairness of the underlying jackpot maths and mechanics.
- This release brings a further enhancement to the platform, allowing operators which support multiple wallets per player account to allow players to opt-in and out for specific bet sizes per currency.
- Operators can also choose to treat each currency as a unique opt-in, meaning that if a player is opted in for EUR but then switches their account to a different currency, they will need to re-optin for the new currency at a new bet value. This is a configuration item and can be configured on a per-jackpot level.
-
Enhanced Community Payout Strategies: Random winner selection
- The Highest Contributor and Highest Contributor per Pot strategies can now be configured to randomly select winners from their list of potential winners. This allows operators to make use of the respective strategies as before, but also specify that winners should be randomly picked from a fixed size pool of the resulting list of candidates.
- For example, the strategy could now be defined to say:
- From the list of the top 500 highest contributors, randomly select 50 winners
-
Contribution constraints based on Base Wager
- As of this release, it is possible to define the maximum allowed contribution to be relative to the base wager placed by players in the base game.
- The constraint is defined as a percentage of the base wager.
Example 1
- If you would like to prevent jackpot contributions from being larger than base wager bets, you can define that the contribution-to-base-wager cap is 100%.
- This means that if a player is staking €0.50, the player's contribution cannot be greater than €0.50 (regardless of their opt-in preference)
Example 2
- If you would like to limit jackpot contributions to being a maximum of 50% of the base wager, then the contribution-to-base-wager cap to be 50%
- eg Player bets €0.50 into a game, therefore the largest contribution allowed would be €0.25.
ThrillGate
- Standard Wallet:
- Player Session Token is now sent on the
X-TT-PLAYER-TOKEN
header for the following calls:- Balance
- Transaction
- Cancel Transaction
- Player Session Token is now sent on the
ThrillPots Gateway
- Latest Winners API v2
- It is now possible to retrieve the latest winners for a jackpot by its
source_id
. - The latest winners v2 API is available at:
POST /v2/jackpots/latest_winners
- latest winners for all potsPOST /v2/jackpots/pot_winners
- latest winners by pot- Both endpoints accept the following payload:
{ "target": { "id": "source_id" | "instance_id", "type": "source" | "instance" }, "operator_id": "operator_id", // eg "thrilltech" "player": { "brand_id": "brand_id", // eg "brand1" "id": "player_id", // optional "country": "country-code", // optional "segments": [list of segment identifiers] // can be empty }, "limit": 15 // Default = 10, min = 1, max = 20, "winners_for_player_brand": `true` | `false` // if `true`, will limit wins to players from the specific brand }
- It is now possible to retrieve the latest winners for a jackpot by its
BitBridge
- Added support for fetching configured crypto exchange rates from CoinMarketCap
- Desired crypto exchange rates can be set as part of the exchange rate fetching job
- Telegram integration now supports media. Any ThrillTech system event can result in multiple messages, including images and video messages.
Changes/Improvements
ThrillGate
-
Transaction and Transaction Batch cancellation requests now support carrying an optional
gameround_id
for convenient lookups in certain platforms.- This can be enabled on the Wallet configuration by adding the following key:
must_send_gameround_on_cancellation: true
- If you need assistance with configuring this, please reach out to the ThrillTech Engineering team for guidance.
- The new payload for
Cancel Transaction
is defined as:
{ "transaction_id": "TRANSACTION_ID_TO_CANCEL", "gameround_id": "GAMEROUND_ID_OF_TRANSACTION", // optional if configured "player_id": "PLAYER_ID_FOR_TRANSACTOIN", // optional }
- This can be enabled on the Wallet configuration by adding the following key:
-
Credit Transaction changes
- As of this release, all credit transactions will now be retried as usual and then put onto an on-going retry queue of Pending Transactions in the background. This change has been made to provide broader support of platforms that do not support cancellation of credit transactions.
- The Pending Transactions are retried over a longer period of time until a high limit of retries has been reached, at which point, they are moved to being Withheld Transactions and need to be handled manually through the ThrillOffice.
- This means that there will no longer be cancellations for any batch transactions or credit transactions.
NOTE The batch cancellation API on the standard wallet will be deprecated in the future. It is recommended to keep it available (if implemented) for the meanwhile.
ThrillConnect
- If a jackpot is configured to be identified by a
game_code
, the JackpotInstance
returned by "Get Jackpot By Source" calls will now return thegame_code
identifier as part of the result data.
ThrillOffice
- The winners reports now have a new
Community Win
column which shows the value of community payouts (if the jackpot tier supported a community payout). - A completely revamped approach to calculating contributions, GGR and Seed Deficits for various reports, including the Reconciliation Report.
- This approach will not only deliver accurate reporting for GGR, Hold and Seed Deficits going forward, but will also produce reconciliation reports for the lifetime of the system.
- Winners report now includes the players brand in both web and download view.
- Current user is now displayed in Profile Settings.
- Transactions & Winners Reports now allow filtering on debit and credit transaction ids.
Bug Fixes
ThrillPots
- Fixed a bug where contributions were counted against constrained jackpot tiers even if the player/contribution did not qualify for the tier
ThrillOffice
- Fixed a bug where the password policy was not being validated on user create / edit modal.
- Fixed resource access for organizations with hierarchy