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

# ACH debit withdrawal

> Authorize vendors to pull USD from your USD wallet by ACH, and return debits you didn't authorize.

<Note>
  ACH is in development. The API endpoints and webhooks on this page are provided for reference and are subject to change. Reach out to your relationship manager for beta access. See [USD rails](/knowledge-base/platform/users/usd-banking#usd-rails).
</Note>

An ACH debit, also called an **unoriginated debit** or **pull**, moves USD out of your [USD wallet](/knowledge-base/platform/users/usd-banking) when an outside party pulls the funds over the Automated Clearing House (ACH) network. You don't start each payment; the outside party does. To send funds out yourself instead, see [ACH credit withdrawal](/knowledge-base/platform/developers/move-money/withdraw/usd/ach/credit).

Common uses include:

* Payroll providers collecting payroll funding
* Tax payments to the IRS
* Recurring vendor payments

## Authorize a vendor to debit your wallet

A vendor can only debit your wallet if it's saved as a USD trusted destination. Add the vendor in the web dashboard. See [Adding a USD trusted destination](/knowledge-base/platform/users/usd-withdrawals#adding-a-usd-trusted-destination). Setting up a trusted destination for ACH debits isn't available via API.

Adding the trusted destination requires quorum approval. Once it's approved, there's nothing else to do: the vendor's debits are pulled automatically, with no approval on each payment. Add only vendors you have an agreement with, and keep enough USD in the wallet to cover each expected debit.

## Returns

We automatically return an ACH debit when:

* The party pulling the funds isn't saved as a trusted destination
* Your wallet doesn't have enough USD to cover the debit

You don't need to take any action for an automatic return.

### Dispute a debit

To return a debit yourself, such as a payment you didn't expect from a trusted destination, use the dispute flow in the web dashboard.

<Warning>
  Submit your dispute by **10:00 AM ET on the next business day** after the transaction date. The Originating Depository Financial Institution (ODFI), the bank that sent the debit, must learn of the return by the start of the second business day, so we can't return a debit disputed after the 10:00 AM ET next-business-day cutoff.
</Warning>


## Related topics

- [ACH credit withdrawal](/knowledge-base/platform/developers/move-money/withdraw/usd/ach/credit.md)
- [ACH debit transfer](/knowledge-base/platform/developers/move-money/transfer/usd/ach/debit.md)
- [Webhooks](/knowledge-base/porto/api-reference/v3/webhooks.md)
- [ACH credit transfer](/knowledge-base/platform/developers/move-money/transfer/usd/ach/credit.md)
- [Generating child control keys](/knowledge-base/porto/developers/move-money/transfer/generating-child-control-keys.md)
