Skip to main content
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.
An ACH credit withdrawal, also called an originated credit or push, sends USD from your USD wallet to a US bank account saved as a trusted destination, over the Automated Clearing House (ACH) network. You start the payment, and every request needs quorum approval. To let an outside party pull funds from your wallet instead, see ACH debit withdrawal. POST /v2/transactions/withdrawal requires the Initiate withdrawals permission and an Ed25519 request signature.

Set up a trusted destination

As with a domestic wire withdrawal, an ACH credit can only go to a bank trusted destination. Create one with POST /v2/trusted_destinations, setting type to fiat and fiat.beneficiaryBank.code to ABA. See Create a USD trusted destination via API.

Send an ACH credit withdrawal

Set destination.type to TRUSTED_DESTINATION and destination.id to the fiat trusted destination ID, and include assetParametersFiatTrustedDestination. To find the destination ID, call GET /v2/trusted_destinations and filter on type == "fiat".
Staging uses the USD_R asset type and production uses USD. The fields, purpose values, and response match a domestic wire withdrawal. See Domestic wire withdrawal.