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

# Sending ACH

> Create an ACH transfer to a bank account destination.

Pay a contact whose bank details you already hold with a `destinationId`, or let the contact supply them through an information request.

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/slash-9da6c7e7/5Zg1KnhscyuyjHbk/images/charts/send-ach-flow.light.svg?fit=max&auto=format&n=5Zg1KnhscyuyjHbk&q=85&s=b128952d7c7ce1a8eaab11f3b6e0c8d0" alt="How to send an ACH transfer" width="1187" height="1260" data-path="images/charts/send-ach-flow.light.svg" />

  <img className="hidden dark:block" src="https://mintcdn.com/slash-9da6c7e7/5Zg1KnhscyuyjHbk/images/charts/send-ach-flow.dark.svg?fit=max&auto=format&n=5Zg1KnhscyuyjHbk&q=85&s=51a9ec21bde304026dd39bc6da928d78" alt="How to send an ACH transfer" width="1187" height="1260" data-path="images/charts/send-ach-flow.dark.svg" />
</Frame>

Before sending, you need:

* a source virtual account with available USD
* a US bank-account destination
* a user API key with ACH access, used from an allowlisted IP

`amount.amount` is in minor units, so `1250` USD means USD 12.50.

```bash theme={null}
curl https://api.slash.com/v2/transfers/ach \
  -X POST \
  -H "X-API-Key: $SLASH_API_KEY" \
  -H "x-legal-entity: $SLASH_LEGAL_ENTITY_ID" \
  -H "X-Idempotency-Key: invoice-1042" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": { "amount": 1250, "currency": "USD" },
    "fromAccount": "subaccount_operations123",
    "destinationId": "le_contact_destination_bank123",
    "description": "Invoice 1042",
    "ach": {
      "speed": "standard",
      "companyEntryDescription": "VENDOR PAY",
      "addenda": "Invoice 1042"
    }
  }'
```

The response is the ACH Transfer:

```json theme={null}
{
  "id": "transfer_intent_ach123",
  "type": "ach",
  "status": "pending",
  "accountId": "sa_group_primary123",
  "fromAccount": "subaccount_operations123",
  "amount": { "amount": 1250, "currency": "USD" },
  "description": "Invoice 1042",
  "transactionIds": ["agg_tx_ach123"],
  "createdAt": "2026-08-18T01:00:00.000Z",
  "contactId": "le_c_vendor123",
  "destinationId": "le_contact_destination_bank123",
  "ach": {
    "speed": "standard",
    "companyEntryDescription": "VENDOR PAY",
    "addenda": "Invoice 1042"
  }
}
```

Store the Transfer id and use
`GET /v2/transfers/ach/{transferId}` to follow its [lifecycle](./lifecycle).
