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

# Network Transfers Guide

> Instant cross-bank transfers

Network transfers are Treasury Prime's powerful solution for moving
funds instantly between accounts across different banks within the
OneKey Banking network. This guide will walk you through network
transfers for your application.

## What are Network Transfers?

Network transfers enable efficient fund movement between accounts at
the same or different banks within Treasury Prime's banking network.
Unlike traditional ACH transfers, which can take days, network
transfers are processed in seconds. The funds are part of the
account's current balance and are synchronized with the available
balance throughout the day.

<Note>
  Network transfers are currently available exclusively for clients
  utilizing Treasury Prime's OneKey Banking platform.
</Note>

### Key Benefits

* **Fast transfers**: Move funds quickly across different banks
* **Unified API**: Single interface for managing transfers across
  multiple financial institutions
* **Risk mitigation**: Built-in redundancy across multiple bank
  partners
* **Scalability**: Support uncapped deposit growth without changing
  providers

## How Network Transfers Work

Network transfers leverage Treasury Prime's unified banking
infrastructure to enable seamless fund movement:

1. **Authorization**: You must have access to both source and
   destination accounts
2. **Transit accounts**: Banks maintain transit accounts to facilitate
   fund movement
3. **Unified view**: Single view of transactions across all bank
   partners

## Network Transfers vs Other Transfer Types

| Feature      | Network Transfer    | Book Transfer | ACH Transfer | Wire Transfer |
| ------------ | ------------------- | ------------- | ------------ | ------------- |
| Speed        | Instant             | Instant       | 1-3 days     | Same day      |
| Cross-bank   | ✅ Yes               | ❌ No          | ✅ Yes        | ✅ Yes         |
| Cost         | Low                 | Lowest        | Low          | High          |
| Limits       | High                | High          | Medium       | Highest       |
| Availability | OneKey Banking only | All banks     | All banks    | All banks     |

<Warning>
  Network transfers require coordination with Treasury Prime and your
  bank partners to configure necessary transit and settlement
  accounts.
</Warning>

## Testing Network Transfers

<Note>
  Sandbox does not currently offer a [simulation](/reference/simulation-endpoint) type for network transfers, unlike [ACH](/docs/testing-ach), [wire](/reference/wire-testing), and [card](/docs/testing-cards) transfers. Treasury Prime plans to add sandbox simulation support for network transfers in a future release. Until then, Treasury Prime recommend testing network transfers directly in Production using low-value transfers between accounts you control.
</Note>

### Before you test

Confirm the following with Treasury Prime and your bank partners before initiating test transfers:

* Both banks involved in the transfer have network transfers enabled.
* The settlement and transit accounts required to support network transfers are configured for both banks. See [Network Transfers Overview](/reference/network-transfer) for details.
* You have access to both the source account and the destination account used in each test transfer.

### Recommended test scenarios

The scenarios below cover common network transfer paths. They serve as general guidelines and might not represent complete test coverage for your specific implementation.

| Test subject                    | Description                                                                                                                                                                             |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Same-bank network transfer      | Create a transfer between two accounts at the same bank. Confirm `status` moves from `pending` to `sent` and funds settle in near real time.                                            |
| Cross-bank network transfer     | Create a transfer between accounts at two different banks in your OneKey Banking network. Confirm `cross_bank` is `true` and funds settle in the destination account.                   |
| Insufficient funds              | Create a transfer for an amount greater than the available balance in the source account. Confirm the transfer moves to an `error` status with a message describing the failure.        |
| Matching source and destination | Create a transfer using the same account for `from_account_id` and `to_account_id`. Confirm Treasury Prime returns an error and no transfer is created.                                 |
| Ineligible account              | Create a transfer using an account not authorized for network transfers, or at a bank where settlement or transit accounts are not configured. Confirm Treasury Prime returns an error. |
| Off-hours settlement            | Create a transfer outside your bank's operating hours. Confirm `estimated_settlement_at` reflects the next banking business day.                                                        |

### Example: create a Network Transfer in Production

The following request creates a \$1.00 network transfer between two accounts you control. Use a low-value amount to limit exposure while testing.

<CodeGroup>
  ```bash bash theme={null}
  curl -u $API_KEY_ID:$API_SECRET_KEY https://api.treasuryprime.com/v2/network_transfer \
    -H 'Content-Type: application/json' \
    -d '{
          "from_account_id": "acct_1234567890",
          "to_account_id": "acct_0987654321",
          "amount": "1.00",
          "description": "Test NT"
        }'
  ```
</CodeGroup>

Treasury Prime returns the created object with a `pending` status:

<CodeGroup>
  ```json Response theme={null}
  {
    "id": "nt_1029384756",
    "status": "pending",
    "from_account_id": "acct_1234567890",
    "to_account_id": "acct_0987654321",
    "amount": "1.00",
    "cross_bank": true,
    "description": "Test NT",
    "estimated_settlement_at": "2026-07-31T18:55:14Z",
    "error": null,
    "created_at": "2026-07-31T18:55:00Z",
    "updated_at": "2026-07-31T18:55:00Z"
  }
  ```
</CodeGroup>

### Monitor transfer status

Because network transfers settle asynchronously, confirm the outcome of each test transfer using one of the following methods:

* **Console**: Follow along in [Treasury Prime's Console](/console-docs/account-management) by opening the source or destination account and reviewing the Transactions tab for the transfer.
* **Webhooks**: Subscribe to the `network_transfer.create` and `network_transfer.update` [events](/reference/webhook-events) to receive the transfer status as it changes.
* **Polling**: Retrieve the current status with [`GET /network_transfer/{id}`](/reference/get_network_transfer-id).

A network transfer resolves to one of the following statuses:

| Status     | Description                                                                |
| ---------- | -------------------------------------------------------------------------- |
| `pending`  | Treasury Prime is processing the transfer.                                 |
| `sent`     | The transfer completed and funds are available in the destination account. |
| `error`    | The transfer failed. Check the `error` field for details.                  |
| `canceled` | The transfer was canceled before completion.                               |

<Warning>
  Because no sandbox simulation exists, plan Production test transfers with
  real dollar amounts and settlement times in mind. Coordinate with Treasury
  Prime before running large batches of test transfers.
</Warning>
