Appendix
This page lists all possible Status Codes and their descriptions, as well as additional lists, in the Transfer Wallet API.
Status Code Overview
| Code | Response Message | Description | Related API |
|---|---|---|---|
| 0 | No error | Request Success | 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 Detail |
| 5 | Game is not found | Game does not exist or has been delisted | 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 is blocked | Get Access Token |
| 11 | Parameters error | Parameter error | All APIs |
| 14 | The BetId is not exist | Query Bet Logs does not exist | Query Bet Detail, Query Bet Replay |
| 19 | Invalid account | Player Account invalid | Query Player Balance, Transfer, Full Withdrawal, Open Game |
| 20 | Member wallet is temporarily locked | Player Wallet temporarily locked | Transfer, Full Withdrawal |
| 35 | The transaction is pending | Transaction in progress | Transfer, Full Withdrawal, Query Transaction Detail |
| 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 | Bet detail/replay has exceeded query time | Query Bet Detail, Query Bet Replay |
| 77 | Too many request, please try again later | Too many requests | Query Bet Logs, Query Daily Report, Query Player Report |
| 78 | Operator card spinId was used | Item ID has been used | Send Operator Card, Send Simple FreeSpin Operator Card |
| 81 | Branch config not found | Branch config not found | Query Player Balance, Transfer, Full Withdrawal, Open Game, Query Bet Logs, Force Logout, Query Player Session |
| 82 | Please check siteId is for this player | siteId does not match Player | Open Game |
| 83 | Signature verification failed | Signature verification failed | All APIs that require verification |
| 84 | Encryption failed | Encryption failed | All APIs that require encryption |
| 85 | Key config setting error | Encryption setting read abnormal | All APIs |
| 86 | Game is restricted | Game rejected due to restrictions | Open Game, Send Operator Card, Send Simple FreeSpin Operator Card, Send Simple FeatureGame Operator Card |
| 87 | Invalid item parameter value | Operator Card Parameter Combination Error | Send Operator Card, Send Simple FreeSpin Operator Card, Send Simple FeatureGame Operator Card |
| 88 | Only one item can be active at a time in the same game | Item cannot be triggered simultaneously | Send Operator Card, Send Simple FreeSpin Operator Card, Send Simple FeatureGame Operator Card |
| 89 | The item has not been used yet, or the spinId does not exist | Item not yet used, cannot query result | Send Operator Card, Send Simple FreeSpin Operator Card, Send Simple FeatureGame Operator Card |
| 100 | The server is busy, please try again later | Service is busy | Open Game |
Error Code Classification
Success Codes
| Code | Description |
|---|---|
| 0 | Request Success, no error |
Player Management Errors
| Code | Description | Possible Cause | Handling Suggestion |
|---|---|---|---|
| 6 | Player Account already exists | Used an already registered Player Account to Create Player | Use another Player Account |
| 8 | Player does not exist | Query or operate on a non-existent Player | Confirm Player ID or Player Account is correct, call Create Player API first |
| 19 | Player Account invalid | Player Account format error or abnormal status | Check Player Account format and status |
| 20 | Player Wallet temporarily locked | Player Wallet is temporarily locked for some reason | Retry later or Contact Customer Support Team |
Transaction Related Errors
| Code | Description | Possible Cause | Handling Suggestion |
|---|---|---|---|
| 2 | Insufficient Balance | Insufficient Balance during withdrawal or Bet | Check Player Balance, ensure it is sufficient |
| 3 | Transaction already exists | Used a duplicate transaction ID (transId) | Use a new unique transaction ID |
| 4 | Transaction does not exist | Query for a non-existent transaction record | Confirm transaction ID is correct |
| 35 | Transaction in progress | Transaction is being processed, not yet completed | Wait or query transaction status |
| 37 | This function is not supported | This query transaction does not support this API function | Confirm whether the transaction is within the queryable range |
| 38 | Bet detail/replay has exceeded query time | Transaction occurred more than 30 days ago | Contact Customer Support Team |
| 78 | Item Transaction ID duplicate | Item ID has been used | Change spinId parameter |
Game Management Errors
| Code | Description | Possible Cause | Handling Suggestion |
|---|---|---|---|
| 5 | Game does not exist | Used invalid Game Code or Game has been delisted | Confirm Game Code is correct |
| 82 | siteId does not match | siteId does not correspond to Player | Contact Customer Support Team, provide logUUID |
| 86 | Game rejected due to restrictions | This Game cannot be opened due to currency, line, etc. | First confirm if the Game List document has a description, then Contact Customer Support Team, provide logUUID |
| 100 | Service is busy, cannot generate new Game link | Service has reached the maximum number of users, more Players are rejected to ensure quality | Retry later |
Query Bet Log Errors
| Code | Description | Possible Cause | Handling Suggestion |
|---|---|---|---|
| 14 | Query Bet Logs does not exist | Query for a non-existent Query Bet Logs or incorrect txTime | Confirm betId and txTime parameters are correct |
System Level Errors
| Code | Description | Possible Cause | Handling Suggestion |
|---|---|---|---|
| 7 | Internal system error | Internal server error | Contact Customer Support Team, provide logUUID |
| 10 | Agent error | agentId or secret is incorrect, or Agent is blocked | Check authentication information, contact administrator to confirm status |
| 11 | Parameter error | Request parameters missing, format error, or do not meet requirements | Check all required parameters and format |
| 77 | Too many requests | Too many requests sent in a short period | Reduce request frequency, retry later |
| 81 | Branch config not found | System configuration missing | Contact Customer Support Team |
| 83 | Signature verification failed | Signature calculation error or incorrect request header | Check signature generation logic and request header |
| 84 | Encryption failed | Encryption key error or incorrect encryption method | Check encryption configuration and implementation |
| 85 | Key config setting error | Encryption setting read abnormal | Contact Customer Support Team |
| 87 | Operator Card Parameter Combination Error | Please check the Operator Card sending rules for the corresponding API | Reconfirm parameter rules or Contact Customer Support Team |
| 88 | Item cannot be triggered simultaneously | Player has another card active in the Game that has not been used yet | Please ask the Player to re-enter the corresponding Game and use the card before sending again |
| 89 | Item not yet used, cannot query result | Item has not been fully used | Reconfirm that the Item has been used or if the Item has expired or does not exist |
Authentication Related Error Details
10 - Agent Error
Occurs in the /v2/auth API, possible causes:
- agentId does not exist: Used an unregistered Agent ID
- secret is incorrect: The secret parameter after decryption does not match agentId
- Agent is blocked: Agent ID has been disabled by the system
Handling Suggestion:
- Confirm agentId and secret are correct
- Contact Customer Support Team to check Agent status
- Check if x-agentid request header and agentId in the body are consistent
83 - Signature verification failed
This is the most common authentication error, possibly caused by the following:
-
Incorrect signature string combination order
- The correct order should be: agentId + timestamp + nonce + cipherText
- Use SHA256 (not HMAC-SHA256) for hashing
-
Timestamp verification failed
- Operator and server time difference exceeds the allowed range (usually ±1 minute)
- Incorrect timestamp format (should be a 13-digit millisecond timestamp)
-
Nonce verification failed
- Used a duplicate nonce value (must be unique for each request)
-
Missing or incorrect request header
- Missing required request headers: x-agentid, x-timestamp, x-nonce, x-signature
- Request header value is inconsistent with the value used for actual signature calculation
Handling Suggestion:
- Refer to Authentication Overview to check signature generation logic
- Ensure server time synchronization (using NTP)
- Generate a new nonce for each request
- Confirm all request headers are set correctly
84 - Encryption failed
Encryption/decryption related errors:
- Incorrect encryption method: Must use AES-256-GCM
- Incorrect key: Encryption key configuration is incorrect
- Incorrect data format: Data format before encryption is incorrect
Handling Suggestion:
- Check if encryption implementation uses AES-256-GCM
- Confirm encryption key is correct
- Refer to the encryption example in Authentication Overview
Game Kind Mapping Table
| Code | Description |
|---|---|
| 1 | SLOT (Slot) |
| 6 | FISH (Fish) |
Language
| Code | Description |
|---|---|
| en | English (Default Language, if VP does not support the corresponding Language, then it's the default 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 |
Currencies
info
The "Display 100:1 in Game" for MYR1 and THB1 only affects the displayed ratio of amounts within the Game. API values do not require ratio conversion and can be sent as 1:1.
| Code | Description |
|---|---|
| AUD | Australian Dollar |
| BDT | Bangladeshi Taka |
| BRL | Brazilian Real |
| CAD | Canadian Dollar |
| CNY | Chinese Yuan |
| COP | Colombian Peso |
| 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 | Lao Kip (1:1000) |
| LAK1 | Lao 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 (Display 100:1 in Game) |
| NGN | Nigerian Naira |
| NPR | Nepalese Rupee |
| NZD | New Zealand Dollar |
| PHP | Philippine Peso |
| PKR | Pakistani Rupee |
| SGD | Singapore Dollar |
| THB | Thai Baht |
| THB1 | Thai Baht (Display 100:1 in Game) |
| USD | US Dollar |
| USDT | Tether |
| 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 |
| 13 | Fish Game Special Transaction (Jackpot and Card) |
Feature Mode
Used to indicate additional Game modes triggered or used during a Normal Bet (betSourceId = 1).
| Code | Description |
|---|---|
| 0 | baseGame |
| 1 | freeGame |
| 2 | buyBonus |
| 3 | buyBonusWithGem |
| 4 | extraBet |