Pablo and Oriol here, founders of Belvo (https://belvo.co/), a financial data API platform for Latin America. Think Plaid for Latam.
We were previously building a payments startup (something like Venmo) in Europe and when expanding to Latam realised how hard it is to connect to legacy infrastructure, whether it is to access data, validate bank accounts or process payments. We’ve also been working in fintech in Europe for the past few years (at companies like Revolut) and one of us comes from a traditional financial services background. We’ve seen the impact open banking technology, which has become common in Europe, has had on providing end-users with more transparent and fair offerings and on lowering barriers for fintech developers to get started and launch innovative new products. But this technology hasn't made it into Latam yet, so we saw a big opportunity and started Belvo to solve that.
Belvo allows end-users to connect their financial data to new fintech apps across Latam. We’ve seen a number of relevant use cases for our product so far. For personal and business finance apps, we allow users to connect bank accounts and view them in one place through account consolidation. This allows developers to provide better spending analytics and proactive recommendations. Business-oriented finance apps can reduce manual errors and costs via automated accounting by syncing bank feeds and reconciling transactions on a recurring basis. We’ve also seen that digital-first banks and wallets can use us to build in-house personal finance managers and authenticate the owner of any bank account - thus streamlining their know-your-client (KYC) processes. We also enable credit providers to build better and faster experiences for borrowers. Instead of having to build onboarding flows or asking users to self-report or upload their information, data can be synced via our API. Fraud risk can also be reduced and scoring improved by accessing more granular and broad data.
Currently we allow end-users to connect banks and bank-like sources to fintech apps. That being said, our goal is to aggregate all relevant financial data sources, not just banks. This is particularly important in Latam, where 50% of the population is unbanked. In this context, sources such as service providers (think prepaid phone, prepaid TV, electricity bills), digital wallets and gig-economy apps are relevant for both users and fintech apps. These are typically paid in cash and don’t go through a bank statement or debit card but all have portals where consumption and spend can be analysed and categorised. Becoming the “source of truth” for all this data is pretty tricky as all data sources have different formats, ways to access, granularity, etc. and that’s something we’re looking to solve.
The process of connecting accounts to fintech apps is built on the premise of full and strong user consent to data sharing. Security / privacy is something we’ve been focusing on since day 1. Our engineering, infrastructure and data teams have past experience in working on products with similar complexities.
We went live in January in Mexico, our first market. We will soon be expanding to Colombia and Brazil and working on some additional products and sources to complement the core data API.
Belvo has been built by developers, for developers and our API documentation is public. The way to get setup is directly via our developer portal (https://developers.belvo.co/). Upon signup, you’ll be able to retrieve your API keys for both our Sandbox and Production environments.
Oriol and I would be delighted to get your thoughts and feedback on what we’re building.
Fire away HN!
Just a little feedback:
I just signed up, but I don't know if it was a special case; Your sign up flow was broken for me: Filled the basic info in the first page of the signup flow (where you ask for email/password/name) and in the second part (the one of the URL and what we are building) just jumped an error saying that I should retry later. I just clicked again the button and nothing happened. Opened the developer console, inspected the network and I saw the error message: "This user is already signed up".
Ok... Now I'm in the user panel, all good, but please show more information to the user, more if you are trying with a delicate thing like finances.
Okay so one immediate issue I see security-wise though is you're sending security key passwords over email … and from what I gather in your docs, only over email? Either way sending it over email sounds shaky at best.
QOL request: on the institutions page (https://developers.belvo.co/docs/institution), can you add links to the bank sites in question?
I like that you have a postman collection at the ready in your docs, that's nice.
Also your homepage is just … I don't think it's good. Sorry, I know this is probably not useful feedback, but it's a nearly autogenerated landing page for the docs site, it doesn't inspire confidence. I want you guys to succeed so please spend some money on a fresh new homepage if you're not doing that already.
Good luck!!
We're constantly improving the institutions page. I agree that adding the url to the bank / entity would be helpful.
The homepage for the developer portal you mean? We put it together using read.me as a first iteration but as we improve the product we'll also polish this up with a more customised UI.
Now question time, maybe a bit harsh but you need to think about it.
1. simple one, where is the user authentication flow?
2. the harsh one: as the same problem in OB, just curious what's your thought about building the trust between a third party (TPP or your client in your case) and the end-users? You know in the UK, even OB is relatively mature, you don't see many people willing to login to their bank account via a third party app, even though we all know it's very safe in the technological point of view. But trust is not something you can simply build with technology.
Maybe this helps to understand our authentication flow --> https://developers.belvo.co/docs/connect-widget
I totally agree with you. Trust is key. We work hand-in-hand with our partners to build this and educate the market as we grow. In general, all of our products, widgets, sdks, etc. are delivered completely white-label so that we can leverage the trust already existing between end-user and the fintech he/she is interacting with. We're also working with the regulator and other stakeholders to build and drive the education towards open banking for the market as a whole. It's a very long-term process :)
What are you working on?
Also, "SHA256 encryption to ensure your user's data will always be safe and never compromised." confuses me, as that is a hash function, not encryption method.
[0] https://static.iris.net.co/dinero/upload/images/2009/10/1/84...
Do you support NuBank in addition to the big banks? I have heard NuBank has pretty aggressive anti-scraping approaches. Not sure if you support them or plan to in the near future.
https://www.entrepreneur.com/article/347661
> The connection to bank institutions are made using the bank websites. When using Belvo, customers would need to user their website bank credentials, not the mobile ones if different.
Thanks for your insight.
We work on the premise of end-users granting us permission to access and share the data they want for the means/apps they want. So there're an opt-in here. There's no general legal framework against this.
side note -- it's interesting that you guys are focusing on LATAM but hiring in europe (i looked through your jobs page because i know some really good LATAM python devs that are looking for new challenges)