Engineered to Succeed: The Story of Cashfree

Cashfree is one of India’s fastest growing payments and API banking companies.

We process billions of dollars through our systems every year and millions of financial transactions everyday. We work on super interesting stuff, solving complex problems at a high scale with the latest tech. 

At Cashfree, we take pride in our tech innovations in the digital payments space. We provide full-stack payments solutions enabling businesses in India to collect payments and make payouts via all available methods with a simple integration. Cashfree’s offerings include an advanced and easy way to integrate payment gateway, a split payment solution for marketplaces, bank account verification API and Auto Collect – a virtual account solution to match inbound payments to customers.

Cashfree has leveraged technology to lead payment disbursals in India with more than 50% market share among payment processors. We enable more than 1,00,000 businesses with payment collections, vendor payouts, wage payouts, bulk refunds, expense reimbursements, loyalty and rewards. Apart from India, our  products are used in eight other countries including USA, Canada and UAE. We are backed by Silicon Valley investor Y Combinator, Apis Partners, State Bank of India and were incubated by PayPal.

In fact, we were the first company in India to launch innovative payment solutions such as Payouts, Cashgram and Instant Settlements on our Payment Gateway. We manage to do all this by keeping our tech and product teams lean and close knit and giving our engineers the opportunity to work directly with our tech stack.

Talking about our tech journey has been due for a while, planned for a long time and is finally here! Our goal is to share our learnings and insights in simplifying and making payments more accessible to our customers (and to their customers). 

Our Current Scale: 

We have come a long way in a short time. Starting from a PHP monolith back in 2015, here’s just a glimpse of our current systems and the scale on which we work today:

  • Hundreds of crores of Rupees move through Cashfree’s systems everyday. 
  • Millions of transactions are processed on Cashfree’s Payment Gateway and Payouts each day.
  • At our peak, our systems generate and process 1 million+ events per minute. 
  • We support 1K+ transactions per second on some payments APIs; one of the highest in the industry

Last year, we processed over USD 20 billion through our platform. We have built (and continue to build) capabilities to support 100X scale of what we are processing today. 

Our Tech Stack

From a 10,000 feet view, below are some components that comprise the tech stack at Cashfree. We would delve deeper into some of them in more detail in future blog posts, sharing insights on how we scale them.

Importantly, we have built most of our systems keeping stability and easy maintenance as our top priority. We are hosted on AWS and use a lot of managed services which allows us to focus on delivering great impact and solutions for our customers. This is also really important as our DevOps team is extremely lean with two engineers. 

  • We use Kubernetes for deployment orchestration, it allows us to keep the infrastructure a bit simple (obviously, post the initial setup and deployment). K8s also helps in letting Developers control their applications requirements / limits, allowing for a higher degree of control. 
  • We store several terabytes of logs, queryable via ELK stack. The logs from up to a few weeks are available for search; the rest are archived to S3 and are used on demand for older logs.
  • For services, we use a mix of Java, Python, Node and Go. Most high throughput applications or services are Go. Domain heavy or banking interfaces are in Java. 
  • We use Python and Node for a few services which are not in the critical path.
  • We use a mix of SQS and Kafka for asynchronous processing. Kafka acts as org-wide event bus while SQS acts as message exchange between services for specific purposes.
  • AWS managed RDS instances of MySQL and postgres for persistence storage, storing hundreds of millions of rows. 
  • Native SDKs are used for almost all Operating Systems and library platforms such as Cordova, Flutter etc.
  • React and Svelte are for front end applications.
  • Grafana, Prometheus and VictoriaMetrics are for infra-wide systems, app (business) metrics, alerts and monitoring.
  • Redshift is a data warehouse with near real-time data, with usually a lag of just a few minutes.  

Our Teams: 

We have smart, tight knit and self organising teams. We focus on being fast and right, while building products with high quality. Most of our teams have 2-5 developers along with a Product Manager. What’s most appealing is that we get a lot of freedom to run experiments, take bets and deliver while learning on the job. 

We intend to share stories of how we are building Cashfree into the next FinTech Unicorn and solving unique challenges, while innovating for India and the world. 

Watch this space for more!