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

> ## Agent Instructions
> When building application code, use `@naturalpay/sdk` for TypeScript or `naturalpay` for Python.
> When operating Natural directly for a user, use the payments MCP at `https://mcp.natural.com`.
> When searching Natural documentation, use the docs MCP at `https://docs.natural.com/mcp`.
> Use the Natural CLI for terminal and CI automation.
> Use REST only for unsupported languages or when the user explicitly requests raw HTTP.
> Start integration development and testing in the sandbox. Do not use production unless the user explicitly requests it.
> For sandbox requests that require `customerPartyId`, list customers first. Reuse only the intended fixture; otherwise create a customer.
> REST and SDK amounts use integer minor units. Payments MCP amounts use decimal strings with a required currency code.

# Overview

> Send domestic USD wires to external party accounts

<Note>Direct is in early access. To request access, contact [hi@natural.com](mailto:hi@natural.com).</Note>

A wire (`wire_*`) sends USD from a customer wallet to an [external party account](/guides/concepts/external-party-accounts). The beneficiary needs a complete address. Account reachability is advisory. Natural checks account readiness when you create the wire.

Create a wire with the customer wallet, external party account, amount, and description. You can include `remittanceInfo` for the beneficiary. Use an idempotency key so a retried request does not create another wire.

## Lifecycle

A wire starts `CREATED`. Existing approval policies can place it in `AWAITING_APPROVAL`. Approval resumes submission. Denial ends it in `APPROVAL_DENIED`.

After submission, the wire becomes `PROCESSING`. Settlement ends it in `COMPLETED` and sets `completedAt`. A bank rejection ends it in `REJECTED`. Other failures end it in `FAILED`. The `failure` field contains the available code and reason.

Cancellation is available only before submission. A canceled wire ends in `CANCELED`.

Wires have no `RETURNED` status.

The [event catalog](/api-reference/event-catalog) describes `wire.created`, `wire.processing`, `wire.completed`, `wire.rejected`, and `wire.failed`. Events support both own-party subscriptions and delegated subscriptions with Direct read access.

## Sandbox

Use the [settle simulation](/api-reference/simulations/settle-wire) and [fail simulation](/api-reference/simulations/fail-wire) to drive terminal states without waiting for bank processing.
