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

# Failure causes

Whenever a transfer fails internally, the failure cause is added to the `transfer` object returned in the HTTP response.

<Card title="Important" icon="lightbulb" iconType="duotone" color="#ca8b04">
  **These are "application errors" and not related to the HTTP protocol.**

  The HTTP status codes returned by each HUB2 API endpoint are given in the <u>[HUB2 API reference documentation](/api-reference)</u>.
</Card>

The failure causes shown on this page only concern errors encountered during the processing of a transaction.

List of different failure causes with their associated codes and descriptions :

| Code                        | Description                                                                                                                      |
| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------- |
| `internal_error`            | Transfer failed. Internal error. Our technical team has been notified.                                                           |
| `invalid_amount`            | Transfer failed. The amount is invalid. Please [refer to the amount policies documentation](/documentation/en/policies#pay-out). |
| `service_unavailable`       | Transfer failed. Provider is currently unavailable.                                                                              |
| `too_many_request`          | Transfer failed. Provider is overloaded. Please try again later.                                                                 |
| `unknown_reason`            | Transfer failed. No reason was provided by the provider.                                                                         |
| `fraud_suspicion`           | Transfer failed. Fraud suspicion detected by the provider.                                                                       |
| `invalid_destination`       | Transfer failed. Destination is not valid.                                                                                       |
| `forbidden_by_provider`     | Transfer failed. Refused by provider.                                                                                            |
| `timeout`                   | Transfer failed. The waiting time with provider is exceeded.                                                                     |
| `insufficient_funds`        | Transfer failed. Merchant doesn't have enough funds.                                                                             |
| `unsupported_currency`      | Transfer failed. This currency is not supported.                                                                                 |
| `canceled`                  | Transfer failed. Canceled by provider.                                                                                           |
| `destination_not_allowed`   | Transfer failed. Transfer to this recipient is forbidden by the provider.                                                        |
| `blacklisted_msisdn`        | The MSISDN is temporarily banned.                                                                                                |
| `invalid_payment_processor` | Transfer failed. The selected provider does not support this operation.                                                          |
| `duplicate_request`         | Transfer failed. A similar operation has just been recorded. Please try again later.                                             |
| `bad_request`               | Transfer failed. The received request contains errors or is incorrectly formatted.                                               |
