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 transfer, 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 there’s no quorum approval on each request. To let an outside party pull funds from your wallet instead, see ACH debit transfer. POST /v2/transfers requires the Transfer funds permission and an Ed25519 request signature.

Set up a trusted destination

As with a domestic wire transfer, 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. Your API key’s permission group must have Any trusted destination selected under Transfers outside Anchorage. See Connect a trusted destination to an API key.

Send an ACH credit transfer

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 transfer. See Domestic wire transfer.