I’ve been referencing my last entry on Customer Types frequently since I published it so I thought another one focused on Transfer Types would be helpful. Customer Types, broadly speaking, define who owns, or will own an asset. Transfer types are the ways in which those assets are transferred.
Each value type has a settlement or clearing path that I’m going to reference as a transfer type. It’s a way to transfer ownership between 2 Customer Types.
Here is how I think about this:
- Value
- ValueType (USD)
- Currency
- ($)
- TransferType
- Account to Account
- ACH
- Same Day ACH
- Wire
- Push to Card
- Pull from Card
- RTP
- TransferType
- ($)
- Currency
- ValueType (USD)
The whole notion of Customer Types is driven by the need for a person, business, or thing to be the owner of a value type. When sending money from me to you, the ownership chain begins with me, and it ends with you. Value has an owner so the presence of a customer type in the Dwolla architecture is always implied.
A transfer type is just the way a form of value is transferred between customer types.
Transfers are easy if you stick to the basics
Each transfer has a source, a destination, and a transfer type.
You probably know by now how much I like the concept of building blocks. Here are the building blocks of a transfer 🙂

Leveraging the building blocks
To keep things simple, each Transfer has as source
(where the transfer comes from) and destination
(where the transfer goes).
The building blocks are already in the API to support just about any funds flow you’d want to build. Here are the simple order of instructions for sending money from a VCR (customer type) to a RO (customer type), which implies it’s going directly into the ROs attached bank account using ACH (transfer type).
Source
VCR, TransferType ACH, Destination
RO
The Dwolla team has done an excellent job at abstracting a lot of the other complexities involved in bank transfers so you can focus on the important stuff.
Applications built on Dwolla are predominately using ACH, Same Day, and Wire, and account to account transfers. The platform also supports unique transfers like this one:
Source
VCR1, TranferType Account to Account, Destination
VCR2
Doing an ACH transfer between those two accounts doesn’t make much sense and could take a few days. You might as well use the real-time transfer that has no cost. If you start daisy chaining real-time transactions like this across accounts and even applications things get really interesting.
The sending and receiving Customer Type will define the available transfer types you can use when initiating a transaction. In time I imagine we’ll need to add a listing of available transfer types to each customer record but that’s not available in the API today that I’m aware of.
Breaking down each transfer type a bit
Here are the transfer types to know well when using the Dwolla API.
- Account to account – Realtime
- Regular ACH – 1 to 3 business days
- Same Day ACH – Same business day
- Wire – realtime after it’s reconciled
There are other transfer types that you could build in but they are not directly supported by Dwolla as of my typing this. Push to card in realtime is coming online soon but I’ve left it off the list because it’s not live today.
Testing as a developer
The Dwolla resources for postman are solid and I’d suggest giving those a run.
You can test in the sandbox or just launch right to production.