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

# transaction.error

> Sent when a withdrawal fails

## transaction.error

Fired when a withdrawal execution fails. This can happen if the exchange rejects the withdrawal after submission or if an unexpected error occurs during processing.

### When this event is sent

* The exchange rejects the withdrawal (insufficient funds, invalid address, etc.)
* An unexpected error occurs during the withdrawal workflow
* The withdrawal is cancelled by the exchange

### Payload

```json Example payload theme={null}
{
  "event": "transaction.error",
  "eventId": "err_jkl012",
  "timestamp": "2026-04-21T12:00:00.000Z",
  "data": {
    "error": {
      "code": "WITHDRAWAL_EXCHANGE_ERROR",
      "message": "Insufficient funds for withdrawal",
      "timestamp": "2026-04-21T12:00:00.000Z"
    },
    "transaction": {
      "walletId": "wal_abc123",
      "quoteId": "quot_def456",
      "exchange": "coinbase",
      "asset": "BTC",
      "amount": "0.1",
      "address": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
      "network": "Bitcoin"
    },
    "rawResponse": null
  }
}
```

### Fields

| Field                       | Type                  | Description                                                                                  |
| --------------------------- | --------------------- | -------------------------------------------------------------------------------------------- |
| `data.error.code`           | `string`              | Standardized error code (e.g., `WITHDRAWAL_EXCHANGE_ERROR`, `WITHDRAWAL_INSUFFICIENT_FUNDS`) |
| `data.error.message`        | `string`              | Human-readable error description                                                             |
| `data.error.timestamp`      | `string`              | ISO 8601 timestamp of when the error occurred                                                |
| `data.transaction.walletId` | `string`              | Source wallet                                                                                |
| `data.transaction.quoteId`  | `string`              | Quote this transaction was created from                                                      |
| `data.transaction.exchange` | `string`              | Exchange identifier                                                                          |
| `data.transaction.asset`    | `string`              | Asset ticker                                                                                 |
| `data.transaction.amount`   | `string`              | Requested withdrawal amount                                                                  |
| `data.transaction.address`  | `string`              | Destination address                                                                          |
| `data.transaction.network`  | `string \| undefined` | Blockchain network                                                                           |
| `data.rawResponse`          | `unknown \| null`     | Raw exchange API response                                                                    |

<Warning>
  The `rawResponse` field contains the unmodified response from the exchange API. Its structure varies between exchanges and should not be relied upon.
</Warning>

<Info>
  Error codes are standardized across the Bluvo platform. See the [error handling guide](/learn/sdk/error-handling) for the full list.
</Info>
