---
updatedAt: 2026-06-04T08:31:13.000Z
---

Fetch the complete documentation index at: https://docs.blockdaemon.com/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# 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](./missing_parameter)                | 400  | Missing required parameter   | No        |
| [invalid\_parameter](./invalid_parameter)                | 400  | Invalid parameter value      | No        |
| [invalid\_chain\_id](./invalid_chain_id)                 | 400  | Invalid chain identifier     | No        |
| [unsupported\_chain](./unsupported_chain)                | 400  | Unsupported chain or network | No        |
| [invalid\_address](./invalid_address)                    | 422  | Invalid address              | No        |
| [address\_checksum\_invalid](./address_checksum_invalid) | 422  | Address checksum invalid     | No        |
| [insufficient\_balance](./insufficient_balance)          | 422  | Insufficient balance         | No        |
| [gas\_estimation\_failed](./gas_estimation_failed)       | 400  | Gas estimation failed        | No        |
| [nonce\_too\_low](./nonce_too_low)                       | 422  | Nonce too low                | No        |
| [nonce\_too\_high](./nonce_too_high)                     | 422  | Nonce too high               | No        |

## Authentication & authorization

| Code                                                  | HTTP | Title                   | Retryable |
| ----------------------------------------------------- | ---- | ----------------------- | --------- |
| [authentication\_required](./authentication_required) | 401  | Authentication required | No        |
| [invalid\_api\_key](./invalid_api_key)                | 401  | Invalid API key         | No        |
| [permission\_denied](./permission_denied)             | 403  | Permission denied       | No        |

## Not found

| Code                                                      | HTTP | Title                    | Retryable |
| --------------------------------------------------------- | ---- | ------------------------ | --------- |
| [block\_not\_found](./block_not_found)                    | 404  | Block not found          | No        |
| [event\_rule\_not\_found](./event_rule_not_found)         | 404  | Event rule not found     | No        |
| [event\_target\_not\_found](./event_target_not_found)     | 404  | Event target not found   | No        |
| [event\_variable\_not\_found](./event_variable_not_found) | 404  | Event variable not found | No        |
| [route\_not\_found](./route_not_found)                    | 404  | Swap route not available | No        |
| [swap\_not\_found](./swap_not_found)                      | 404  | Swap not found           | No        |

## Conflict

| Code                                                         | HTTP | Title                      | Retryable |
| ------------------------------------------------------------ | ---- | -------------------------- | --------- |
| [transaction\_already\_exists](./transaction_already_exists) | 409  | Transaction already exists | No        |

## Rate limiting

| Code                            | HTTP | Title               | Retryable |
| ------------------------------- | ---- | ------------------- | --------- |
| [rate\_limited](./rate_limited) | 429  | Rate limit exceeded | Yes       |

## Server errors

| Code                                          | HTTP | Title                           | Retryable |
| --------------------------------------------- | ---- | ------------------------------- | --------- |
| [internal\_error](./internal_error)           | 500  | Internal server error           | Yes       |
| [service\_unavailable](./service_unavailable) | 503  | Service temporarily unavailable | Yes       |
| [bad\_gateway](./bad_gateway)                 | 502  | Upstream service error          | Yes       |
| [not\_implemented](./not_implemented)         | 501  | Not implemented                 | No        |