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

# submitBraleAchDeposit

> Submits the ACH debit for a pay-by-bank checkout and launches the purchase

async

Submits the ACH debit for a pay-by-bank checkout whose bank is linked, and emits ONRAMP\_LAUNCHED.

Copy method signature

### Returns

[`BraleAchCheckout & { purchaseId: string }`](https://docs.getpara.com/v3/references/core/getbraleachcheckout#types)

The checkout and the `purchaseId` of the on-ramp purchase that the deposit launched.

## Usage

```typescript theme={null}
const { purchaseId } = await para.submitBraleAchDeposit({ checkoutId: checkout.id });
recordPendingPurchase(purchaseId);
```

```typescript Signature theme={null}
submitBraleAchDeposit(params: { checkoutId: string }): Promise<BraleAchCheckout & { purchaseId: string }>
```

The method emits `ONRAMP_LAUNCHED` with the purchase. It is safe to retry: a checkout is debited at most once, and a retry returns the purchase that the first call launched.

> [!WARNING]
>
> The bank transfer takes 1 to 3 business days to clear. `ONRAMP_TRANSACTION_COMPLETE_V2` doesn't fire for a bank transfer. Subscribe to the [`onramp.completed`](https://docs.getpara.com/v3/general/webhooks#event-types) webhook to know when the USDC arrives.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.