> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bridg.now/llms.txt
> Use this file to discover all available pages before exploring further.

# Errors

> One envelope on every route. Branch on the code.

```json theme={null}
{ "error": { "code": "quote_drifted", "message": "…", "details": {}, "retryAfterMs": 0 } }
```

`details` carries what you act on: both figures of a drifted quote, the verdict that refused a venue override.

| Code                                               | Status    | What to do                                                              |
| -------------------------------------------------- | --------- | ----------------------------------------------------------------------- |
| `unknown_asset`                                    | 400       | No venue with fresh state lists that token.                             |
| `sender_required` / `recipient_required`           | 400       | Supply the wallet, or the recipient on a cross-VM corridor.             |
| `invalid_refund_address`                           | 400       | Not a valid address on the source chain.                                |
| `invalid_referral_wallet` / `invalid_referral_bps` | 400       | Wallet not valid on the source chain's VM, or rate outside 0 to 15.     |
| `built_mismatch`                                   | 400       | The signed transaction is not what was built. Nothing was sent.         |
| `invalid_tx_hash`                                  | 400       | Not a valid hash for the source chain.                                  |
| `decision_not_found` / `transfer_not_found`        | 404       | Expired, or never existed.                                              |
| `quote_expired` / `quote_drifted`                  | 409       | Quote again and choose again.                                           |
| `build_expired` / `transfer_not_signable`          | 409       | Build again before signing.                                             |
| `venue_not_eligible` / `venue_not_in_decision`     | 409 / 400 | The `quoteId` or `venue` override was refused.                          |
| `privacy_venue_required`                           | 409       | A public venue was built against a private decision.                    |
| `below_min`                                        | 409       | The row would not clear Hyperliquid's minimum.                          |
| `indicative_decision`                              | 409       | Indicative pricing cannot be built.                                     |
| `execution_disabled`                               | 409       | Execution is switched off. Quoting still serves.                        |
| `tx_not_found`                                     | 409       | The hash is not visible yet. Retry with the same hash.                  |
| `tx_reverted`                                      | 409       | It matched a built step and reverted. Sign again.                       |
| `tx_mismatch`                                      | 409       | That hash is on chain and is not a step Bridg built. Do not sign again. |
| `tx_hash_already_claimed`                          | 409       | Another order already holds that transaction.                           |
| `user_ip_mismatch`                                 | 409       | A different end user than the venue created the order for.              |
| `rate_limited`                                     | 429       | Wait `retryAfterMs`.                                                    |
| `broadcast_failed`                                 | 502       | The chain never saw it. The order is unchanged. Sign again.             |
