The TL;DR
Plaid acts as an intermediary between apps (like Venmo) and your bank so that you can log in and share data securely.
As more and more personal finance apps (think Robinhood, Venmo, Current, etc.) pop up, developers need ways to connect to and access your bank accounts
That connection is notoriously difficult - each bank has its own idiosyncratic APIs, legacy architectures, and ugly UX
Plaid provides a connection layer for developers to easily connect to and work with bank accounts, and a simple UI for users like you to log in
While the product might sound really simple and easy to understand, there’s a lot of hard work going on behind the scenes that enables that smooth experience. And the company is in the news - after a $5B acquisition by Visa got blocked by the DOJ, they’re independent again and ready to grow.
Justin, why are you writing about Fintech? What do you know?
Well, I know nothing about anything, this included. But given that Plaid’s users (those who build with Plaid’s APIs) are developers, it deserves an explanation!
Why apps need your financial information
The easiest way to understand why Plaid exists is to think about some of the apps that actually use it, i.e. their customers. A great example is Venmo, which we’ll run with for the remainder of this piece.
Venmo needs access to your bank account(s). It’s how you actually get money into the system, make payments beyond your balance, pay your rent, get money to your weed dealer, etc. So if you’re Venmo, how do you do that exactly? Without Plaid, life is pretty rough:
There are a lot of banks out there
There are thousands of financial institutions in the universe, and more are coming online (the so called “Neobanks” like HMBradley are having a moment). While the plurality of Venmo’s users might be using popular ones like Bank of America or Chase, there are millions of potential users who aren’t using those banks. If Venmo can support connecting to them, they expand their potential user base. There are likely 5K+ banks in the U.S alone.
Each one has different requirements
Each bank that Venmo wants to connect to has very different APIs and authentication schemes. Bank of America might suffice with a username and password, while Chase could require multi factor authentication. Viewing balances in Bank of America might require an account name, while at Chase it requires an account number. These might sound like small details, but when you’re trying to support 50+ institutions - and requirements are constantly changing - it ends up being a crippling workload.
⛓ Related Concepts ⛓
The problem I’m describing here is not unique to banks and fintech. Any company that relies on integrations struggles with maintaining the nuances of those integrations, keeping them updated, etc. This has been the case at pretty much every company I’ve worked at.
⛓ Related Concepts ⛓
I wouldn’t be surprised if apps like Venmo have entire teams of engineers just focused on maintaining integrations with banking providers (again, pre-Plaid). They have to constantly monitor these integrations.
Data is moving around a lot
Financial data is among the most sensitive data we have. If you’re inputting your username, password, account number, etc. into Venmo’s systems to connect to Bank of America, that places a critically important burden on them to steward that data, make sure it’s encrypted, handle re-authentication, etc. It’s a whole can of worms every time data moves between your banking provider and Venmo.
🔍 Deeper Look🔍
Outsourcing credentials and basic data storage is more relevant to smaller clients. Larger ones will typically store this data anyway because they need it for other stuff.
🔍 Deeper Look🔍
To zoom out - the main idea is that financial applications face a daunting problem if they want to connect to banks programmatically. And over the past few years, a lot of these apps have started showing up, from stock trading to credit cards to moving money around. That’s where Plaid comes in.
The Plaid product basics
Plaid is a way to outsource integrations with banking providers - they give you smooth APIs for connecting to and integrating with banks, so your engineering team doesn’t have to. The Plaid product has 2 main user groups - developers and end users - so let’s run through both of them.
Developers
Developers use Plaid to connect their applications to financial institutions, and work with those accounts (view balances, transaction history, etc.). If you’re a developer working at Venmo, you’d hook up your app to Plaid so that your users can connect their Bank of America accounts and get money into Venmo.
Plaid has a great set of documentation for developers. There are two key concepts to get down:
Links – the process of connecting your app to a user’s bank account
API – the process of doing things with that bank account, like viewing balances
This is where Plaid really shines - despite the fact that each bank has completely different APIs for moving money around, Plaid provides a layer of abstraction that lets you completely ignore that. If you want to check the balance of a user’s account, you can use Plaid’s accounts API - a single endpoint for every bank. They take care of the hard work of translating “give me the account balance” into the specific language and structure that each bank requires.
End users (like you and me)
Plaid isn’t just a set of APIs - they also provide a user interface for connecting with banks. If you’re a Venmo user and you want to connect your account to Bank of America, you’ll probably get a screen that looks something like this:
This page was not developed by Venmo - it’s from Plaid. For most of their customers, they take care of the entire integration process, not just the backend. This is important, because it lets them own the data flow and provide value by encrypting and keeping your credentials secure.
Two more notes:
→ Plaid’s product expansion strategy
Over the past few years, Plaid has been working hard to expand beyond just banking, and become a fuller financial platform. A couple of examples:
Investing – your investment history and holdings
Payroll – your pay day history
Liabilities – your credit card and loan history
Plaid has been working on support for all of this data, and adding new API endpoints for application developers to work with it. You can easily see a future where a company like Better Mortgage can use Plaid to get an instantaneous history of your account transfers and liabilities, and give you a loan decision in minutes (which they sort of already do).
→ Plaid is NOT a payment processor
While their marketing might not make this super clear, Plaid actually doesn’t process or facilitate payments (outside of the UK, at least). They take care of connecting to your bank accounts, as well as basic read-only data (account balances, etc.), but they don’t actually move money around themselves - they typically rely on a third party provider like Stripe or Wells Fargo to do that.
There is a section in the documentation for initiating payments, but it’s in beta and appears to be limited to the UK (which have their own complex open banking standards).
The whole Visa saga
Plaid has been in the news a lot recently. In January of 2020, the news broke that Visa was planning on acquiring Plaid for $5.3B. The startup had raised a little over $300M at that point, and the acquisition price was 2x the last round’s valuation; in other words, a nice win for everyone involved. But because Visa is a big company and their businesses overlap a lot, the Department of Justice started looking into the merger. The concern was anti trust - would Visa acquiring Plaid give them an unfair advantage and start to resemble monopolistic practices?
Almost a full year later, in November, the DOJ finally decided that this whale merger was not chill, and filed a lawsuit to try and break it up. At that point, Visa and Plaid had a decision on their hands - do they try and fight the lawsuit, or just give up?
Now, I’m no lawyer (I’m not really anything professional, frankly). But one thing to keep in mind is that over the course of 2020, the financing landscape completely exploded - sky high valuations and multiples littered the battlefield of the startup. There was no doubt among the “community” that Plaid would be worth a lot more than $5B as an independent company by the end of 2020. The CEO finally announced on Twitter in January that Plaid would be calling off the acquisition and staying independent.
If you want to know if this is a smart move, idk go read Twitter or something.
Further reading
An explainer on ISOs, the world of third party payment providers
An interesting discussion on Security Exchange about Plaid’s security practices
Thanks to Charley Ma for edits and corrections ✍️
Love the blog! How about Stripe for your next fintech piece? 🤯 Thank you!!
This is a really great piece. With all these integration platforms, what’s the incentive for banks to allow plaid to access the bank information?