Servicing millions of end users through one Dwolla integration

Dwolla released support for third party technical integrations this week. This is substantial for our clients because it opens up connectivity between applications built on Dwolla, and also opens up connectivity to third parties. For businesses, it’s a way to reach millions of end users through a single integration.

For existing Dwolla clients, it’s a way to grant third parties access to their application with very specific scopes and retain control of the third party access.

To get your arms around “what does that mean”, it’s best to level set with what an app built w/ Dwolla does or can do. A Dwolla client has a master account that has all kinds of functionality. One of the pieces of functionality is the ability to manage customer records, which are the end users of that application.

Dwolla Client Application Architecture

Brilliant engineers have programmed all kinds of cool software with the platform. Payout applications, labor marketplaces, loan origination software, invoicing solutions, and even ways of investing in fractional ownership of high end cars.

The applications for how an end user could interact with this infrastructure are pretty endless. They are limited by the creativity of the software developer programming the payments and end user experience.

Dwolla’s platform technology allows software developers to program payments and acts like the layer between the application they build and banking infrastructure w/ all the complex regulation.

For years we’ve been thinking about ways of further enabling third parties to interact with Client applications and we finally released it this week. It’s so much more powerful than anything we initially thought of.

At a high level, this is how it works… Paying special attention at the column on the right.

Dwolla Partner Application Architecture

A partner application can essentially be authorized to access a client application through a new bearer token that is unique to the partner and includes specific scopes so that the partner only has access to the information needed to do their job. The additional token ensures that the client has full control of their application and is only providing access to the information truly needed by the third party.

This speeds up access a new financial provider have to earn marketshare. Once an integration is built it’s available to 100% of Dwolla’s client base meaning that getting customers for your new fraud service, or scaling your authorization platform, or scaling your card issuance product , has never been simpler. You build one integration into Dwolla’s platform and then it can be re-used by everyone in the ecosystem. Partner apps can even move money.

Types of integrations

Read, Write, Transfer are all pretty self explanatory. Read is great for ingesting data from a client application to give insights to client application owners or create additional value adds. Write is great for actually taking actions on the client application which is particularly useful for things like running your own CIP program with a trusted provider.

Keep in mind the data interaction is all in realtime. Once the integrations are up and running with client app owner approval you’re working with an extremely fast, durable, and performant API infrastructure to build best in class applications.

The power of Transfer

This is unlike anything I’ve ever seen before and it gives me some goosebumps because of what it makes possible. Third party applications can now initiate transfers on a client application, on behalf of the client or the end user without taking ownership of the funds. This unique flow reduces incredibly complex and expensive barriers to shipping products in this space.

Consider what client applications may extend their own functionality, in real-time, to other client applications enabling forms of commerce and real-time connectivity that wasn’t even possible before. No one loses business… Everyone wins and the money is in regulated financial institutions the entire time. No conversation to another thing or currency, just good technology.

You get the benefits of a crypto only ecosystem but in a fiat enabled eco-system connected to existing regulated entities. If you want to connect the two, through the right technical implementation you can do that too.

Let’s consider how it works in an example like card issuance

In this example it begins an end user agrees to a cardholder agreement which is the paperwork that needs to happen to enable this function. The end user in this example has a VCR (CustomerType) on the platform that sits with a client application. This part is easy. The next question is, how does the technical implementation work to settle the funds when the card is swiped and how is the company running the card program able to check the balance to ensure that the funds are actually available when the card is used.

To enable the required integration the Partner gets a bearer token and permission from the client application owner who is managing the application that the cardholder agreement resides with. Behind the scenes the basic steps for the partner application after a card swipe are:

  1. Check balance on user VCR ( then approve or deny at point of purchase)
  2. Transfer from Cardholder VCR to Bank/Settlement VCR
  3. Transfer from Bank/Settlement VCR to Program Bank

The balance check can be done in realtime to ensure the funds are available and then swept out of the ecosystem to the underlying settlement provider in order to fund the transaction for the card purchase. Access to the client application occurs through a partner specific bearer token and the partner runs their own independent application that can be re-used to service all Dwolla clients.

Card Issuance Funds Flow

Worried that you might need general ledger support? No worries, we’ve got you covered. 😉

Each provider has their own unique special sauce that makes their card program different or better, but the underlying real-time interaction with Dwolla stays the same across applications.

Cards is just an example. You could use this example for any number of funds flow related services you could integration with a Client application.

I’m incredibly excited to see what happens next

For the first time in any point in time since I’ve been doing this for a living software developers managing entire ecosystems of users are able to introduce instant transfers and data sharing between one another.

Financial institutions can now be onboarded into your application or even act as a partner application interacting with your funds flows and decisioning in real-time.

As you think about how this might be useful to your company here are some resources that I’d suggest starting with:

A special 🙏🏻 to the Dwolla team and the PSD2 stewards in Europe for the inspiration. A big thanks to our initial partners for helping us work through the idea and for the early feedback on how to improve it.