---
title: "Payout statuses and failure codes reference"
description: "The statuses a payout moves through, the approval state, and the failure codes you may receive — each with a customer-safe meaning."
url: "/docs/developers/payout-statuses-and-failure-codes-reference/"
category: "Developers"
---

A payout has a **status** (where it is in processing) and, before it sends, an **approval state**. If it fails, you also get a **failure code** with a customer-safe message. These are what you'll see on a payout and on payout notifications.

## Statuses

| Status | Meaning |
|---|---|
| **Pending** | Created, not yet sent — often waiting for approval or a review. |
| **Processing** | Approved and sent; the bank is moving the money. |
| **Completed** | Done from our side. |
| **Failed** | Didn't send; the amount returns to the wallet. |
| **Cancelled** | Cancelled before sending. |

## Approval state

- **Awaiting approval** — the payout needs a teammate with approval rights to approve it (with a second factor) before it sends. See [Why do I need 2FA or a passkey to approve a payout?](/docs/payouts/why-do-i-need-2fa-or-a-passkey-to-approve-a-payout/)

## Failure codes

| Code | Customer-safe message |
|---|---|
| `bc_rejected` | The bank rejected the payout. |
| `bc_missing_funding` | The payout could not be funded. |
| `bc_reversed` | The payout was reversed by the bank. |
| `bc_payment_failed` | The payout could not be processed. |
| `compliance_hold` / `compliance_rejected` | Paused for review — contact support. |

Validation errors (before a payout is sent) are returned directly — for example an unsupported currency, an unapproved payout method, or insufficient balance. See [Why did my payout fail?](/docs/payouts/why-did-my-payout-fail/)

## Related

- [Payment statuses reference](/docs/developers/payment-statuses-reference/)
- [How do idempotency keys work?](/docs/developers/how-do-idempotency-keys-work/)
