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

# Bank transfer integration overview (FPS, SEPA, ACH, Wire)

> Connect to local banking rails across the UK, EU, and US — FPS, SEPA, ACH, FedNow/RTP, and Wire — with deposit and withdrawal coverage and quote flows.

export const NoIcon = () => <Icon icon="xmark" size={12} color="#ef4444" />;

export const YesIcon = () => <Icon icon="check" size={12} color="#10b981" />;

Connect to local banking rails across the UK, EU, and US.

## Available networks

Five banking rails are available across the UK, EU, and US. Settlement speed and features vary by network. All networks support **Individual** accounts; availability for **Business** accounts depends on the specific rail and your contract.

### Coverage

| Network | Region | Currency | Settlement |
| - | - | - | - |
| **FPS** | UK / EU | GBP | Near-instant (24/7) |
| **SEPA** | UK / EU | EUR | Near-instant or 1 business day |
| **ACH** | US | USD | 1–3 business days |
| **FedNow / RTP** | US | USD | Near-instant (24/7) |
| **Wire** | US | USD | Same or next day |

### Supported features

| Network | Deposit | Withdrawal |
| - | - | - |
| **FPS** | <YesIcon /> Supported | <YesIcon /> Supported |
| **SEPA** | <YesIcon /> Supported | <YesIcon /> Supported |
| **ACH** | <YesIcon /> Supported | <YesIcon /> Supported |
| **FedNow / RTP** | <YesIcon /> Supported | <YesIcon /> Supported |
| **Wire** | <YesIcon /> Supported | <NoIcon /> Not supported |

## Key concepts

* **Push deposits are external transactions** — only push deposits are supported. The sender initiates the transfer from their bank, and the platform creates the transaction automatically when funds are detected. No quote is required.
* **Withdrawals are quote-based** — the user must confirm a quote before the transaction is created and the payout is submitted.
* **Origin linking** — for [FPS](/developer-guides/bank-transfers/deposit/via-rest-api/fps) and [SEPA](/developer-guides/bank-transfers/deposit/via-rest-api/sepa), the origin bank account is automatically linked as an [external account](/rest-apis/core-api/external-accounts/introduction) after the first deposit. For [ACH](/developer-guides/bank-transfers/withdrawal/via-rest-api/ach), users must explicitly add one.

## Network specifics

| Network | ToS required | Deposit target | Notes |
| - | - | - | - |
| **FPS** | `unique-account-number-viban` | Any account | — |
| **SEPA** | `unique-account-number-viban` | Any account | — |
| **ACH** | None | Default USD account | Shares routing details with FedNow / RTP and Wire |
| **FedNow / RTP** | None | Default USD account | Not all banks supported; shares routing details with ACH and Wire; withdrawal incurs an additional fee |
| **Wire** | None | Default USD account | Shares routing details with ACH and FedNow / RTP |

## Testing in sandbox

Use the [Simulate bank deposit](/rest-apis/core-api/accounts/test-helpers/simulate-bank-deposit) test helper to simulate an incoming deposit in sandbox for any supported network (FPS, SEPA, ACH, FedNow / RTP, Wire). Call it with the deposit method details returned by the [Setup Account Deposit Method](/rest-apis/core-api/accounts/set-up-account-deposit-method) endpoint and specify the `network`, and the platform will create a completed transaction as if the user had sent the transfer from their bank.

## Start building

<CardGroup cols={2}>
  <Card title="Deposit via API" icon="code" href="/developer-guides/bank-transfers/deposit/via-rest-api">
    Set up deposit instructions and handle incoming funds programmatically.
  </Card>

  <Card title="Deposit via Widget" icon="puzzle-piece" href="/developer-guides/bank-transfers/deposit/via-payment-widget">
    Let users deposit funds with a low-code, embeddable widget.
  </Card>

  <Card title="Withdrawal via API" icon="code" href="/developer-guides/bank-transfers/withdrawal/via-rest-api">
    Create quotes and submit payouts to your users' bank accounts.
  </Card>

  <Card title="Withdrawal via Widget" icon="puzzle-piece" href="/developer-guides/bank-transfers/withdrawal/via-payment-widget">
    Let users withdraw funds with a low-code, embeddable widget.
  </Card>
</CardGroup>
