Error codes
All Blockdaemon API errors return a consistent JSON structure with a machine-readable code field. Use code to match errors programmatically — not message, which may change.
Validation errors
| Code | HTTP | Title | Retryable |
|---|---|---|---|
| missing_parameter | 400 | Missing required parameter | No |
| invalid_parameter | 400 | Invalid parameter value | No |
| invalid_chain_id | 400 | Invalid chain identifier | No |
| unsupported_chain | 400 | Unsupported chain or network | No |
| invalid_address | 422 | Invalid address | No |
| address_checksum_invalid | 422 | Address checksum invalid | No |
| insufficient_balance | 422 | Insufficient balance | No |
| gas_estimation_failed | 400 | Gas estimation failed | No |
| nonce_too_low | 422 | Nonce too low | No |
| nonce_too_high | 422 | Nonce too high | No |
Authentication & authorization
| Code | HTTP | Title | Retryable |
|---|---|---|---|
| authentication_required | 401 | Authentication required | No |
| invalid_api_key | 401 | Invalid API key | No |
| permission_denied | 403 | Permission denied | No |
Not found
| Code | HTTP | Title | Retryable |
|---|---|---|---|
| block_not_found | 404 | Block not found | No |
| event_rule_not_found | 404 | Event rule not found | No |
| event_target_not_found | 404 | Event target not found | No |
| event_variable_not_found | 404 | Event variable not found | No |
| route_not_found | 404 | Swap route not available | No |
| swap_not_found | 404 | Swap not found | No |
Conflict
| Code | HTTP | Title | Retryable |
|---|---|---|---|
| transaction_already_exists | 409 | Transaction already exists | No |
Rate limiting
| Code | HTTP | Title | Retryable |
|---|---|---|---|
| rate_limited | 429 | Rate limit exceeded | Yes |
Server errors
| Code | HTTP | Title | Retryable |
|---|---|---|---|
| internal_error | 500 | Internal server error | Yes |
| service_unavailable | 503 | Service temporarily unavailable | Yes |
| bad_gateway | 502 | Upstream service error | Yes |
| not_implemented | 501 | Not implemented | No |
