To prevent duplicate processing and ensure data consistency, Splash implements a temporary idempotency mechanism for jackpot contribution requests. This document outlines how Splash handles duplicate requests and defines the boundary where responsibilities shift to the client.
When a client's user triggers a jackpot contribution request, Splash enforces a 20-minute idempotency window using a compound locking key based on the client's transaction identifier and their unique platform identifier.
Compound Key = [client_transactionId] + [splash_clientUuid]
transactionId, pairs it with our internal clientUuid (identifying the specific client the player belongs to) to form the compound key, and initiates the corresponding withdrawal request.❗ Important Note on Edge Cases If a duplicate contribution request is sent by the client after the 20-minute window has lapsed, Splash will treat it as a new request and will forward a subsequent withdrawal request to the client.
In this scenario, it is strictly up to the client to implement their own idempotency checks on their receiving endpoint to ensure they do not process the duplicate withdrawal for the same user/transaction.