Building a payment processing system is hard and managing people’s money and personal data comes with a lot of risk.
The fintech industry is extremely competitive and it’s no longer acceptable to make tradeoffs when building your infrastructure. For most organizations, a payment system is a tier 0 service essential for operations. Downtime is a huge liability. Scaling can be a difficult technical challenge. And what about guaranteeing consistent transactions at scale?
CockroachDB is a “toolbox” that many of our customers rely on to build payment systems that are highly available and scalable while guaranteeing consistent transactions — no trade-offs allowed! Here’s how five customers across five different continents are running their tier 0 services on CockroachDB today.
Spreedly (U.S.)
Founded in 2007, Spreedly is a payment orchestration company that has evolved its infrastructure to keep up with these ever-changing demands to deliver the best customer experience. They work with 100+ different currencies, serve 50K+ businesses, partner with 200+ services, and securely store more than 1 billion payment methods.
Spreedly originally built their platform on a NoSQL key-value data store. This database didn’t have relationships, so they had the secondary index and secondary systems split from the primary application database. This setup became a struggle to maintain and wasn’t performant; they needed to consolidate their data storage. They also needed to ensure their platform was highly available and could guarantee data correctness since they are dealing with money.
After researching for a new solution, they came across CockroachDB — a cloud-native, distributed SQL database designed to handle transactional workloads generated by global applications. CockroachDB met all of their requirements for a modern database solution and they felt confident in its ability to scale with them in the future.
“When I first learned the migration to CockroachDB was my responsibility, I set it up on my local machine and I tried to kill it. I tried to knock it over, and I thought my laptop was malfunctioning. It started to heat up and the fan was whirling like a jet engine, and I couldn’t knock it over. I think CockroachDB is a really appropriate name for a technology that is so resilient.” — Scott Traver, Staff Engineer on the Application Architecture Team
With the migration, Spreedly’s main goal was to take their self-built split system — consisting of the database layer, the analysis layer, and secondary index layer — and consolidate all of those with CockroachDB. Scott Travers, an engineer who manages CockroachDB, remarked that, “in terms of setting up CockroachDB and operating it, it’s really just been a piece of cake.”
[Learn more about Spreedly’s use case.]
Fi (India)
Fi is a neobank that caters to the millennial audience in India. It offers a zero-balance savings account and helps users know their money, grow their money, and organize their funds. Their engineering team knew that building a payment system from scratch would not be an easy task and they needed to choose technology that would support their business in the long-term.
The Fi team evaluated other distributed SQL databases like Spanner, TiDB, and Yugabyte, but CockroachDB was the only solution that met all of their requirements. They needed a database that could scale across multiple regions and clouds, guarantee consistent transactions, and pin data to a location to aid with meeting India’s complex data regulations.
“We know that the startup mentality is to move fast and break things. But we are in fintech and we are handling people’s money! We needed to build for the long term in order to keep up with the competition. We felt comfortable making an investment in CockroachDB and trust that it will grow with us on this journey.” - Prasanna Ranganathan, Founding Team
Fi’s engineering team was familiar with PostgreSQL and hit the ground running with CockroachDB, which now serves as a financial ledger and stores all of the company’s core banking data. The platform now has over 1 million users; as Fi’s customer base increases, the team simply adds more nodes to their cluster and the data automatically rebalances across these nodes.
RELATED
How to build a payments system that scales to infinity (with examples)
[Learn more about Fi’s use case.]
Pismo (Brazil)
Pismo is the first digital banking and payments processor with a fully multi-cloud SaaS platform that helps financial institutions overhaul their core processing systems, improve efficiency, and accelerate time to market. Pismo delivers a complete solution for card issuing, digital accounts, wallets, sellers’ management, and other next-gen payment platforms. The company is based out of Brazil but caters to countries across LATAM, and has locations in the U.S., UK, and Singapore.
Prior to using CockroachDB Pismo built their asset registration service on another relational database, but they were not pleased with its performance. The CTO assigned a task force of 10 engineers to develop a multi-region, active-active version of the Pismo platform to improve the resilience of their solution. They also needed a database that would allow them to expand to additional regions across the globe while adhering to data storage regulations.
“When building Pismo, we wanted to leave behind all the artifacts of an industry that still largely operates on decades-old infrastructure. Most banks are working with obsolete solutions. Not us. With CockroachDB we are able to build a cloud-native solution that will scale with our success.” - Daniela Binatti, Co-Founder and CTO
Pismo migrated their asset registration, custody, and management services to CockroachDB which serves as a system of record. With CockroachDB, the platform is able to support intense loads of create, read, update, delete (CRUD) operations, in particular when performing asset registrations and daily accruals. This data consists of fixed income debt instruments, and a vast amount of financial data such as rates, transactions, and redemptions.
[Learn more about Pismo’s use case.]
Form3 (UK)
UK-based Form3 delivers a fully managed payment processing platform for financial institutions. They handle their customers' core payments infrastructure in a scalable and cost-effective way through an API-first, cloud-native platform, delivered as an always-on, managed service.
Originally, Form3 had implemented their payment gateways using primarily AWS and Postgres. A couple of years ago, though, they started building a new FPS gateway on Kubernetes clusters that required leased lines, physical HSMs, and other hardware — which meant there was no way to operate exclusively in the cloud. They also needed both the speed of a NoSQL database and the consistency of a relational database at the same time (no trade-offs!).
“Regulators are saying that we are becoming critical infrastructure because of the amount of volume that we are doing. That, in turn, has led banks to wonder about what would happen if AWS went down, considering that a lot of Form3’s current software was written to work on AWS, it was written against Postgres… Now the idea of the platform is to be able to survive a cloud vendor outage. That makes CockroachDB, with its support for multi-cloud and hybrid cloud deployments, a perfect fit.” - Kevin Holditch, Head of Platform
Rather than having two physical data centers and one cloud, they now have a Kubernetes cluster in each cloud vendor (Azure, AWS, GCP) – and run CockroachDB across all the three as the backbone of their FPS gateway. The ultimate goal is to be able to tell banks that they don’t have to worry about outages; for example, if AWS goes down, Form3’s platform will just keep running.
[Learn more about Form3’s use case.]
Stake (AUS)
It’s no secret that the U.S. equity markets are the largest in the world and continue to be massive wealth-generating engines, representing over 40% of the $108 trillion global market cap. Stake was founded to give Australians access to NYSE and NASDAQ stocks without a brokerage fee. Since 2017, they have further expanded their global presence to Brazil, New Zealand, and the United Kingdom.
A few years ago, there was a notable “short squeeze” which caused major financial consequences for hedge funds, brokerage services, and sellers. At the time, Stake was running RDS for PostgreSQL and vertically scaled the database to its absolute limit to keep up with the traffic. Despite the engineering team’s non-stop efforts, the platform went completely offline a couple of times.
“We kept vertically scaling our Postgres databases until they would hit their max and just give up. We spent 72 hours straight cleaning up the mess. No sleep or anything. Just hours and hours of refactoring code so it would run faster because we couldn’t add more databases behind this thing. It just wouldn’t work.” - Adrian Hannelly, Stake, Head of DevOps
After running a postmortem on the incident, the team realized that the database was the cornerstone of all their issues. They needed a new solution that would allow them to achieve immediate, horizontal scale and give them the ability to expand to multiple regions in the future. CockroachDB met all of these requirements and they decided to do a lift and shift migration.
RELATED
How to build a payments system that scales to infinity (with examples)
The Stake team reports that they were able to move their production application on one Sunday afternoon and it only took them about 4 hours. Because CockroachDB is Postgres-compatible, they only had to do a 5% rewrite to make sure they had the right indexes in place.
Stake’s key business goal is to go fully global and not limit their reach to certain regions. If they get interest from users in any country, they can stand up their business in that geographic region. Now that they have a top-to-bottom distributed system with CockroachDB, global expansion will be significantly easier.
[Learn more about Stake’s use case.]
If any of these stories resonate with you, we encourage you to get in touch! Or you can learn more about the benefits CockroachDB offers for fintech companies here.