> For the complete documentation index, see [llms.txt](https://docs.hub88.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hub88.io/developer-docs/supplier-api-reference/supplier-api-overview/seamless-wallet-response-statuses-supplier-api.md).

# Seamless Wallet response statuses - Supplier API

As a part of the Wallet API, the following response status codes need to be implemented by the Operator, to respond to Hub88 requests.&#x20;

| Status Code                           | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `RS_OK`                               | Successful response. The request has been accepted and processed without any errors.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `RS_ERROR_UNKNOWN`                    | General error status, for cases without a special error code.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `RS_ERROR_INVALID_PARTNER`            | Operator or their `sub_partner` is disabled or incorrect `sub_partner_id` is sent.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `RS_ERROR_INVALID_TOKEN`              | <p>Token is <strong>unknown</strong> to Hub88's system. Note that there is a different status for expired tokens.<br></p><p><strong>Common cause:</strong> The Supplier is making Wallet API calls (e.g., <code>/user/balance</code>) before returning a successful <code>/game/url</code> response. The session token is not active until <code>/game/url</code> completes successfully. Ensure all Wallet API calls are made only after the game URL has been returned and loaded in the player's browser. See the <a href="https://docs.hub88.io/developer-docs/supplier-api-reference/supplier-api-overview#real-gameplay">Real gameplay flow</a> for the expected sequence.</p> |
| `RS_ERROR_INVALID_GAME`               | <p>Unknown <code>game\_code</code>. <br><br>NB! In case of game Suppliers with game lobby (Live Dealers), user can switch games within one game session. Such changes are tracked and a corresponding <code>game\_code</code> is sent, to specify, which game the user is currently playing. <code>game\_code</code> may change multiple times within one game session.</p>                                                                                                                                                                                                                                                                                                          |
| `RS_ERROR_WRONG_CURRENCY`             | The transaction currency is different from user's wallet currency.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `RS_ERROR_NOT_ENOUGH_MONEY`           | Not enough money on user's balance to place a bet. Please send the actual balance together with this status.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `RS_ERROR_USER_DISABLED`              | The user is disabled or locked and can't place any new bets.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `RS_ERROR_INVALID_SIGNATURE`          | The game Supplier or Hub88 couldn't verify signature on request.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `RS_ERROR_TOKEN_EXPIRED`              | <p>The session with the specified token has expired. <br><br><strong>NB! Token validity must not be validated in case of wins and rollbacks, since they might come after the bet has been played.</strong></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `RS_ERROR_WRONG_SYNTAX`               | The received request doesn't match expected request form and/or syntax.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `RS_ERROR_WRONG_TYPES`                | The type of parameters in the request body don't match expected types.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `RS_ERROR_DUPLICATE_TRANSACTION`      | A transaction with same `transaction_uuid` was sent, but there was a different reference `transactionID`, `amount`, `currency`, `round`, `user` or `game`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `RS_ERROR_TRANSACTION_DOES_NOT_EXIST` | Returned when the bet referenced in win request can't be found on Hub88's side (wasn't processed or was rolled back).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `RS_ERROR_LIMIT_REACHED`              | The request limit is reached for the player.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `RS_ERROR_OPERATOR_API`               | Returned when the Operator's response structure doesn't match Hub88's structure.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.hub88.io/developer-docs/supplier-api-reference/supplier-api-overview/seamless-wallet-response-statuses-supplier-api.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
