Skip to main content

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

Example payload
{
  "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

FieldTypeDescription
data.error.codestringStandardized error code (e.g., WITHDRAWAL_EXCHANGE_ERROR, WITHDRAWAL_INSUFFICIENT_FUNDS)
data.error.messagestringHuman-readable error description
data.error.timestampstringISO 8601 timestamp of when the error occurred
data.transaction.walletIdstringSource wallet
data.transaction.quoteIdstringQuote this transaction was created from
data.transaction.exchangestringExchange identifier
data.transaction.assetstringAsset ticker
data.transaction.amountstringRequested withdrawal amount
data.transaction.addressstringDestination address
data.transaction.networkstring | undefinedBlockchain network
data.rawResponseunknown | nullRaw exchange API response
The rawResponse field contains the unmodified response from the exchange API. Its structure varies between exchanges and should not be relied upon.
Error codes are standardized across the Bluvo platform. See the error handling guide for the full list.