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

# Transaction states

> Learn about the different states for deposits, withdrawals, and transfers

## Deposit states

Deposits represent funds received into a sub-account, either through wire
transfers or blockchain transactions.

| State      | Description                                                                                                                                                                      |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `pending`  | The deposit has been detected and is being processed. For wire deposits, the funds are being received. For crypto deposits, the transaction is awaiting blockchain confirmation. |
| `complete` | The deposit has been fully processed and the stablecoin balance has been credited to the sub-account.                                                                            |
| `failed`   | The deposit could not be processed. This can occur if a wire transfer is rejected or a blockchain transaction fails.                                                             |

## Withdrawal states

Withdrawals represent funds sent from a sub-account to an external destination,
either through wire transfers or blockchain transactions.

| State        | Description                                                                                                                                                                                                          |
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `pending`    | The withdrawal has been initiated and is being processed. The stablecoin amount is held from the available balance.                                                                                                  |
| `processing` | The withdrawal is actively being executed. For wire withdrawals, the stablecoins are being redeemed and the fiat transfer is being initiated. For crypto withdrawals, the blockchain transaction is being broadcast. |
| `complete`   | The withdrawal has been fully processed. For wire withdrawals, the fiat has been sent. For crypto withdrawals, the blockchain transaction has been confirmed.                                                        |
| `failed`     | The withdrawal could not be processed. The held funds are returned to the available balance.                                                                                                                         |

## Transfer states

Transfers represent outbound crypto movements to external blockchain addresses.

| State        | Description                                                                           |
| ------------ | ------------------------------------------------------------------------------------- |
| `pending`    | The transfer has been initiated and is awaiting processing.                           |
| `processing` | The blockchain transaction has been broadcast and is awaiting confirmation.           |
| `complete`   | The blockchain transaction has been confirmed and the transfer is finished.           |
| `failed`     | The transfer could not be completed. The funds are returned to the available balance. |

<Note>
  **Transfers vs. withdrawals for crypto operations**: A *transfer* sends
  stablecoins to an external blockchain address without converting to fiat. A
  *withdrawal* redeems stablecoins for fiat currency and sends the fiat through a
  wire transfer. Outbound crypto operations use the transfer endpoint, while
  outbound fiat operations use the withdrawal endpoint.
</Note>

## Internal transfer states

Internal transfers move funds between sub-accounts in the same program.

| State      | Description                                                                                            |
| ---------- | ------------------------------------------------------------------------------------------------------ |
| `complete` | The internal transfer completed instantly. Both the source and destination balances have been updated. |
| `failed`   | The internal transfer could not be processed, typically due to insufficient funds.                     |

<Note>
  Terminal states (`complete`, `failed`) are final states that transactions cannot
  transition out of. Set up
  [webhook notifications](/api-reference/webhook-endpoints#v1-notifications) to
  receive real-time updates when transactions reach these states.
</Note>

## Notification events

When a transaction transitions to a new state, Digital Asset Accounts sends a
webhook notification. To subscribe, see
[Set up a webhook endpoint](/api-reference/webhook-endpoints#v1-notifications).

| Category           | Notifications                                              |
| ------------------ | ---------------------------------------------------------- |
| Deposits           | Deposit pending, deposit complete, deposit failed          |
| Withdrawals        | Withdrawal pending, withdrawal complete, withdrawal failed |
| Transfers          | Transfer pending, transfer complete, transfer failed       |
| Internal transfers | Internal transfer complete                                 |
| Wire events        | Wire deposit received, wire withdrawal initiated           |
