Error Codes
Agent Token Authentication Errors
| Error Message | Cause | Solution |
|---|---|---|
Authorization header is required | Missing Authorization header | Add Authorization: Bearer {token} |
Authorization header format must be Bearer {token} | Incorrect header format | Confirm format is Bearer<space>{token} |
Invalid token format | Token is not three-part | Confirm Token format is key.timestamp.signature |
Invalid token: missing required parts | Token has empty parts | Check all parts have values |
Invalid token: invalid timestamp | Timestamp is not a valid number | Confirm timestamp is Unix seconds |
Token expired | Timestamp outside ±2 min window | Check server time, regenerate with current timestamp |
Invalid agent credentials | API Key invalid or not found | Verify agent_api_key is correct |
Invalid token signature | Signature mismatch | Verify agent_api_secret is correct, check signing algorithm |
General Error Codes
| Code | Message | Description |
|---|---|---|
0 | success | Success |
1001 | err.param.invalid | Parameter missing or invalid format |
1002 | err.signature.invalid | Signature verification failed |
1003 | err.request.timeout | Request timeout |
1004 | err.request.duplicate | Duplicate request (idempotency) |
Player Related
| Code | Message | Description |
|---|---|---|
2001 | err.player.not_found | Player not found |
2002 | err.player.duplicate | Player already exists (duplicate registration) |
2003 | err.player.disabled | Player has been disabled |
2004 | err.player.password_invalid | Invalid password |
2005 | err.player.register_failed | Player registration failed |
2006 | err.player.member_id_invalid | Invalid member_id format |
Fund Related
| Code | Message | Description |
|---|---|---|
3001 | err.fund.insufficient_balance | Insufficient balance |
3002 | err.fund.invalid_amount | Invalid transfer amount (zero or exceeds limit) |
3003 | err.fund.duplicate_transfer | Duplicate transfer reference |
3004 | err.fund.transfer_pending | Transfer in progress, please query later |
3005 | err.fund.currency_not_supported | Currency not supported |
Game Related
| Code | Message | Description |
|---|---|---|
4001 | err.game.not_found | Game not found or offline |
4002 | err.game.maintenance | Game under maintenance |
4003 | err.game.type_unsupported | Unsupported game type |
4004 | err.game.platform_unsupported | Unsupported platform type |
4005 | err.game.launch_failed | Game launch failed |
4006 | err.game.access_denied | Game-launch access validation failed. Check the detailed msg: the game may not support the currency, the agent currency may be disabled, the brand may not support the currency, a commission rate may be missing, or the game may be unauthorized. |
Provider Related
| Code | Message | Description |
|---|---|---|
5001 | err.provider.unavailable | Provider unavailable |
5002 | err.provider.call_failed | Provider API call failed |
5003 | err.provider.abnormal_response | Provider returned abnormal response |
5004 | err.provider.unsupported | Unsupported provider |
5005 | err.provider.feature_unsupported | Provider does not support this feature |
Debugging and Troubleshooting Guide
When game launch returns code=4006, msg identifies the failed access check. Fix the indicated configuration; retrying or restarting the service alone will not resolve it.
Error Message (Detailed msg) | Possible Cause | Troubleshooting Steps |
|---|---|---|
Current currency MYR is not supported | The game's own currency_codes does not include MYR, so the game cannot launch in MYR. | Confirm with the provider that the game supports MYR. Add MYR to the game master data only after that confirmation. |
Current currency MYR is not supported (an ALL game) | MYR is not enabled in global Currency Management. ALL only resolves to globally enabled actual currencies. | Enable MYR in Currency Management, then confirm that the game's Game List currency includes MYR before launching. |
Current currency MYR is not authorized | MYR is explicitly disabled in the agent's Currency Access. | Enable MYR in Agent → Currency Access. |
Brand RICH88 does not support currency MYR | The current brand does not support or enable MYR. | Enable MYR for RICH88 in Provider / Brand settings. |
Current currency MYR has no configured commission rate | The game supports MYR, but the agent has no applicable Provider / Brand / game-type / MYR commission rate. | Add or enable the matching MYR rate in Agent → Commission Rate, for example GSC / RICH88 / SLOT / MYR. |
Current game is not authorized | The Agent Provider Route does not include the game or GSC product. | Select and save the game or GSC product in Agent → Provider Route. |
GSC provider configuration is missing | No enabled GSC Provider configuration is available. | Ask the platform administrator to verify that the GSC Provider is enabled and completely configured. |
Call agent balance callback failed... | Core system failed to reach the integration callback server. | 1. Check if the Callback URL (Base URL) is correct in Merchant Setup. 2. Verify if the callback server is online and white-listed IPs. |
Player auto registration failed during game launch | Silent registration failed when launching a new user. | Database error or core system validation error. Please contact tech support. |
All Currencies commission fallback
All Currencies in Agent Commission Rate is a fallback only when no specific-currency rate matches; a specific currency rate takes precedence. It does not enable a currency or bypass game, Brand, or Agent currency authorization.