This page documents our automatic reconciliation processes for both debit and credit requests that have failed during processing.


Overview

Depending on the operator implementation, when a debit transaction fails due to network issues, timeouts, or server errors, it can leave a transaction in a "hanging" or inconsistent state. It’s important to distinguish that on the Splash side, transactions are consistent and marked failed should a debit failure happen, but the operator side may be more complicated due to round and other game play mechanics.

To resolve this, we run automated reconciliation scripts multiple times a day. These scripts sweep for failed requests and attempt to gracefully reconcile them.

Reconciliation Workflows

Our scripts handle failures differently depending on whether the debit request itself failed, or if the debit succeeded but the subsequent credit failed.

1. Failed Debit Requests

2. Failed Credit Requests (with Successful Debit)

Limits & Stop-Loss Policy

To prevent infinite loops and reduce unnecessary load on our systems and clients, we enforce a strict retry cap on our reconciliation scripts: