Error Codes
A comprehensive list of MoniPay API error codes and how to resolve them.
When an API request fails, MoniPay returns a non-2xx HTTP status code along with a JSON response containing an error code and message.
Error Response Format
Common Error Codes
| Code | HTTP | Description | Resolution |
| :--- | :--- | :--- | :--- |
| invalid_api_key | 401 | The provided API key is invalid or expired. | Check your Authorization header. |
| rate_limit_exceeded | 429 | You have sent too many requests in a short period. | Implement exponential backoff. |
| resource_not_found | 404 | The requested resource (order, link) does not exist. | Verify the ID in your request. |
| insufficient_funds | 400 | The wallet has insufficient balance for the payment. | Ask the customer to top up their wallet. |
| unsupported_chain | 400 | The requested chain is not supported for this asset. | Check Chain Coverage. |
| webhook_signature_mismatch | 400 | The webhook signature verification failed. | Check your webhook secret key. |
HTTP Status Codes
- 200 - OK: Everything worked as expected.
- 400 - Bad Request: The request was unacceptable, often due to missing a required parameter.
- 401 - Unauthorized: No valid API key provided.
- 403 - Forbidden: The API key doesn't have permissions to perform the request.
- 404 - Not Found: The requested resource doesn't exist.
- 429 - Too Many Requests: Too many requests hit the API too quickly.
- 500, 502, 503, 504 - Server Errors: Something went wrong on MoniPay's end.