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

# Webhooks

> Receive event-driven notifications for operations and transactions across crypto and USD.

Anchorage Digital webhooks enable you to receive event-driven notifications for operations and transactions across both crypto and USD. Event notifications are configurable by endpoint and by event type.

## Transaction lifecycle

```mermaid theme={null}
stateDiagram-v2
    [*] --> approved

    approved --> canceled: canceled webhook
    approved --> processing: begin processing event

    processing --> sent: finish processing event

    sent --> failed: failed webhook
    sent --> complete: completed webhook

    complete --> returned: returned webhook
    complete --> [*]

    canceled --> [*]
    failed --> [*]
    returned --> [*]

    classDef terminal fill:#f96,stroke:#333,stroke-width:3px
    class canceled,failed,complete,returned terminal
```

## Supported events

### Outgoing wire

| Event ID                                     | Name               | Payload fields                              | Description                                                                                             |
| :------------------------------------------- | :----------------- | :------------------------------------------ | :------------------------------------------------------------------------------------------------------ |
| `fiat-banks-outbound-wire.cancelled`         | cancelled          | `id, status, event_time, live_mode`         | Canceled outbound wire. Only occurs if Anchorage Digital cancels before processing begins.              |
| `fiat-banks-outbound-wire.begin_processing`  | begin\_processing  | `id, status, event_time, live_mode`         | Bank has begun processing. Payment cannot be canceled after this point. Status moves to `processing`.   |
| `fiat-banks-outbound-wire.finish_processing` | finish\_processing | `id, status, event_time, live_mode`         | Bank has finished processing. Status moves to `sent`.                                                   |
| `fiat-banks-outbound-wire.failed`            | failed             | `id, status, reason, event_time, live_mode` | Payment failed at the bank or network level (e.g., misconfigured receiving account or blocked account). |
| `fiat-banks-outbound-wire.completed`         | completed          | `id, status, event_time, live_mode`         | Payment settled. Originating and receiving accounts reflect balance changes.                            |
| `fiat-banks-outbound-wire.returned`          | returned           | `id, status, reason, event_time, live_mode` | Wire returned. Return codes are not populated for wires.                                                |

### ACH debit/credit

| Event ID                                    | Name               | Payload fields                                    | Description                                                                                           |
| :------------------------------------------ | :----------------- | :------------------------------------------------ | :---------------------------------------------------------------------------------------------------- |
| `fiat-banks-outbound-ach.cancelled`         | cancelled          | `id, status, event_time, live_mode`               | Canceled outbound ACH. Only occurs if Anchorage Digital cancels before processing begins.             |
| `fiat-banks-outbound-ach.begin_processing`  | begin\_processing  | `id, status, event_time, live_mode`               | Bank has begun processing. Payment cannot be canceled after this point. Status moves to `processing`. |
| `fiat-banks-outbound-ach.finish_processing` | finish\_processing | `id, status, event_time, live_mode`               | Bank has finished processing. Status moves to `sent`.                                                 |
| `fiat-banks-outbound-ach.completed`         | completed          | `id, status, event_time, live_mode`               | Payment settled. Originating and receiving accounts reflect balance changes.                          |
| `fiat-banks-outbound-ach.returned`          | returned           | `id, status, reason, code, event_time, live_mode` | ACH returned.                                                                                         |

### Notice of change

| Event ID                               | Name     | Payload fields                                                                         | Description                                                                                                                                                          |
| :------------------------------------- | :------- | :------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `fiat-banks-notice-of-change.received` | received | `payment_id, code, reason, originating_account_id, event_time, live_mode, corrections` | Notice of change received for a payment. The `corrections` field contains tag/value corrections that must be applied to the originating account for future payments. |

### Book transfer

| Event ID                                     | Name               | Payload fields                      | Description                                                                                           |
| :------------------------------------------- | :----------------- | :---------------------------------- | :---------------------------------------------------------------------------------------------------- |
| `fiat-banks-outbound-book.cancelled`         | cancelled          | `id, status, event_time, live_mode` | Canceled outbound book transfer. Only occurs if Anchorage Digital cancels before processing begins.   |
| `fiat-banks-outbound-book.begin_processing`  | begin\_processing  | `id, status, event_time, live_mode` | Bank has begun processing. Payment cannot be canceled after this point. Status moves to `processing`. |
| `fiat-banks-outbound-book.finish_processing` | finish\_processing | `id, status, event_time, live_mode` | Bank has finished processing. Status moves to `sent`.                                                 |
| `fiat-banks-outbound-book.completed`         | completed          | `id, status, event_time, live_mode` | Transfer settled. Originating and receiving accounts reflect balance changes.                         |

### Incoming wire

| Event ID                            | Name      | Payload fields                                                                                                                                                                                                                                                           | Description                           |
| :---------------------------------- | :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------ |
| `fiat-banks-inbound-wire.completed` | completed | `id, type, amount, posted, live_mode, vendor_id, as_of_date, as_of_time, created_at, reconciled, updated_at, vendor_code, vendor_code_type, vendor_description, internal_account_id, event_time, sender_name, sender_account_number, sender_routing_number, sender_bank` | Inbound wire settled. Terminal state. |

### Interest payment

| Event ID                        | Name      | Payload fields                                                                                                                                                                                   | Description                                                                                        |
| :------------------------------ | :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------- |
| `fiat-banks-interest.completed` | completed | `id, type, amount, posted, live_mode, vendor_id, as_of_date, as_of_time, created_at, reconciled, updated_at, vendor_code, vendor_code_type, vendor_description, internal_account_id, event_time` | Interest payment received. Terminal state. No sender information — payment originated at the bank. |


## Related topics

- [Track movement status](/knowledge-base/porto/developers/move-money/operate/track-status.md)
- [Configure webhooks](/knowledge-base/porto/developers/webhooks/webhooks-configure.md)
- [Webhook testing](/knowledge-base/porto/developers/webhooks/webhooks-sandbox.md)
