Getting to the core of the matter: why Solarisbank built its own core-banking system
6 minute read
A bit about myself
Since very early during my studies, I was curious to understand the fundamentals of banking and how those simple end-customer processes are actually handled behind the curtains. My studies of Information Systems with a focus on the connection between information technology and financial services gave me the first look behind those curtains. I was left quite surprised by how much of this industry’s potential had been left untapped, despite it being considered fully digital and thus not restrained by physical resources. This initial impression was confirmed throughout my four-year tenure at a financial services consulting firm, during which I was able to see numerous different financial institutions from the inside. Many of them share the same fundamental issues of overly complex product landscapes managed on rigid legacy IT systems.
Simply lamenting the status quo, however, is fruitless. The really interesting question to me was always:
How would a bank look like if it were set up from scratch? Could such a bank avoid all the issues traditional banks have created for themselves over time?
But how often does someone get the chance to build a bank from scratch? It was a lucky coincidence that I got the opportunity to join Solarisbank as early as 2015, back when we had fewer than 10 employees and Solarisbank was literally still a greenfield project. Since then, I ventured through multiple roles, developing from engineering roles into product roles. In my current role as Head of Product Architecture, I oversee our high-level system architecture and ensure that our products are properly interacting with each other and the outside world.
A bit of history
Solarisbank started in 2016 with the vision to offer state-of-the-art banking APIs to companies looking to build first-class financial products for their customers. Our belief is that by removing the costly and complex hurdles of building an entire banking architecture or applying for a banking license, our partners can accelerate their product development and create entirely new value propositions. Before jumping into the details of the core banking world, I would like to give a bit more high-level context on what core banking precisely is, where it is positioned in the bigger picture of the Solarisbank-Partner relationship, and what impact it has on the banking experience we provide to our partners and consequently to our partners’ end-customers.
What is core banking?
A typical partner integration is visualized by the following illustration:
1. Partner - Frontend (app/web)
The journey of an end-customer always starts on our cooperation partner's frontend, be it a mobile app or a website. This is what defines most aspects of the customer's user experience.
2. Partner - Backend
Our cooperation partner additionally provides backend service to keep track of the customer relationship including all value-added services of the individual product offering. This backend also is the connection point between our cooperation partner's infrastructure and the Solarisbank's API.
3. Solarisbank - Product platform
The Solarisbank API offers a wide range of services to manage banking products and workflow engines to handle requests in a compliant way. The API products talk to the underlying core banking platform for all money movements.
4. Solarisbank - Core banking platform
The core banking platform is the core software component that keeps track of all accounts, funds, and money movements while acting as a connection point to the outside world through integrations with payment networks like SEPA, Target2, or SWIFT. The system also has to serve all datapoints necessary to fulfill the reporting requirements we have as a regulated German bank.
How did we start Solarisbank?
Starting a bank from scratch raises a multitude of questions. One of them is deciding on a core banking system that manages all customer funds in a compliant way while providing a good integration point for our product offerings. Given our new business model and the ambitious timelines from ideation to execution, we decided to partner up with an established and deeply integrated core banking provider instead of building our own core banking infrastructure from the beginning. We focused instead on what differentiated us from almost all other banks on the market: a modern API for integrating financial services. It was a classical make or buy decision in an environment of limited resources. The cooperation took away most of the burden of the underlying banking infrastructure and served us pretty well to grow Solarisbank from a very small niche player to a role model for Banking as a Service-Providers. So, the story could have ended here…
What’s the challenge?
While our API offering became way more extensive over the course of the last 4 years, enabling increasingly powerful financial services on top of our API, the core banking world remained essentially the same. With increasing demand from the market and accelerating growth, we realized that the provider-sourced core banking system limited our ability to serve this demand, react to functional changes and scale our business internationally.
Here is the surprising truth: It's often easier to make something 10 times better than it is to make it 10 percent better.
- Astro Teller (captain of moonshots at Alphabet's X)
The biggest challenge of building a platform is not to react to the immediate requests, but to anticipate the challenges that might come years ahead, which will ultimately hit you hard.
Having said that, we already performed an exercise called moonshot thinking right after our launch in 2016. Our objective was to envision what a platform serving millions of customers and scaling agnostic of geography would require. We did this exercise without taking any preconditions into the equation (including existing infrastructure).
The outcome of this exercise was rather simple on the theoretical level
- In the beginning, we need to radically change the infrastructure around payment processing to get full control over all processes.
- We outsource components to best-in-class providers for domains in which we cannot gain a significant edge on the competition.
How do you identify core components?
If you look into the market, the majority of financial products are built on the concept of a quick and consistent movement of money with immediate customer feedback. Be it the bank account that ensures timely execution of your orders or a debit card that gives you real-time notifications when you spend money at the point of sale.
More than ever, customers demand that banks transition from being a mere trustworthy money vault that hands you a paper document every now and then, towards being on-par with technology companies like Paypal, Alipay, Facebook, Google, and Apple in terms of quality, flexibility, and speed.
We decided that the growing demand for flexible solutions on the customer side cannot be served by highly integrated backend solutions going forward. It was clear that payments of any sort are defining one of those essential core components, which we want to control ourselves to ensure the highest possible quality and the most flexible integration capabilities to our internal and external stakeholders. Consequently, we already started the journey to disassemble our core banking product landscape in 2018. The main objective from the product architecture perspective is to create clear business domain boundaries to remain flexible on the individual pieces, without creating a muddled collection of independent IT solutions. The major element of this strategy is our in-house payment processing ledger system (read more about that here).
What’s next?
Our very own payment processing ledger system started servicing accounts this spring as a separate infrastructure to avoid any side effects on our existing customer base. This new system is designed to eventually take over the payment processing of our existing customers too, which will happen as soon as we reach feature parity between both systems within the next year. We tried to keep our higher-level API product as agnostic as possible to the underlying system so that only minor adjustments are required.
As we can already see today, the new system will improve our offering in multiple important dimensions:
- our quality of service
- the ability to implement new features (with the prominent example of SEPA Instant)
- to scale our platform significantly
What does it mean for our partners and their customers?
For our partners
We will approach all of our partners with our migration plans and detailed timelines to ensure a smooth transition between the old and new infrastructure.
For our partners‘ customers
At the moment the accounts of the new and old system are easily distinguishable by looking at the IBAN:
If the part of the IBAN that defines the sort code ends with a
- 0, it means the account is currently managed on our old infrastructure
- 1, it means the account is already on the new infrastructure.
The migration of the old system's accounts will happen in 2020/2021 and will be seamless for all end-customers. We put a lot of effort into ensuring that this migration is frictionless. It will not be a classical big-bang migration to an entirely new system, but rather an iterative approach. By the time the old accounts are being migrated in 2021, we will already have served hundreds of thousands of accounts on the new system infrastructure without any issues.
Once we have migrated our entire customer base onto the new system, we will be able to quickly introduce enhancements to many processes, which will improve everyone's banking experience even more and speed up our future development process further.
Through this project, I was able to answer the question I asked myself at the start of my career. The opportunity to build a bank from scratch at Solarisbank was truly one-of-a-kind. Now, I am excited to see where these questions will take us in the future. Be sure to stay tuned to accompany us on this journey!