When we launched current accounts back in 2017, we built our own Faster Payments (FPS) processor, but chose to use an “off-the-shelf” Gateway, built and operated by a third party.
When you send money from your Monzo account to another UK bank account, it will likely be done via Faster Payments. When this happens, Monzo sends a payment message to the FPS “Hub” (via our Gateway). The Hub then forwards the message on to the other bank and, as long as the receiving bank “accepts” the message quickly enough, the money will debit/credit the bank accounts appropriately.
During a short maintenance window last month, we delivered on a promise we made back in the summer, and successfully brought the last remaining part of our Faster Payments connection in-house!
Since then it’s been running smoothly, handling every single Faster Payment that you’ve been sending in to, and out of, Monzo (and coping admirably with the huge surge of activity during Black Friday!).
Though you won’t notice any difference when making these payments, this was a major technical change for us, and a project that started over a year ago…
Starting from scratch
There were a few key steps involved:
Setting up new infrastructure — to physically connect our data centres to the Hub, in a way that satisfied the FPS’ (and our own) security requirements
External testing (with FPS) — to make sure we can send and respond to payment messages in the right way and our gateway can handle it if different things go wrong
Internal testing — including “load tests” to make sure that our new gateway could handle our payment volumes for the next 5 years (and beyond...)
We passed ‘certification’ from a Faster Payments perspective at the beginning of October, we then spent the rest of the time practicing our gateway migration steps and doing our own, more specific, failure testing.
This is quite a high level summary of what was a fairly complex project! Our engineers are putting together a more technical blog post which we’ll share with you soon.
Growing fast but in control
The bank transfers incident we saw on 30th May wasn’t the only issue we’ve had with our third party Gateway, but it highlighted the importance of reliability with all of our ‘critical’ outsourced suppliers.
A few years ago, we built our own Mastercard processor to handle card payments for our current accounts. This recent piece of work means that the two main payment methods that our customers use are now using Monzo-built tech!
There are a number of reasons that our current setup is a massive improvement on what we had before:
We now have full visibility of the systems handling our customers’ Faster Payments (rather than there being a ‘black box’ somewhere in our setup) – this means we should be able to react and fix any problems a lot faster.
We’re running across 2 data centres at the same time, in what’s termed an ‘active-active’ setup. This means that if one site goes down for any reason, we’re still connected to Faster Payments, and payments can still be sent and received. We’ll just be running at a slightly reduced capacity for a bit (a scenario we actually ran during our ‘internal testing’ phase).
If we need to, we can make ‘rolling changes’ to this part of our system with no impact to Faster Payments processing for our customers.
So what’s next?
We’re spending the rest of December making sure our Faster Payments systems keep behaving the way they should, and planning what we’re going to be working on for the next 12 months. As you might expect, there’s a long list of payments-related work on the backlog but hopefully we’ll have something exciting to show you next year!