> ## 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

- [Configure webhooks](/knowledge-base/porto/developers/webhooks/webhooks-configure.md)
- [Webhook testing](/knowledge-base/porto/developers/webhooks/webhooks-sandbox.md)
- [Cancel webhook subscription](/knowledge-base/porto/api-reference/v2/webhook-notifications/cancel-webhook-subscription.md)
