| AUTHENTICATION_REQUIRED | 401 | Authentication is missing. Provide client_id and client_secret via Basic Auth. |
| INVALID_CREDENTIALS | 401 / 403 | Credentials are invalid, or the caller lacks required access |
| INVALID_HMAC_SIGNATURE | 401 | HMAC signature is invalid. |
| HMAC_SIGNATURE_REQUIRED | 401 | HMAC signature is required but was not provided. |
| TRANSACTION_NOT_OWNED | 403 | The transaction does not belong to the authenticated account. |
| COUNTRY_NOT_SUPPORTED_BY_ACCOUNT | 403 | The account does not support the requested country/corridor. |
| KYC_REQUIRED | 403 | KYC verification is required before the operation can proceed. |
| INVALID_REQUEST | 400 | The request is malformed or fails validation. |
| MISSING_REQUIRED_FIELD | 400 | One or more required fields are missing. |
| MISSING_REQUIRED_FIELDS | 400 | Multiple required fields are missing (often includes missing_fields). |
| INVALID_QR_FORMAT | 400 | The QR payload is missing or invalid. |
| INVALID_COUNTRY_CODE | 400 | The country code is invalid or unsupported for this operation. |
| INVALID_AMOUNT | 400 | The amount is invalid (e.g. missing, ≤ 0, or out of range). |
| INVALID_CURRENCY | 400 | The currency is invalid or unsupported. |
| INVALID_STATUS | 400 | The status filter/value is invalid. |
| INVALID_LIMIT | 400 | The pagination limit value is invalid. |
| INVALID_START_AFTER | 400 | The pagination cursor (start_after) is invalid. |
| TRANSACTION_NOT_PENDING | 400 | The transaction is not in PENDING status (often includes current_status). |
| QUOTATION_EXPIRED | 400 | The quotation has expired; call getQuotation again before payout. |
| METHOD_NOT_ALLOWED | 405 | HTTP method is not allowed for this endpoint. |
| IDEMPOTENCY_KEY_REQUIRED | 400 | X-Idempotency-Key header is required. |
| CUSTOMER_NOT_ELIGIBLE | 400 | Customer cannot transact until required sender profile fields are completed. |
| TRANSACTION_NOT_FOUND | 404 | The requested transaction was not found. |
| RESOURCE_NOT_FOUND | 404 | The requested resource was not found (e.g. customer, account). |
| INSUFFICIENT_FUNDS | 402 | Account balance is insufficient for the requested payout. |
| INTERNAL_SERVER_ERROR | 500 | Unexpected server error. |
| PROVIDER_ERROR | 400 / 500 | Upstream payment-provider failure. |
| WEBHOOK_SECRET_NOT_CONFIGURED | 500 | Webhook signing secret is not configured (inbound webhook handlers). |
| INVALID_WEBHOOK_SIGNATURE | 401 / 400 | Inbound webhook signature verification failed. |
| RATE_LIMIT_EXCEEDED | 429 | Too many requests; retry later. |