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

CodeHTTPTitleRetryable
missing_parameter400Missing required parameterNo
invalid_parameter400Invalid parameter valueNo
invalid_chain_id400Invalid chain identifierNo
unsupported_chain400Unsupported chain or networkNo
invalid_address422Invalid addressNo
address_checksum_invalid422Address checksum invalidNo
insufficient_balance422Insufficient balanceNo
gas_estimation_failed400Gas estimation failedNo
nonce_too_low422Nonce too lowNo
nonce_too_high422Nonce too highNo

Authentication & authorization

CodeHTTPTitleRetryable
authentication_required401Authentication requiredNo
invalid_api_key401Invalid API keyNo
permission_denied403Permission deniedNo

Not found

CodeHTTPTitleRetryable
block_not_found404Block not foundNo
event_rule_not_found404Event rule not foundNo
event_target_not_found404Event target not foundNo
event_variable_not_found404Event variable not foundNo
route_not_found404Swap route not availableNo
swap_not_found404Swap not foundNo

Conflict

CodeHTTPTitleRetryable
transaction_already_exists409Transaction already existsNo

Rate limiting

CodeHTTPTitleRetryable
rate_limited429Rate limit exceededYes

Server errors

CodeHTTPTitleRetryable
internal_error500Internal server errorYes
service_unavailable503Service temporarily unavailableYes
bad_gateway502Upstream service errorYes
not_implemented501Not implementedNo