Appendix
This page lists all possible status codes that may appear in the Transfer Wallet API, along with their descriptions, plus additional reference lists.
Status Code Overview
| Code | Response Message | Description | Related API |
|---|---|---|---|
| 0 | No error | Request succeeded | All APIs |
| 2 | The balance is not enough | Insufficient Balance | Transfer, Full Withdrawal |
| 3 | The transaction already exist | Transaction already exists | Transfer, Full Withdrawal |
| 4 | The transaction doesn't exist | Transaction does not exist | Query Transaction Details |
| 5 | Game is not found | Game does not exist or has been removed | Open Game, Query Bet Logs, Query Bet Detail, Query Bet Replay |
| 6 | The username already exist | Player Account already exists | Create Player |
| 7 | Internal server error | Internal system error | All APIs |
| 8 | The User is not exist | Player does not exist | Query Player Balance, Transfer, Full Withdrawal, Open Game, Query Bet Detail |
| 10 | Agent code was not found or block | Agent does not exist or has been blocked | Get Access Token |
| 11 | Parameters error | Parameters error | All APIs |
| 14 | The BetId is not exist | Bet log does not exist | Query Bet Detail, Query Bet Replay |
| 19 | Invalid account | Player Account is invalid | Query Player Balance, Transfer, Full Withdrawal, Open Game |
| 20 | Member wallet is temporarily locked | Player's wallet is temporarily locked | Transfer, Full Withdrawal |
| 35 | The transaction is pending | Transaction is being processed | Transfer, Full Withdrawal, Query Transaction Details |
| 37 | The Function is not supported | This function is not supported | Query Bet Detail, Query Bet Replay |
| 38 | Query not allowed as the betId has expired | The bet detail/replay is past the queryable time window | Query Bet Detail, Query Bet Replay |
| 77 | Too many request, please try again later | Requests are too frequent | Query Bet Logs, Query Daily Report, Query Player Report |
| 78 | Operator card spinId was used | The item ID has already been used | Send Operator Card, Send Simplified FreeSpin Operator Card |
| 81 | Branch config not found | Branch config not found | Query Player Balance, Transfer, Full Withdrawal, Open Game, Query Bet Logs, Kick Player, Query Player Session |
| 82 | Please check Site ID is for this player | The Site ID does not match the Player | Open Game |
| 83 | Signature verification failed | Signature verification failed | All APIs requiring verification |
| 84 | Encryption failed | Encryption failed | All APIs requiring encryption |
| 85 | Key config setting error | Error reading encryption configuration | All APIs |
| 86 | Game is restricted | The Game is rejected due to a restriction | Open Game, Send Operator Card, Send Simplified FreeSpin Operator Card, Send Simplified FeatureGame Operator Card |
| 87 | Invalid item parameter value | Operator Card Parameter Combination Error | Send Operator Card, Send Simplified FreeSpin Operator Card, Send Simplified FeatureGame Operator Card |
| 88 | Only one item can be active at a time in the same game | An Item cannot be triggered while another is already active | Send Operator Card, Send Simplified FreeSpin Operator Card, Send Simplified FeatureGame Operator Card |
| 89 | The item has not been used yet, or the spinId does not exist | The result cannot be queried because the Item has not been used yet | Send Operator Card, Send Simplified FreeSpin Operator Card, Send Simplified FeatureGame Operator Card |
| 100 | The server is busy, please try again later | The service is busy | Open Game |
Error Code Classification
Success Codes
| Code | Description |
|---|---|
| 0 | Request succeeded, no error |
Player Management Errors
| Code | Description | Possible Cause | Handling Suggestion |
|---|---|---|---|
| 6 | Player Account already exists | Attempted to create a Player using a Player Account that is already registered | Use a different Player Account |
| 8 | Player does not exist | Querying or operating on a Player that does not exist | Confirm the Player ID or Player Account is correct, and call the Create Player API first |
| 19 | Player Account is invalid | The Player Account format is incorrect or its status is abnormal | Check the Player Account format and status |
| 20 | Player's wallet is temporarily locked | The Player's wallet has been temporarily locked for some reason | Retry later or contact the Customer Support Team |
Transaction-Related Errors
| Code | Description | Possible Cause | Handling Suggestion |
|---|---|---|---|
| 2 | Insufficient Balance | Insufficient Balance when withdrawing or Betting | Check the Player's Balance and ensure it is sufficient |
| 3 | Transaction already exists | A duplicate Transaction ID (transId) was used | Use a new, unique Transaction ID |
| 4 | Transaction does not exist | Querying a Transaction record that does not exist | Confirm the Transaction ID is correct |
| 35 | Transaction is being processed | The Transaction is being processed and has not yet completed | Wait, or query the Transaction status |
| 37 | This function is not supported | This Transaction type is not supported by this API function | Confirm whether the Transaction is within the queryable scope |
| 38 | The bet detail/replay is past the queryable time window | The Transaction occurred more than 30 days ago | Contact the Customer Support Team |
| 78 | Duplicate Item Transaction ID | The item ID has already been used | Use a different spinId parameter |
Game Management Errors
| Code | Description | Possible Cause | Handling Suggestion |
|---|---|---|---|
| 5 | Game does not exist | An invalid Game Code was used, or the Game has been taken offline | Confirm the Game Code is correct |
| 82 | Site ID does not match | The Site ID does not correspond to the Player | Contact the Customer Support Team and provide the logUUID |
| 86 | The Game is rejected due to a restriction | The Game cannot be opened due to currency, line, or other restrictions | First confirm whether the Game list documentation notes this restriction, then contact the Customer Support Team and provide the logUUID |
| 100 | The service is busy and cannot generate a new Game link | The service has reached its concurrent user limit and is rejecting additional Players to maintain quality | Retry later |
Query Bet Log Errors
| Code | Description | Possible Cause | Handling Suggestion |
|---|---|---|---|
| 14 | Bet log does not exist | Querying a bet log that does not exist, or the txTime is incorrect | Confirm the betId and txTime parameters are correct |
System Level Errors
| Code | Description | Possible Cause | Handling Suggestion |
|---|---|---|---|
| 7 | Internal system error | Internal server error | Contact the Customer Support Team and provide the logUUID |
| 10 | Agent error | The agentId or secret is incorrect, or the Agent has been blocked | Check the authentication information, and contact your administrator to confirm the Agent status |
| 11 | Parameters error | Request parameters are missing, incorrectly formatted, or do not meet requirements | Check all required parameters and their formats |
| 77 | Requests are too frequent | Too many requests were sent within a short period | Reduce the request frequency and retry later |
| 81 | Branch config not found | System configuration is missing | Contact the Customer Support Team |
| 83 | Signature verification failed | The signature calculation is incorrect or the request headers are incorrect | Check the signature generation logic and request headers |
| 84 | Encryption failed | The encryption key is incorrect or the encryption method is incorrect | Check the encryption configuration and implementation |
| 85 | Error reading encryption configuration | The system could not read valid key information | Contact the Customer Support Team |
| 87 | Operator Card Parameter Combination Error | Check the Operator Card sending rules for the corresponding API | Re-confirm the parameter rules or contact the Customer Support Team |
| 88 | An Item cannot be triggered while another is already active | The Player already has another card active in this Game that has not yet finished being used | Have the Player re-enter the Game to use it, then send again |
| 89 | The result cannot be queried because the Item has not been used yet | Applies to Send Operator Card, Send Simplified FreeSpin Operator Card, Send Simplified FeatureGame Operator Card | Re-confirm whether the Item has been used, or whether the Item has expired and no longer exists |
Authentication Related Error Details
10 - Agent Error
This occurs on the /v2/auth API. Possible causes:
- agentId does not exist: An unregistered Agent ID was used
- secret is incorrect: After decryption, the secret parameter does not match the agentId
- Agent is blocked: The Agent ID has been disabled by the system
Handling Suggestion:
- Confirm that the agentId and secret are correct
- Contact the Customer Support Team to check the Agent status
- Check whether the x-agentid request header matches the agentId in the body
83 - Signature Verification Failed
This is the most common authentication error, and can be caused by the following:
-
Incorrect signature string concatenation order
- The correct order should be: agentId + secret + timestamp + nonce + cipherText
- Use SHA256 (not HMAC-SHA256) for hashing
-
Timestamp verification failed
- The time difference between the Operator and the server exceeds the allowed range (typically ±1 minute)
- The timestamp format is incorrect (should be a 13-digit millisecond timestamp)
-
Nonce verification failed
- A duplicate nonce value was used (each request must use a unique nonce)
-
Missing or incorrect request headers
- Missing required request headers: x-agentid, x-timestamp, x-nonce, x-signature
- The request header values do not match the values actually used to compute the signature
Handling Suggestion:
- Refer to the Authentication Overview to check your signature generation logic
- Ensure server time is synchronized (use NTP)
- Generate a new nonce for every request
- Confirm that all request headers are set correctly
84 - Encryption Failed
Encryption/decryption related errors:
- Incorrect encryption method: AES-256-GCM must be used
- Incorrect key: The encryption key configuration is incorrect
- Incorrect data format: The data format before encryption is incorrect
Handling Suggestion:
- Check whether your encryption implementation uses AES-256-GCM
- Confirm the encryption key is correct
- Refer to the encryption example in the Authentication Overview
Game Type Mapping Table
| Code | Description |
|---|---|
| 1 | Slot |
Language
| Code | Description |
|---|---|
| en | English (default language; also used as the fallback if VP does not support the requested language) |
| zh-Hans | Simplified Chinese |
| th | Thai |
| my | Burmese |
| id | Indonesian |
| vi | Vietnamese |
| jp | Japanese |
| pt | Portuguese |
| ko | Korean |
| tl | Tagalog |
| hi | Hindi |
| ms | Malay |
| bn | Bengali |
| es | Spanish |
Currency
| Code | Description |
|---|---|
| AUD | Australian Dollar |
| BDT | Bangladeshi Taka |
| BRL | Brazilian Real |
| CAD | Canadian Dollar |
| CNY | Chinese Yuan |
| EGP | Egyptian Pound |
| EUR | Euro |
| GBP | British Pound |
| HKD | Hong Kong Dollar |
| IDR | Indonesian Rupiah (1:1000) |
| IDR1 | Indonesian Rupiah (1:1) |
| INR | Indian Rupee |
| JPY | Japanese Yen |
| KHR | Cambodian Riel |
| KRW | Korean Won (1:1) |
| KRW1 | Korean Won (1:1000) |
| LAK | Laotian Kip (1:1000) |
| LAK1 | Laotian Kip (1:1) |
| LKR | Sri Lankan Rupee |
| MMK | Myanmar Kyat (1:1000) |
| MMK1 | Myanmar Kyat (1:1) |
| MXN | Mexican Peso |
| MYR | Malaysian Ringgit |
| MYR1 | Malaysian Ringgit (displayed as 100:1 in-Game) |
| NPR | Nepalese Rupee |
| NZD | New Zealand Dollar |
| PHP | Philippine Peso |
| PKR | Pakistani Rupee |
| THB | Thai Baht |
| THB1 | Thai Baht (displayed as 100:1 in-Game) |
| USD | US Dollar |
| USDT | Tether (USDT) |
| VND | Vietnamese Dong (1:1000) |
| VND1 | Vietnamese Dong (1:1) |
| ZAR | South African Rand |
Transaction Source Codes
| Code | Description |
|---|---|
| 1 | Normal Bet |
| 2 | Task System |
| 3 | Prize |
| 4 | System Reward |
| 5 | Treasure Chest |
| 6 | Cash Ticket |
| 7 | Multi Quest |
| 8 | Card |
| 9 | Operator Card |