Error Response Format
All errors return a consistent JSON structure:HTTP Status Codes
| Status Code | Meaning |
|---|---|
200 | Success - Request completed successfully |
201 | Created - Resource was created |
204 | No Content - Success with no response body |
400 | Bad Request - Invalid request parameters |
401 | Unauthorized - Invalid or missing API key |
403 | Forbidden - Valid authentication but insufficient permissions |
404 | Not Found - Resource doesn’t exist |
409 | Conflict - Resource already exists or state conflict |
422 | Unprocessable Entity - Valid syntax but semantic errors |
429 | Too Many Requests - Rate limit exceeded |
500 | Internal Server Error - Server error |
503 | Service Unavailable - Temporary service disruption |
Common Error Codes
Authentication Errors
unauthorized
Invalid or missing API key.
forbidden
Valid API key but insufficient permissions.
Resource Errors
not_found
Requested resource doesn’t exist.
already_exists
Resource with this identifier already exists.
Payment Errors
insufficient_balance
Wallet doesn’t have enough funds.
policy_denied
Transaction blocked by spending policy.
compliance_check_failed
Transaction failed KYC/AML screening.
wallet_frozen
Wallet is frozen and cannot make transactions.
Validation Errors
invalid_parameter
Request parameter is invalid.
missing_parameter
Required parameter is missing.
unsupported_token
Token not supported on this chain.
Rate Limit Errors
rate_limit_exceeded
Too many requests.
retry_after seconds before retrying.
Blockchain Errors
chain_error
Blockchain transaction failed.
insufficient_gas
Not enough native token for gas.
Service Errors
internal_error
Unexpected server error.
service_unavailable
Service temporarily unavailable.
Error Handling Best Practices
Retry Logic
Implement exponential backoff for transient errors:Logging
Log error details for debugging:User-Friendly Messages
Translate error codes to user-friendly messages:Webhook Error Events
Errors during payment processing trigger webhook events:Getting Help
If you encounter an error you can’t resolve:- Check this documentation for the error code
- Search our knowledge base
- Contact support with the
request_idfrom the error response - Check status page for service incidents