Open banking is a financial services term originated from the concept of Open innovation that means no secrecy, no hold of a centralized authority over our data in this information age. Things should be transparent. Something along the lines of the blockchain philosophy.
Open banking is a shift from the closed to an open banking and financial model. It involves big financial institutions like corporate banks providing financial data of the customers, on their approval, via a public API to the third-party developers. Just like how social networks like Twitter and Facebook provide user data to the developers via their Restful APIs, authenticated & authorized by protocols like OAuth.
According to the Open Banking initiative, banks should ideally implement public APIs using the open-source software. This ideology is being adopted by several countries following the open banking models of EU and UK
Open banking enables the end-user to have control over his data. It’s an opportunity for him to make the most out of his money by providing his data to the third-party developers/Fintech startups to get better deals like loan availability at fewer rates, investment advice & assistance with other finance-related stuff.
A few other use cases of these third-party apps are a money manager app where the user could fetch his data from his several accounts in multiple banks and consolidate all the information in one place to strategize his investments better. Via the app interface, he could also check the availability of the functional ATMs of his banks near his location etc.
Apps and website enrolled in the Open banking initiative are to be regulated by a central authority adhering to strict rules on data security, data protection laws & other operation guidelines.
For a full list of all the real-world software architecture posts on the blog here you go.
System Architecture
So, here is how the system works. The flow is just like how we approve our data to be accessed by third-party apps like social games from Facebook or Twitter.
User installs the third-party app. The app needs user data for its service, it prompts the user to approve the data access via a login pop up for a respective bank.
The user enters his details, the bank authenticates the credentials, confirms the user consent via an SMS or an email and provides the data specified by the user to the third-party app via a protocol like OAuth.
OAuth is an open authorization protocol which enables users to grant websites access to their information from other websites without giving them the password.
Third-party apps consume the public Open REST APIs made available via banks to fetch the required information. Here are the links to the open banking standards that respective countries follow
United Kingdom, France, New Zealand, Australia, Nigeria
If you wish to read more about the specification this is a good read
Recommended Read: Best handpicked resources to build a solid foundation in software architecture & system design
Code
Speaking of code, there is an open-source open banking project on GitHub called the OpenBankProject with 200+ APIs, used by over 10K developers to implement the Open Banking initiative. The APIs are written in Python, Java, Scala & JavaScript.
Recommended Read: Master System Design For Your Interviews Or Your Web Startup
Best handpicked resources to build a solid foundation in software architecture & system design
Subscribe to the newsletter to stay notified of the new posts.
Well, Guys!! This is pretty much it. If you liked the write-up, share it with your folks. Consider following 8bitmen on Twitter, Facebook, LinkedIn to stay notified of the new content published.
I am Shivang, the author of this writeup. You can read more about me here.
If you liked the write-up, consider sharing it with your folks.
See you in the next write-up.
Cheers!!
More On the Blog
Distributed Data Processing 101 – The Only Guide You’ll Ever Need
Data Analytics in E-Sports – Future Prospects – Jobs – Everything You Should Know
Facebook Real-time Chat Architecture Scaling With Over Multi-Billion Messages Daily
An Insight Into How Uber Scaled From A Monolith To A Microservice Architecture
Shivang
Related posts
> Spotify Engineering: From Live to Recording
> Ingesting LIVE video streams at a global scale at Twitch
> $64,944 spent on AWS, to support 25,000 customers, in August by ConvertKit.
> Read how Storytel engineering computes customer consumption of books transitioning from batch processing to streaming bookmarks data with Apache Beam and Google Cloud.
> How Pokemon Go scales to millions of requests per second?
> Insight into how Grab built a high-performance ad server.
SUBSCRIBE TO MY NEWSLETTER to be notified of new additions to the list. Fortnight/monthly emails.
Looking for developer, software architect jobs? Try Jooble. Jooble is a job search engine created for a single purpose: To help you find the job of your dreams!!
Recent Posts
- Live Video Streaming Infrastructure at Twitch
- Web Application Architecture Explained With Designing a Real-World Service
- Wide-column, Column-oriented and Column Family Databases – A Deep Dive with Bigtable and Cassandra
- Design For Scale and High Availability – What Does 100 Million Users On A Google Service Mean?
- How Razorpay handled significant transaction bursts during events like IPL
Follow On Social Media