Accelerated ACH
Account to Account Transfers
What are ACH transfers?
One of the most common ways of transferring funds is via the ACH (Automated Clearing House) network, which are account-to-account transfers. They are ubiquitous, yet the transfer structure exposes you to broad opportunities for fraud, failures, and lost funds. In addition, getting funds to the destination account as fast as possible is critical for a positive user experience with your product, but standard ACH timelines mean funds are available 4 to 7 days later.
Astra’s Accelerated ACH Solution:
At Astra, we have rebuilt the ACH process with improved fraud detection and prevention, automated balance checking, and healing for returned or failed transfers. Your business is protected from fraud and return codes, while your customers can easily and reliably send large sums of money – default fast (funds settle as soon as minutes and up to $100k per transaction).
Basic Setup:
Below is an outline of the basic steps for standing up me-2-me, account-to-account transactions. In this example, we’ll describe how to connect an external bank account (Account A - the “Source”) and how to register your client-issued bank account (Account B - the “Destination”) to create a Routine of an ACH payment type. To learn more about each Account endpoint, please reference our Accounts chapter in our documentation.
Obtain an Active Authorization:
Obtain an active authorization from the end-user through the Authorization step in our OAuth Module. This step will yield a temporary Authorization code that must be exchanged for an access_token for further API requests to Astra.
Bank Account A: Externally Linked:
For all non-client-issued bank accounts, end-users must connect their accounts via Plaid Link. Through Plaid Link, your team will receive a link_token
which will need to be exchanged for a Plaid access_token
and an Astra processor_token
. Please read Plaid’s documentation here to learn more. Once you have obtained an Astra processor_token
, you’ll want to use Astra’s Create Account by Plaid Processor endpoint to register the end-user's externally connected bank account with Astra. This enables Astra to securely access the end-user's bank account data (such as the available balance) without requiring the sharing of sensitive bank account information. The resulting API response will include an Astra Account ID for the end-user's externally linked bank account.
Bank Account B: Client-Issued:
All client-issued bank accounts must be registered with Astra by way of the Create Account by Account & Routing Number endpoint. The resulting API response will include an Astra Account ID for the end-user's client-issued bank account. Please see the Additional Requirements section at the end of this guide for important go-live requirements.
GET the IDs for Account A and Account B:
Retrieve the ID of Account A and Account B through the GET /v1/accounts endpoint.
POST a Routine:
curl -X POST '<https://secure.api.astra.finance/v1/routines'>
-H 'Content-Type: application/json'
-H 'Accept: application/json'
-H 'Authorization: Bearer your_access_token'
--data-raw '{
"type": "one-time",
"name": "My Accelerated ACH Transfer",
"source_id": "your_source_account_id",
"destination_id": "your_destination_account_id",
"amount": 100,
"start_date": "2022-04-01",
"payment_type": "ach"
}'
Additional Requirements:
As a requirement for launching your Accelerated ACH solution, Astra will need to be able to call your system to fetch the available balances of client-issued accounts. Please reference our Balance Update Webhook and Endpoint documentation to learn more.
Updated about 1 year ago