Error Codes
All API errors return an appropriate HTTP status code with a JSON body. The error envelope format depends on which adapter you’re using.
NOWPayments Error Format
Section titled “NOWPayments Error Format”{ "statusCode": 400, "code": "BAD_REQUEST", "message": "price_amount must be a positive number"}Cryptomus Error Format
Section titled “Cryptomus Error Format”{ "state": 1, "message": "amount, currency, and order_id are required"}OxaPay Error Format
Section titled “OxaPay Error Format”{ "data": null, "message": "amount and currency are required", "error": { "type": "validation", "key": "missing_field", "message": "amount and currency are required" }, "status": 400, "version": "1.0.0"}Status Codes
Section titled “Status Codes”These HTTP status codes are used consistently across all adapters:
| Code | Meaning | Common Causes |
|---|---|---|
400 | Bad Request | Missing or invalid parameters |
401 | Unauthorized | Missing or invalid authentication |
404 | Not Found | Payment or resource does not exist |
429 | Too Many Requests | Rate limit exceeded (100 req/min) |
500 | Internal Server Error | Unexpected server error |
501 | Not Implemented | Endpoint exists in the original provider but is not yet supported |