Error Codes
Common business error codes covered by this public documentation. The actual server response is authoritative.
Ordinary business errors return JSON with code, message, data and requestId. Invalid keys, signatures, timestamps, nonces or security restrictions may return HTTP 401 / 403 with an empty body and no business code. In every language, check the HTTP status and body before parsing JSON. The localized message is not a decision key.
Authentication codes below describe diagnostic meanings; public security denials do not necessarily include them. Handle HTTP 429 as rate limiting. After HTTP 5xx or a timeout, query order status before retrying to avoid duplicate payments.
| Code | Description |
|---|---|
| 10001 | Invalid request parameters. |
| 20005 | Invalid API Key. |
| 20011 | Invalid request signature. |
| 20012 | Signature timestamp is outside the allowed window. |
| 20016 | The nonce has already been used. Do not replay requests. |
| 20020 | Too many requests. |
| 31001 | Unsupported chain. |
| 31002 | Unsupported token. |
| 31003 | Chain and token do not match. |
| 40002 | Exclusive wallet binding does not exist. |
| 40105 | Shared pay-in amount is already reserved. |
| 40108 | Pay-in order does not exist. |
| 51002 | This operation is blocked by the current merchant status or runtime policy. |
| 51004 | Insufficient fee balance. |
| 51008 | The current plan does not include this feature. |
| 53001 | Payout source address does not exist. |
| 53002 | Payout source address is unavailable. |
| 53003 | Insufficient available token balance. |
| 54001 | Payout order does not exist. |
| 54003 | The payout target cannot be one of the merchant's own wallet addresses. |
| 54004 | The merchant order number conflicts with an existing payout order. |