Docs
Get API Keys

Same Day ACH #

Use the Dwolla API for faster payments to enable your application to take advantage of Same Day ACH credit or debit transfers on a per transfer request basis. A clearing request parameter is supplied in the request to the Dwolla API which tells Dwolla to expedite clearing for the source or the destination account involved in the transaction. Same Day ACH is a simple and powerful feature for platforms looking to differentiate themselves, streamline cash flows, and improve their end user experiences.

There are two types of Same Day ACH transfers:

  • Same Day Debit - Pulling funds from the source bank account into the Dwolla Network.
  • Same Day Credit - Pushing funds into a destination bank account from the Dwolla Network.

A few key differences between Standard ACH and Same Day ACH are:

  • Funds are available the same day, not days later.
  • New payment settlement windows are available.
  • A transaction limit of $1 million is enforced by NACHA.
  • Same Day ACH transactions are more expensive than standard ACH.
  • Use of Dwolla’s faster payments and higher transaction limits may require additional risk and compliance review.

Same Day ACH with a Faster Payment API

The table below includes transfer cutoff times for Same Day ACH along with the timing of when the funds are expected to be available at the destination account. For example, your application can initiate a debit or credit transfer with Same Day clearing prior to 3 PM Central Time and funds will be available in the destination account by the end of the same business day. For more information on the timing of transactions, reference our resource article on transaction timelines.

Transfer cutoff timeAvailability of funds
9:00 AM11:30 AM
1:00 PM5:00 PM
3:00 PM5:00 PM

All times are in Central Time.

Creating a Customer and Attaching a Bank Account #

Before you can initiate a debit or credit transfer using same-day clearing, you must first have a Customer created and a funding source attached for the user. If it’s a debit transfer, then the funding source must be verified before you can pull funds. For a credit transfer, the funding source can be unverified or verified.

Once your customer has connected a bank account and/or verified it, you'll then want to store the funding source id (e.g. https://api-sandbox.dwolla.com/funding-sources/ecf993e2-fa22-4cea-8022-c7861200288f) which will be used when specifying the bank account as the either the source or destination href in the request to the Transfers API.

Initiating a Same Day ACH Transfer #

In order to initiate a transfer with Same Day ACH processing, an optional clearing JSON object must be included in the transfer request. The clearing object contains source and destination keys with respective values of standard or next-available and next-available.

Specifying the destination clearing as next-available will allow requests to default to the earliest available processing window based on the time submitted. In addition, transfers greater than $1 million will default to a processing window permitting larger amounts.

Initiating a Same Day Debit Transfer

The following example assumes the sending party has a verified funding source. We're receiving a pay-in from a Customer’s funding source to our Dwolla account balance, which represents the Dwolla Network.

Raw
POST https://api-sandbox.dwolla.com/transfers
Accept: application/vnd.dwolla.v1.hal+json
Content-Type: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY
Idempotency-Key: 19051a62-3403-11e6-ac61-9e71128cae77

{
    "_links": {
        "source": {
            "href": "https://api-sandbox.dwolla.com/funding-sources/b268f6b9-db3b-4ecc-83a2-8823a53ec8b7"
        },
        "destination": {
            "href": "https://api-sandbox.dwolla.com/funding-sources/ecf993e2-fa22-4cea-8022-c7861200288f"
        }
    },
    "amount": {
        "currency": "USD",
        "value": "10000.00"
    },
    "clearing": {
        "source": "next-available"
    }
}

...

HTTP/1.1 201 Created
Location: https://api-sandbox.dwolla.com/transfers/636de847-7d02-e711-80ee-0aa34a9b2388

Initiating a Same Day Credit Transfer

The following example assumes the sending party has a verified account and a verified funding source. We're sending a payout from our Dwolla account balance to our Customer’s funding source which represents the receiving bank account.

Raw
POST https://api-sandbox.dwolla.com/transfers
Accept: application/vnd.dwolla.v1.hal+json
Content-Type: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY
Idempotency-Key: 19051a62-3403-11e6-ac61-9e71128cae77

{
    "_links": {
        "source": {
            "href": "https://api-sandbox.dwolla.com/funding-sources/b268f6b9-db3b-4ecc-83a2-8823a53ec8b7"
        },
        "destination": {
            "href": "https://api-sandbox.dwolla.com/funding-sources/ecf993e2-fa22-4cea-8022-c7861200288f"
        }
    },
    "amount": {
        "currency": "USD",
        "value": "10000.00"
    },
    "clearing": {
        "destination": "next-available"
    }
}

...

HTTP/1.1 201 Created
Location: https://api-sandbox.dwolla.com/transfers/636de847-7d02-e711-80ee-0aa34a9b2388

Retrieving a Transfer With Same Day Clearing #

When retrieving the transfer from the API, the response should contain the clearing object with a source or destination key and a value of either same-day or next-day depending on if the transfer was initiated prior to the last same day processing window and the transfer amount is less than $1 million (as mentioned above).

Retrieving a Same Day Debit Transfer

Raw
GET https://api-sandbox.dwolla.com/transfers/636de847-7d02-e711-80ee-0aa34a9b2388
Accept: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY

...

{
  "_links": {
    "source": {
      "href": "https://api-sandbox.dwolla.com/accounts/ad5f2162-404a-4c4c-994e-6ab6c3a13254",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "account"
    },
    "destination-funding-source": {
      "href": "https://api-sandbox.dwolla.com/funding-sources/ecf993e2-fa22-4cea-8022-c7861200288f",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "funding-source"
    },
    "self": {
      "href": "https://api-sandbox.dwolla.com/transfers/636de847-7d02-e711-80ee-0aa34a9b2388",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "transfer"
    },
    "funded-transfer": {
      "href": "https://api-sandbox.dwolla.com/transfers/646de847-7d02-e711-80ee-0aa34a9b2388",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "transfer"
    },
    "source-funding-source": {
      "href": "https://api-sandbox.dwolla.com/funding-sources/b268f6b9-db3b-4ecc-83a2-8823a53ec8b7",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "funding-source"
    },
    "destination": {
      "href": "https://api-sandbox.dwolla.com/customers/99dd22de-6ec6-4ba1-a0d1-09eb169a4bb1",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "customer"
    }
  },
  "id": "636de847-7d02-e711-80ee-0aa34a9b2388",
  "status": "processed",
  "amount": {
    "value": "10000.00",
    "currency": "usd"
  },
  "created": "2017-03-06T14:57:56.803Z",
  "clearing": {
    "source": "same-day"
  }
}

Retrieving a Same Day Credit Transfer

Raw
GET https://api-sandbox.dwolla.com/transfers/636de847-7d02-e711-80ee-0aa34a9b2388
Accept: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY

...

{
  "_links": {
    "source": {
      "href": "https://api-sandbox.dwolla.com/accounts/ad5f2162-404a-4c4c-994e-6ab6c3a13254",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "account"
    },
    "destination-funding-source": {
      "href": "https://api-sandbox.dwolla.com/funding-sources/ecf993e2-fa22-4cea-8022-c7861200288f",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "funding-source"
    },
    "self": {
      "href": "https://api-sandbox.dwolla.com/transfers/636de847-7d02-e711-80ee-0aa34a9b2388",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "transfer"
    },
    "funded-transfer": {
      "href": "https://api-sandbox.dwolla.com/transfers/646de847-7d02-e711-80ee-0aa34a9b2388",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "transfer"
    },
    "source-funding-source": {
      "href": "https://api-sandbox.dwolla.com/funding-sources/b268f6b9-db3b-4ecc-83a2-8823a53ec8b7",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "funding-source"
    },
    "destination": {
      "href": "https://api-sandbox.dwolla.com/customers/99dd22de-6ec6-4ba1-a0d1-09eb169a4bb1",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "customer"
    }
  },
  "id": "636de847-7d02-e711-80ee-0aa34a9b2388",
  "status": "processed",
  "amount": {
    "value": "10000.00",
    "currency": "usd"
  },
  "created": "2017-03-06T14:57:56.803Z",
  "clearing": {
    "destination": "same-day"
  }
}
Still haven’t found what you are looking for?
Ask the community.
Test in the Sandbox for free today.
Use sandbox environment to test API requests.
Get API Keys
2024 All Rights Reserved
Financial institutions play an important role in our network.

All funds transfers made using the Dwolla Platform are performed by a financial institution partner, and any funds held in a Dwolla Balance are held by a financial institution partner. Learn more about our financial institution partners.