# ACH & Bank Transfers

ACH and bank transfer integrations let XION apps move users between traditional bank accounts and on-chain stablecoins. These flows are useful for fintech apps, wallets, marketplaces, payroll tools, savings products, and consumer apps that need a familiar bank-based funding or cash-out experience.

With XION, developers can combine bank transfer providers with Meta Accounts and Abstraxion to create a smoother onboarding flow for users who may not already hold crypto. Users can connect with familiar authentication methods, link a bank account, fund their wallet, and cash out stablecoins without needing to understand the underlying blockchain mechanics.

### What You Can Build

ACH and bank transfer integrations can support flows such as:

* Bank account to stablecoin on-ramp
* Stablecoin to bank account off-ramp
* Wallet funding for consumer apps
* Payouts to linked bank accounts
* Stablecoin-backed balances for marketplace or fintech products
* Treasury or session-key based transaction flows for smoother repeat usage

### Production Considerations

When building ACH or bank transfer flows, make sure to:

* Keep provider API credentials server-side.
* Verify webhook signatures before updating local state.
* Show clear pending, completed, and failed transfer states.
* Use testnet credentials and test transfer types before moving to production.
* Understand the provider's compliance, KYC, KYB, settlement, and geographic requirements.
* Decide whether wallet transactions should use direct signing, Abstraxion session keys, or a hybrid flow.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.burnt.com/xion/developers/payments/ach-and-bank-transfers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
