Can I programmatically verify micro-deposits?

My team is working on an application for a credit union client. We are using Dwolla to transfer funds from external bank accounts into their credit union accounts. We would like to use it to transfer funds out as well. We would like to do this without requiring the user to have to open an online banking account to verify their account via IAV or micro-deposits. We have access to the user’s accounts through the core banking system so we can programmatically verify the micro-deposits without prompting the user to manually enter this information. Does Dwolla allow this or does the user have to manually verify the amounts?

Hi @miguel.gonzalez – I relayed the question back to our Legal and R&C teams to understand if that’s allowed. To better answer your question, we had a few questions that could help us get more clarity on your use case. -

  1. Will the users be interacting with your application at all?
  2. How are they creating a Customer account in your app?
  3. How are they submitting the banking info to attach a funding-source?
  4. A major component of the micro deposit method of verifying a bank account is verifying that the person who has provided the info and authorized use of the account actually has access to the account. Do your users have another method for accomplishing that?

Please let me know whenever you get a chance!


Thank you for the quick response. Here are the answers to your questions.

  1. Yes, they will be using the application to sign up for various different credit union products (including the bank accounts in question), set up their incoming transfers, and monitor their progress in the platform.
  2. We are capturing the necessary information in the app and using it to present them with one or more documents that they can digitally sign. Once the document(s) are signed, all of that information is delivered to the credit union to setup the accounts.
  3. We use Plaid to verify their external accounts and pass that information along to Dwolla. For internal accounts, the routing/account numbers are managed by the system in the backend. The users don’t have to enter that information themselves. The backend system sets up the accounts for them and associates them with the user.
    4.The user can access their accounts via online banking or by going to the bank itself if they choose to. We just don’t want to make online banking set up (a different platform, login, etc.) for internal accounts a requirement for the app that we are building. Again, we are the bank, we know who the user is and we’ve set up the accounts for them. The user doesn’t provide the account information and they can’t change it. We set up the accounts for them and associate them with their user account. Btw, we’ve also presented them with terms and conditions and a privacy policy that they must agree to in order to use the app. This include consenting to us setting up the account for them and transferring funds between their accounts on their behalf.

Hi @miguel.gonzalez, thanks for clarifying!

This may depend on if you’re signing up for Dwolla with the Pay-As-You-Go model vs Scale or Enterprise. With PAYG, we recommend implementing standard procedures for risk reasons. Since there also isn’t a dedicated support channel for PAYG, specialized use cases or permissions aren’t usually supported. However, given your unique use case where end-users are adding bank accounts created under your own financial institution, you should be able to verify the banks with microdeposits on behalf of your users.

Hope that helps! Please let us know if you come across any questions!

Thank you, Shreya. I appreciate your help.

1 Like