Get API Keys

Bank Funding Source #

There are many different ways for a Customer to add a bank account on Dwolla’s platform. Choosing the approach that is ideal for your application depends on a number of factors, such as speed and/or user experience. As you think about the different method(s) to attach a bank account, you will need to consider which one best suits the use case of your business’ application.

Bank Addition

Adding a bank account to a Customer account. If a business wants to allow for adding but not require verifying the bank account, the funding source will remain in an unverified status and will only be allowed to receive funds.

Bank Verification

Verifying a bank account. This step is required before a Customer can send funds using their Customer account. This can be accomplished either (1) at the time the bank account is added by using a Third-party Provider, or (2) after attaching a bank by verifying it with microdeposits.

Bank Account Types #

Dwolla supports traditional checking and savings accounts to be added and verified by default. Other supported account types include loan and general-ledger, the use of which require review and approval by Dwolla.

The table below details a high level overview of the different methods supported by Dwolla for adding a bank funding source.

Bank Addition MethodAutomatic Verified Status (i.e. Eligible to Send Funds)Information RequiredU.S Bank CoverageSupported Bank Account TypesOther features
Dwolla APINoBank Account Number,
Routing number
General Ledger
Optional bank verification with Microdeposits
Drop-in componentsNoBank Account Number,
Routing number
Tokenized data,
Optional bank verification with Microdeposits
Dwolla + Plaid integrationYesOnline banking credentials~85%Checking,
Tokenized integration
Dwolla + Secure Exchange solutionYesOnline banking credentials~85%Checking,
Tokenized integration
Other Approved Third-party ProviderYes, if part of third party offeringVariableVariableVariableVariable

As you decide on the various methods for adding a funding-source, a good thing to keep in mind is that a transfer between two parties requires the sending party to have a verified bank account. Bank account verification prior to sending funds is required by the ACH network.

Bank Addition + Verification methods #

Add a Bank via the API and verify using Microdeposits #

The use case: I want to add a U.S. bank account by supplying an account and routing number. The bank will be unverified until microdeposits are initiated and verified.

This is commonly implemented for receive-only “payout” use cases where users are receiving funds, but not sending.

Tell me more Using the Dwolla API you can add an unverified funding source to a Customer as well as your Master Account. Additionally, you can manually add an unverified bank funding source to your Master Dwolla Account or your end users directly from the Dwolla Dashboard.

An example form UI component to present to your users.

Ready to build? Adding a bank with the Dwolla API is easy. Take a look at our documentation to learn more about this process. After adding a bank via the API, you can leave it unverified if you will only be sending funds to it. If you or your user will be sending funds from the bank account, you can verify it using microdeposits.

Check our step-by-step guide on verifying a bank using microdeposits.

Drop-in Components #

Dwolla’s drop-in components library offers a convenient way for you to integrate specific functionalities or streamline workflows within your web application, providing a swift path to integrating with the Dwolla Platform. Each component is self-contained, comprising HTML, CSS, and JavaScript, allowing for easy customization to match your application’s look and feel.

By using the dwolla-funding-source-create component, you can securely transmit sensitive data (bank account number and routing number) from your application’s front-end to Dwolla without it passing through your server.

The use case: I want my end users to attach a bank using their account and routing number with the added security of a tokenized implementation. I do not need the bank to be in a verified status, but may choose to utilize the microdeposits verification method, if needed.

This is commonly implemented for businesses that are paying out to this bank account.

Tell me more Use the dwolla-funding-source-create component in your application to collect bank account number, routing number, bank account type and a name. The form generated via tha drop-in component has built-in validation that will trigger an error if any of the required fields are invalid.

Optionally, you can have the component initiate microdeposits as well. Once microdeposits have completed, you can use the dwolla-micro-deposits-verify component to collected verification from your users, or build your own form to collect microdeposit amounts from Customers and use the API endpoint directly to submit and verify the amounts.

Ready to build? Follow the Building with Drop-in components guide to get set up with using the library in your application.

Check our step-by-step guide on building with drop-in components.

Dwolla + Plaid Integration #

The use case: I want my user to add a bank via Plaid using their online banking credentials. I want to extend my application’s relationship with Plaid that allows me to check a user’s bank account balance and retrieve other verifiable information, such as a bank’s account and routing number.

Tell me more With the Dwolla + Plaid partnership, you can utilize a token generated via the Plaid API to create a verified bank funding-source in Dwolla. This allows you to leverage the Plaid user interface for a seamless Customer experience. Plaid will require you to go through their onboarding process prior to going live in production with them. We recommend if you’re already integrating with Dwolla, to consider reaching out to Plaid in parallel for direction on their go-live process. When utilizing this integration, please note that only the Plaid Sandbox and Production environments are supported by Dwolla at this time. The Plaid Development environment is not supported by Dwolla.

Ready to build? Check out our guide for a walkthrough and to get started with this integration.

Check our step-by-step guide on adding and verifying a bank funding-source using the Dwolla + Plaid integration.

Other Considerations #

While these methods of bank addition and bank verification are fine to use separately, know that you are not limited to a single option. For instance, when you are using Plaid to verify Customers’ bank accounts, there may be financial institutions not supported by Plaid. Implementing a fallback method is always an option (e.g. microdeposits). You are also not limited to these four methods. If you want to utilize a different third-party provider to verify a bank account before adding it to your Dwolla Customer, we can support providers who meet the requirements and are approved by the Dwolla team.

Have a different preferred bank authentication provider you want to use? Reach out to our team to learn more on getting approved.

Wrap-up #

Much like choosing the correct Customer type, considering and choosing the bank addition methods in your application will have a large impact in the functionality of your integration with Dwolla. From the functionality of verifying a bank account, to the preference in user experience, each method provides its own offerings to ensure your application can provide the desired level of service to your end users.

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.