Stripe Financial Connections
stripe.com
stripe.com
Plaid's other weakness is their opaque, enterprise-style pricing, which is seems like Stripe is doing away with. Hopefully they can bring the price down, because lots of consumer-facing use cases aren't viable due to the high monthly price per connection.
I hope they add support for investment account holdings—it seems like Plaid is the only one that does this well.
—
Edit: digging deeper, it looks like Stripe proxies to Plaid-like "service providers" under the covers—at least for institutions without OAuth flows. [1][2][3] Presumably they'll build in-house connections over time, but it dents my hope that their connectivity will be better than Plaid's. Either way, transparent pricing and more competition in the space is still welcome!
[1]: https://support.stripe.com/questions/what-is-the-relationshi...
[2]: https://support.stripe.com/questions/how-does-stripe-limit-d...
[3]: https://support.stripe.com/questions/who-will-obtain-my-fina...
You've said "Stop lying bro.", "hella sus", "This is 100% a lie", "seems suspect", all without evidence.
You seem to have some ulterior motive here that you haven't disclosed. Maybe you're right about everything, but it comes across poorly.
Screen scraping is a terrible compromise for sure, but without it, fintech, and the everyday consumer's ability to more effectively engage with their finances, would be severely neutered. One day, we'll have a rich financial ecosystem where financial institutions, fintechs, and consumers all talk with eachother exclusively through secure, reliable APIs, but until then, the only other alternative is to cripple this entire industry. Or have Congress pass a sweeping PSD2-esque bill, but good luck with that lol
Even better it would be best if it just emailed you every 90 days asking if you wanted to remove/continue with permissions and did token rolling automatically without the user being involved.
Imagine if you had to renew your account for Facebook every 90 days, I think they would never have built a business.
You're not winning any sympathy from me with this at all.
Plaid's flakiness / reliance on screen scraping is probably that a lot of these banks don't expose APIs / OAuth etc.
It’s something I hit often and have to do the old microdeposit thing (if I can even figure out how to trick the service into allowing me to do that at all).
Does fidelity just have some sort of broken setup?
> To maintain system stability, Fidelity currently limits access during high-volume windows. As a result, please expect unavailability between 9-10:30am and 3-4:30pm ET. We recommend end users link Fidelity accounts between 5pm - 9am ET.
The host knows when they break. Or if they don't, they should, via automated tests.
Tell me "It's down." Not some bullshit about experiencing temporary difficulties.
On pricing, Stripe's listed rates are 30-200% higher than Plaid rates (perhaps due to high vendor costs). That said, if anyone does have feedback on where Plaid pricing is prohibiting new use cases, we'd love to hear! I'm zach at plaid if folks would like to discuss.
Let me know if I'm missing something but if Stripe is A) providing reliable connection to common banks Plaid misses and B) saving it's users from all the headaches of integrating with old school services like Finicity/Yodlee, then charging a premium sounds like fair game.
A partnership for ACH is more related to importing stable routing and account numbers, then enabling initiating ACH transfers. Scraping transaction data is a completely different integration that seems to have been forgotten.
Sadly, I'd even wager SVB-Plaid data won't improve any time soon. Remember that SVB doesn't even yet allow external bank transfers on their own bank portal.
If a startup can use Stripe, who they're already integrating with, or integrate with a new provider with hidden pricing that requires them to contact a sales person, I wonder who they're going to choose. Good luck.
Our pricing is upfront: https://stripe.com/en-us/financial-connections#pricing. We’ve worked with a large beta group of users to make sure the pricing is in line with what they see in the market.
But I think I remember seeing that some of Capital One's bank account offerings have some customer facing apis.
Why can’t the reason be “losing their only source of revenue to a competitor”? That seems like a fine reason to not want people to switch
PR is a hell of a marketing tactic.
Their API and app-centric approach seem to be the only upshots, and even then, other banks have relatively good apps these days.
I hate the fact that physical banks (and cash) are disappearing. I don't have complicated needs as to the digital services I consume, same as many other people. Then online banks become indistinguishable from the next, and it is ability to contact real people that sets them apart.
The situation with cash is overall very bad. Try to pay with a 100 Euro note in smaller cities. Almost no one will accept it, including banks. I regularly see very frustated tourists who with cash in hand are left out in the cold.
Chase does at least for credit cards.
Betterment has app passwords, which is better than using your full password.
but at least I don't use their checking feature, which they're oddly excited about despite it having no advantage over other banks and no possible way it ever could have an advantage.
Plaid, Finicity, and Yodlee all purport to support both those direct connections with big banks and the long tail of smaller banks and credit unions. It reads like Stripe has built some direct connections (where possible) and is wrapping other providers for everyone else. That is also, as I understand it, what MX does.
https://financialdataexchange.org/FDX/The-Consortium/Members...
> Our pricing is upfront
Because plaid does everything not to be transparent on their pricing.
My question then, is: what is the upside here, then? As a hypothetical fintech developer, why do I choose Stripe for my use case over the established competition? Why would I want my end-user's credentials in transit between multiple companies, for the same price as the rest of the market, with no improvement in performance or uptime?
However if your customer/sales support is superior you could win just on that. Plaids is terrible. Support tickets go weeks without responses, I need to speak to a sales guy just to enable UK/Canadian connections and still haven’t heard back after weeks of chasing. Other tickets can get left for similar amount of time too.
Plaid should get out of the way and make it fully self service to enable countries/features when you’re getting started, or fix their support/sales team so users aren’t waiting weeks to hear back from them just to enable a couple of countries they already support or confirm pricing.
With regards to pricing they also make it difficult as they don’t really explain the pricing well when you enable production either. They talk about “accounts” when their API talks about “items”. After enabling production my first bill confirmed (as no sales person ever responded to me on my question) that account was item, and not accounts the institution holds which would be extremely expensive! They don’t provide any examples on how the pricing works either, so you kind of have to figure it out after you enable production. AWS docs give a pricing example to help users understand how it works. Plaid should do the same or (again) improve their sales/support to answer questions on it promptly and not leave users hanging for weeks.
Anyway glad to see some competition here, if Stripe can match the $0.30 pricing, add UK/Canada and provide faster/better support they can win this market if Plaid doesn’t sort out support/sales quickly.
Further there are significant platform minimums and platform fees that add large costs initially.
How do you reconcile the above comments from our interaction?
Also, it's not in your interest to post like this to HN anyhow. The audience will only side against you if you fulminate and call names. If you want to win readers over, you should drop all that and instead provide specific, concrete information and say what's important about it.
(Before anyone misinterprets the above: I have no idea which side you're on. I haven't looked at any of the comments you've replied to. All I know is that, whichever side you're arguing for, you're going about it in the wrong way for HN. If you'd please review https://news.ycombinator.com/newsguidelines.html and fix that, we'd appreciate it.)
Aggregators all the way down...
The US really needs its own PSD2.
If MX and Finicity are aggregators of aggregators, that would still mean Plaid would benefit, right? Maybe you (and your sales team) do not know your competition.
Publicly airing grievances as well against Stripe, who you could potentially partner with in the future, reflects an underlying toxic corporate culture at Plaid. I do not think Stripe will likely ever want to do business with you after this and prevent others from doing the same. I have never worked at Plaid, but I am not inclined to want to work with you based on what we are seeing here. Plaidsettlment.com
It read like conjecture at best, and inaccurate information at worst.
https://twitter.com/zachperret/status/1521898404061716480
I think Zach knows his product very well & this could be espionage on Stripe's part, but I'm not dissatisfied with Stripe's product nonetheless.
Disclaimer: I've never used Plaid.
So if I am working for a top 10 bank, and I see value in a solution, if I cannot get it cheaper than it would cost me to develop it and time is not that big of a factor, I build it myself. If there are no time constraints and vendor can deliver solution at roughly the same cost I can build it for, I built it myself.
My guess as not being part of the stripe/plaid conversations or RFP. Zach's lawyers did not redline or challenge language around processes or IP with Stripe in RFP Agreements and that was likely the biggest downfall.
Plaid does have great litigation attorney's, I mean their class action settlement was only $58 million. So likely, Plaid might get something if there is IP that was protected. It will come out in discovery if a lawsuit gets legs.
This matches up with my personal experience - I had to get in touch with an actual human and ask them for the pricing just to see if a project would be viable. I did get a relatively fast response that made the pricing very clear, but because it didn't come with any caveats (e.g. volume-based pricing or "we need to negotiate pricing on a per-client basis") it almost made the experience more frustrating.
Basically if your pricing is simple and universal enough that you could post it directly to the pricing page, you should post it to the pricing page. Especially for developer-focused products, hiding the pricing can lead to a serious reduction in conversion.
My use case is transaction data so the pricing for Stripe's competing product isn't posted yet, but if I was choosing between the two products and only one had pricing clearly posted on the website I'd immediately go with that one unless the pricing was so ridiculous that it wasn't affordable. And if the pricing was ridiculous, I'd probably assume that Plaid's pricing was just as bad.
Basically, I should be able to evaluate your product and its pricing without engaging with any of your employees wherever possible. I routinely remove companies from consideration because I can't plug them into a spreadsheet of prices without going back and forth with a sales team whose time I'll just be wasting anyway.
I remember in a previous company we migrated out of Plaid into SynapseFI because Plaid started charging a high price on a per connection request service (like, requesting a new bank connection for a new customer was quite expensive).
It seemed Plaid was focusing on the Mint like use cases: low number of users, allowing them to setup a Plaid connection one time to be used extensively subsequently. While our use case was more akin to: lots of users/authentications doing one time connections that may not be reused. (kind of what might be used for credit risk analysis, although the company was not doing that).
Thank god competition is heating up.
I love how Stripe presented the pricing page, 1.5$ per account, 10cents per fetch balance. Very clear. I still have no idea how much plaid will cost me.
We provide real-time holdings, transactions, orders, historical performance (Plaid doesn't provide this at all), and balances.
Sorry for the lack of a pricing page - we're going to add that in. We have graduated pricing starting at $1/mo per linked account and decreasing at different levels of scale. That fee includes unlimited API calls. We're also offering discounted pricing to companies that integrate within the next 60 days.
Feel free to email me whenever at sean@realizefi.com
Our Fidelity integration will be out by the end of this week.
> Wow! Jay, you took interviews with Plaid & asked probing questions multiple times over the past few years, and your team sent repeated RFP's (under NDA!) to us asking for tons of detailed data. I wish y'all the best with these products, but surprising to see the methods.
On the other hand, if I, a random hypothetical engineer, were interviewing someone for a team, in a 1-1 situation, and they asked about what I worked I'm, I'm naturally going to be less guarded nor really prepared to sufficiently redact my answers.
> Zach, sorry you feel this way, but this isn’t true and I think you know that. You reached out to me repeatedly—I never reached out to you for information. Stripe did an RFP because we work with partners for this product, and we had hoped to include Plaid.
A couple years ago Stripe reached out to me saying they like my background and that they want to discuss potential roles. I was working on a payments product at a FAANG company at that moment and was starting to think it’s time to do something else. So I said I am interested. Stripe scheduled an interview with Q… J… (Eng Director at Stripe). After a few generic questions about my past experiences, Stripe’s Q… J… asked a series of very specific questions about vendors/partners, API integration details, txn costs, etc. at my current company. I politely declined to answer these questions citing my employment agreement and NDA. I never heard back from Stripe again.
Edit: fix autocorrect
I'm going to do the low-effort comment and link to a Silicon Valley series video someone posted here not long ago (Brain Rape): https://www.youtube.com/watch?v=JlwwVuSUUfc
> Wow! Jay, you took interviews with Plaid & asked probing questions multiple times over the past few years, and your team sent repeated RFP's (under NDA!) to us asking for tons of detailed data. I wish y'all the best with these products, but surprising to see the methods.
I don't know. Talking with a company shouldn't disqualify you from ever working on a competing product. Sending an RFP doesn't mean you can never build your own product.
The Plaid CEO is trying to anchor the conversation around malicious intent, but it's not hard to imagine a scenario where this product-minded person legitimately explored working with Plaid, legitimately explored partnership opportunities at Stripe, and walked away believing it would be better for Strip and for himself to build a competing solution at Stripe.
Plaid's product isn't entirely novel. In my experience as a consumer it has failed at least 3/4 times I've tried to use it with my financial institutions. I'm frankly more surprised that it took this long for anyone to enter their space to compete against Plaid.
Talking to companies about their product and then later deciding you'd rather build your own isn't really surprising. Plaid was definitely aware that Stripe was a potential competitor going into those meetings.
https://twitter.com/jay_ssh/status/1521973965098561536
Plaid CEO maliciously misled people.
1. Obviously this is a product we'd want to build because our customers want it
2. We contacted Plaid to see if they wanted to be part of it
3. Plaids pricing didn't work for us so we built it ourselves / went with other providers
Not sure what you'd even get from talking to the team at Plaid that couldn't be learned in an afternoon or two using product that use Plaid and hacking on banking API's.
In my view, ethics go out the window when the mantra is to eat the world. The kind of ultra-fast, ultra-huge growth that Stripes pitches to investors and also to its employees comes at great cost. We've seen this with prior tech giants like Facebook, Microsoft and Google who also invested heavily into developer PR.
Jay met with people from Plaid a few times. All were at Plaid's requests...
RFP is about Plaid becoming the service partner for Stripe like how MX is currently a partner. Plaid decided not to become a partner.
Source: https://twitter.com/jay_ssh/status/1521973965098561536
And of course plaid CEO doesn't respond.
Plaid CEO mentioned "interview" but intentionally left out "8 fucking years ago, and it was a job interview".
Plaid CEO also got the RFP, so they have been aware that Stripe is building this because Stripe wanted to depend on MX, Plaid, and etc. But Plaid CEO acted surprised to this launch.
It sounds like Plaid CEO maliciously misled people. Does this guy have any ethics left?
Does Plaid think they are the only one who is allowed to use Bank APIs?
Anyone who uses that is considered as copying Plaid?
Plaid's CEO sounds like he is so angry he didn't know what to do.
There also seems to be some vindication by the Bolt founder, based on his Twitter thread about how Stripe handles corporate development [1][2], it really reminds me of Paul Graham's essay not to talk to them, lest the same thing happen to you [3].
[0] https://twitter.com/pitdesi/status/1521915016668090368
[1] https://twitter.com/theryanking/status/1485784823641755648
I’d guess the big benefit here, besides taking some of Plaid’s existing customers, is what’s possible now that Connections lives alongside the other things Stripe offers like ACH, loans, and identity verification.
I would expect they will gradually improve and cut out other aggregators and replace with direct connections that have more & better data as they go along.
Or maybe not, because with Oauth they then become at the mercy of the bank that issues the token (banks can revoke tokens or attach individual conditions on what data is accessed and how much).
It's not an easy business to be in.
As the founder at [name-redacted] (personal/SMB finance plugin), I deal with bank connection issues on a daily basis.
- Screen scraping is 1. flaky and 2. insecure because it requires saving credentials and is 3. not realtime and 4. doesn't work with 2FA. Account balances can be out of date within minutes, and cannot be refreshed without another auth
- 95% of banks on the planet don't have OAuth APIs. The 5% that do have APIs that often don't serve customer needs because they provide the absolute minimum amount of data to meet the requirement. For example CapitalOne's API only provides access to 90 days of data. American Express does not provide access to invoice metadata, which makes reconciliation hard. Who can provide dedicated direct screen-scraping connections to banks with all the data that users want?
- When building a generic fintech product (as I do), global bank coverage is essential. The least bit of innovation Stripe could have done was save me the trouble of having to integrate 5 different APIs to get access to US, European, Latin American and Australian banks.
- In the same vein, connection to 90% of accounts is useless for many users if they can't access the other 10%. The number one need for financial planning software is "to see all my accounts in one place". Most people have at least one account with some obscure institution or overseas bank. If they can't see all their accounts in one place, this isn't solving the problem.
- This is just an API without a GUI dashboard. Another common complaint I've heard from my leads that Plaid/Finicity is only for programmers, or companies that have programming expertise. What if you're a marketing firm with need for no-code bank data visibility?
- Only 180 days of transaction data and no statements? This is much worse than Plaid and Finicity.
I guess it's nice if you can verify ACH details faster, but even then the coverage is worse than Plaid, and so I don't see any reason to recommend this product to anyone. Zero innovation and objectively worse than the current offering? Who is the target market here?
I’m sure Stripe’s hope is that this becomes a full-blown Plaid killer, but as you mentioned that’s certainly not yet the case
"Stripe releases Plaid-like project, Plaid CEO objects to process"
Different day, same old stripe. Beware.
It's a common English idiom.
I don't have the reference links handy but the TL;DR is that Stripe has played dirty lots of times before. The formula is:
1. Pretend they want to acquire a company with a product they like
2. Then, once they waste enough of the competitors time (buying buffer enabling them to figure out the secret sauce)
3. Clone stamp the competitors product, fucking them over royally. Also leverage the tremendous public reach, visibility, and clout of Stripe itself to promote their clone.
It's a very ugly and distasteful way of doing business. It aligns with the values of the Farenghi on Star Trek.
It's naiive on the victims part, sure, but Stripe is dishonest and shan't be trusted.
https://news.ycombinator.com/item?id=29403976
I think I was confused, and I apologize. There was some prior drama with the Bolt founder claiming Stripe was colluding against them.
It seems an error on my part, an honest one but still incorrect. Sorry, again.
You log into your bank directly and then grant access to Stripe.
I presume, behind the scenes, your bank gives Stripe a single application token (not your credentials) to pull read-only data.
(edit) But this is only for banks supporting Oauth, it seems for others it DOES give Stripe your credentials.
This discourages SO MANY startups.
How many ways are there to do this?
Although, from reading the docs, a lot of the products that I'm interested are still "Coming Soon" (confusingly a different verbiage but identical in meaning to "Private Beta"?): - Transactions - Other data-powered products
https://github.com/teampoltergeist/poltergeist
is an excellent example of such a framework. Implementing "bank drivers" using such frameworks would not be difficult.
Plaid and others seem to have done an awesome job scaling the hostile integration pattern. However, the idea that Stripe decided to build this in-house rather than rely on Plaid is perfectly reasonable.
After all, the tools to implement such a product are well known.
It's doable if you really want to, but it's much more of a hassle that just running a script. Definetly not doable at scale, for better or for worse.
According to one of their PMs, Edwin, elsewhere in this thread, they supposedly integrate directly with banks that already have existing APIs - but for the 95% of banks that don't, it appears this product is just a wrapper for existing aggregators MX and Fincity.
If it gets peoples attention like it did mine maybe it’s worth the dev time to implement?
People want alternatives to Plaid. How do you know they are simply wrapping 3rd parties instead of building these deep integrations themselves?
Ask any fintech and they'll tell you - Plaid is simultaneously the best and worst vendor they use. Best because there's no real alternative, but worst because it causes so, so, so many headaches with how unreliable the product is. The time spent building product workarounds at every company to account for Plaid issues is tremendous.
If Stripe thinks they can build something better, then I'd really love them to try.
Edit: William (co-founder of Plaid) seems to have deleted his comment, but it was basically accusing Stripe of repeatedly copying other companies.
Asking out of a genuine interest in which aggregator people with experience find is best in terms of connection stability, data quality, and coverage.
Plaid tends to be better for Payments and early stage fintechs.
Yodlee for investments.
I'm the co-founder of Realize (https://realizefi.com/), we tried using all of these APIs for our first app and found them to be super broken. Our API uses a mix of brokerages public and private APIs, which allows us to provide reliable connections and pull data in real time.
MX as a company, are the real good guys. There is no packaging of data for third party use that has ever occurred. In fact, I'm looking through due diligence packages from MX right now and I can confirm what I am saying.
Yodlee was caught. Plaid was caught. I do not yet know about Finicity.
I don't think any of them are actually evil!
As engineers, we should to step away from our egos and our desire to do something "interesting" and focus on where our solutions actually solve real problems, like Stripe's products (often, not always!) do. Whether something is "middleware" or "not interesting" has nothing to do with how useful or valuable it is.
I'm sure there are plenty of people working at Plaid who are really interested and dedicated in working on the kind of middleware that their co-founder is denigrating here. It's a shame they have to work for a company where that kind of polish is pushed aside in favor of ambiguous "innovation". As an engineer and a customer, I know which kinds of companies and engineers I want on the other side of the table when considering business partners, and—going solely from your comment—it sounds like Plaid isn't one of those companies.
Stripe: 'We have always been shameless about stealing great ideas'> With the authentication flow, your user logs into their bank either through an OAuth (bank-hosted) or non-OAuth flow to authenticate access to their accounts.
> Stripe generally defaults the authentication flow to OAuth if available at the financial institution. Your integration doesn’t need to treat OAuth accounts differently than non-OAuth accounts.
"You may be a Class Member if you are a United States resident and you connected a financial account to an app between January 1, 2013 and November 19, 2021....
"This class action alleges Plaid took certain improper actions in connection with this process. The allegations include that Plaid: (1) obtained more financial data than was needed by a user's app"
Citing a settlement date range with language like "may be a class member if you connected a financial account to an app" doesn't really refute my point.
Theres only two reasons Plaid would keep screen scraping. 1) They are still selling data to third parties or providing insights on data to third parties. 2) it is cheaper for Plaid to screen scrape than API.
There were whistle blowers in 2018 who said Plaid did sell data and I am not sure anything came of it. Why collect more information than necessary in your screen scraping? Something is not adding up.
ACH payments are essentially free to process (or a very small flat fee). This is very different from credit card transactions that charge a % of the entire transaction.
If ACH / direct payments from bank accounts became more common through services like Plaid and Stripe's new service, it could mean less fees (less revenue) for Stripe to collect. Which could explain why it's not something Stripe jumped into earlier.
TLDR: if I had to guess, there's more money in processing credit card payments, and much less money in facilitating ACH transactions.
This specifically is such a dig against plaid’s obfuscated permissions model.
“ Before linking an account, users can see: What types of data they’re sharing Who can access their data How to disconnect an account
Plaid was booted from the chat?
Fidel API provides developers with real-time access to card transactions with user consent directly from the networks.
Left unsaid: Stripe gets access to everything, just like Plaid?
Nope nope nope.
As a user, I'd never use any service that is plaid based, I don't even care that "they have proper api access now". Even though I've been fan of other stripe offerings I'd never use this either. It's beyond shady.
Friends don't let friends give out their banking creds.
>Stripe generally defaults the authentication flow to OAuth if available at the financial institution....OAuth is an open standard authorization protocol that allows users to let applications (for example, Stripe) access their information within other applications (for example, bank apps) without having to share their login credentials.
But for banks without Oauth you DO give your credentials to Stripe:
> For these banks, end users provide credentials to Stripe or one of our trusted partners.
like it or not, it is a mainstream thing by now.
plus, as others have mentioned here, with oauth-enabled banks the aggregators just get a temporary token.
https://www.protocol.com/fintech/plaid-lawsuit-settlement-op...
But the use of COBOL generally doesn’t extend to the consumer facing product, or the APIs that support those consumer facing experiences.
Banks may be backwards, but the use of older languages is not one of the primary reasons.
Yes very much. A lot of banks don't even have 2FA and most that do only offer SMS based. APIs, forget about them. Walk before we can run.
Don't you also need the routing number? How does this differ in other countries or anywhere that checks are used?
My bank in the UK would not let you debit my account with just the numbers. I’d need to authorise it.
How do you stop people debiting your account with whatever they want?
Short answer: you don't. Long answer: robust "fraud" controls. It's a shit-show.
Being able to undo mistakes means far more than anything else; it means it's permanently superior to all ""web3"" tech no matter how much fancier they may make that look.
I believe you need a specific bank authorization to do ACH withdrawal using only routing and Account#. Plus, your beneficiary bank does screen for such services given out to clients very closely. No random joe schmo can do auto ach debit
Unless you are referring to passing forged checks, I'm not sure what you mean by this.
If not - why do people protect their bank account numbers in the US? In the UK mine is printed on my bank card - anyone can read it off.
It’s like social security numbers in the US - they became passwords when they weren’t supposed to be.
This is how many people pay for rent in Germany (and I strongly suspect elsewhere) as well.
If they take too much, you can get it back with a single click in your bank account.
(I don't think there is a registry – this would simply be a bank-side setting to auto-decline all requested direct debits.)
No. All you need is an account number and routing number (which are printed on paper checks). The ACH originator is responsible for ensuring the numbers are owned by the payer.
I've not had to dispute an ACH debit yet, but at least at most German banks, it's literally a single click and the money is back in your account – up to 8 weeks after the payment (any reason, no questions asked), and up to 13 months in case of fraud ("no mandate").