Hacker News new | ask | show | jobs
by pzmarzly 19 days ago
22B transactions a year mean an average of ~700 QPS for the NPCI switch. Of course the traffic is not uniform, it probably peaks at many times that number, but that still doesn't sound that bad - for comparison, a quick Google tells me Nasdaq TotalView ITCH feed peaks at 100k+ QPS at market open.
3 comments

The right comparison for Nasdaq's order processing volume or messaging volume would be India's National Stock Exchange (NSE). It does more executed orders per day than nasdaq.

I worked on scaling UPI a few years ago. Real-time Payments is vastly more complex as it is much more distributed - each transaction involves the two banks holding funds, two end-user apps (and their banks), and the network (npci) – for the payment to complete end to end, multiple message exchanges need to happen between these parties while the user at both ends are waiting. So, if you measure the scale in messages/sec it would 10-25x higher.

Real-time payment rails that works 24/7 365 days a year from any bank to any bank (domestic, no exceptions) for free is truly a game-changer. Compare that to US payment rails which is slow and expensive. Apart from UPI, India has 3 more payment rails – NEFT (similar to ACH – batch settlement), IMPS (similar to UPI, instantaneous - but different user experience), RTGS (real-time, intermediated by the central bank RBI, but only for high-value transactions) – all are 24/7/365 and free. Then, there's credit card rails – apart from Visa and Mastercard, India also has RuPay which has much lower interchange rate.

None of them are free, most banks now charge nominally (look at NEFT and IMPS charges). UPI itself is paid off by taxpayers.

Also RTGS is the only ISO 20022 complaint payment rail (back when it wasn't globally very common) - something that needs to be appreciated more.

People need to realise what NPCI offers is vastly different from what RBI offers. In my opinion what NPCI is offering will end up negatively impacting the general population in the long run.

Just for my curiosity, why do you think "what NPCI is offering will end up negatively impacting the general population in the long run."
I would guess NPCI being a private body with transaction charges being borne by the Indian government is a net negative in the long run. It costs everyone. NEFT and RTGS on the other hand is RBI regulated with clear pricing and costs only those involved. The cost structure needs to change, but then, it won’t be possible. To pay 5 rupees for a chocolate with your phone and get even 0.5 added on top would make the consumers switch to cash almost immediately.
https://en.wikipedia.org/wiki/National_Payments_Corporation_...

Founded in December 2008, the NPCI is a government organisation registered under Section 8 of the Companies Act 2013, established by the Reserve Bank of India and the Indian Banks' Association. The organisation is owned by a Government of India,[8] and has been promoted by the country's central bank, the Reserve Bank of India. The NPCI was incorporated in December 2008 and the Certificate of Commencement of Business was issued in April 2009. The authorised capital has been pegged at ₹3 billion (US$31 million) and paid-up capital is ₹1 billion (US$10 million).

Initially, there were ten promoter banks viz. State Bank of India, Punjab National Bank, Canara Bank, Bank of Baroda, Union Bank of India, Bank of India, ICICI Bank, HDFC Bank, Citibank and HSBC. In 2016, the shareholding was diluted to include 13 additional public sector banks, 15 additional private sector banks, 1 additional foreign bank, 10 multi-state co-operative banks and 7 regional rural banks. The Board consists of Biswamohan Mahapatra as the Non Executive Chairman, Nominees from the Reserve Bank of India and Nominees from ten core promoter banks.[9] Dilip Asbe is the current managing director and chief executive officer of the NPCI after A. P. Hota, who retired from the post on 10 August 2017.

NPCI is a public sector company with partial ownership between 46 banks. Its costs is trivial compared to savings and efficiency it brings in overall system. Cash handling is very costly for entire chain. Printing by RBI, its logistics by banks and handling by vendors.

Apart from that it is formalization of informal economy, govt has better visibility, tax evasion is difficult and people outside financial services can now use it.

Also, like Rupay has charging for transactions abover a certain threshold of value like 10000 will cover some of the costs without reducing the incentive of system.

Think of vaccines, small cost for big savings elsewhere.

Fair enough. I am not knowledgeable enough to debate if it’s a net negative or positive. But “savings and efficiency” also has a negative side where people have lost life savings and bank accounts emptied in a matter of minutes.

UPI doesn’t help much with tax evasion. The biggest vehicle of tax evasion is property and cash is still the king there. UPI has been a good quality of life improvement for everyone. However there’s been cost involved, that should be considered.

NEFT and RTGS are free if you do it online. UPI is free. Many banks waive off IMPS charges.

NEFT and RTGS were introduced in the mid-2000s. IMPS in 2010, UPI in 2016. It's been > 10 years since the latest instrument launch. Enough time for "long term" impacts to show up.

If anything, the impact has been overwhelmingly positive.

AFAIK banks don't charge for NEFT transfers when initiated via their mobile app or Internet banking website. Fees apply only when you do it via their physical branch.
While I'm not an expert on the Indian system, I think fast, universal and free payments are a very desirable user experience, but they're not desirable in a financial system.

    > Real-time payment rails that works 24/7 365 days a year from any bank to any bank (domestic, no exceptions) for free is truly a game-changer. Compare that to US payment rails which is slow and expensive. Apart from UPI, India has 3 more payment rails – NEFT (similar to ACH – batch settlement), IMPS (similar to UPI, instantaneous - but different user experience), RTGS (real-time, intermediated by the central bank RBI, but only for high-value transactions)
The financial industry and central banks have done themselves no favors with their opaqueness, but sadly this has led to a state where very few people understand the mechanics of the financial system.

The systems you named aren't alike. You are (understandably) mixing together several different networks and layers that are structurally different from one another.

In the United States, there's a mix of private and public institutions and networks. Anyone is free to start their own network – a necessary freedom. There are in fact several different networks such as the Fed's FedACH, and at the private level, the ACH Network (governed / semi run (???) by National Automated Clearing House Association (NACHA) in a confusing amalgamation of the Fed's FedACH network and The Clearing House's private Electronic Payments Network).

The Clearing House Payments Company™® also operates one of the world's largest private settlement systems, Clearing House Interbank Payments System, which includes American entities and non-American ones in the EU, China and other places as well.

From my somewhat limited knowledge of India, there is a lot of state interference and control over access to these systems and their creation; whereas in the US, while there are some regulations, any set of institutions are free to create their own private settlement systems and networks. Note – this is different from being free to transact with each other; this is the creation of private infrastructure that allows them to transact with one another at different levels of trust.

For example, from my limited reading just now - and to quote you – "IMPS (similar to UPI, instantaneous - but different user experience)" is kinda sorta a hybrid between institutional level agreements and consumer level agreements / networks. There's an important distinction here to draw.

Just because your bank knows my bank doesn't mean that my bank trusts you to honor your obligations to your bank and then (by extension) its obligation to itself and then to me. That's the lowest level of counter-party risk present in the system. And it's where the famous consumer networks like Visa, Mastercard etc. come in.

There is an important distinction to be made here, and it sort of highlights what someone I know stated as a systemic risk inherent to one network systems like India's — within these networks, the risk of fraud / failure of settlement from the end user to the institution is taken on by the entities running the networks... which in fact brings us neatly to something I realized while studying these systems, but haven't seen it written up elsewhere — (note, this is from an older comment, https://news.ycombinator.com/item?id=25951783 )

The question at the heart of the banking system is quite simple, if banks take capital from customers and use it to provide debt to others, then how much money should they keep on hand for their customers' withdrawals and transfers?

This question is hard to answer. As there is a conflict between what the bank does (i.e. provide debt), and how it is supposed to provide it (by taking savings etc.). Everything else, from central banks "offering cheap liquidity" is an add on. They are mechanisms that allow - for example, a bank to easily borrow this money so that they can cancel it out/repay it from transactions coming into their banks.

What makes it all borked is that you can't trust bankers with their grandmas. If there is a flaw, they will exploit it. Every major change has led to an exploit. E.g. In 1918, the American Government introduced the Leased Wire System that used the telegraphs and a network of 12 Reserves to allow banks to transact with each other across CONUS. It reduced the average time for cheques to be cashed in at banks across the country from 5.4 days in 1912 to just 2.4 days. Theoretically, this reduced the risk taken by banks when they transacted with unknown banks across the country, with the Government acting as the escrow. It catalysed innovation and led to an explosion of financial services across the young country.

The system was supposed to be foolproof by reducing the time "credit" was needed to make transactions. Essentially, until one bank sent the money and the other got it, they were operating on a system of credit. And they would "net" the books at the end of the day/week to physically transfer assets. FedWire (Leased Wire System) made everyone feel safe by sending notes of the transactions across great distances. But the netting still took time. All it took was one bank to misprice risk and fall behind on current obligations to other banks to cause the chain of dominos that led to hundreds shutting down in weeks and then thousands... which then led to the Great Depression.

Note - this is a highly simplified / subjective / one system view of a complicated sequence. more here https://www.stlouisfed.org/on-the-economy/2019/november/fina... / https://en.wikipedia.org/wiki/Panic_of_1930#Bank_failures

Important people got together and made rule changes to fix the problem. But then they innovated again. The Federal Reserve started making Automatic Clearing Houses (ACHs) and Remote Check Processing Centres (RCPCs) to make settlement faster, starting in the 60s and precipitating in 1972. This made settlement faster therefore safer. And it led to great financial innovation. The magic of computers and innovation meant that people could use these same systems to transact across the world!

Until 1974, when the German lender Herstatt collapsed due to foreign exchange investments based in the Dollar, which caused the bank to fail to meet its settlement obligations...

    That day, a number of banks had released payment of Deutsche Marks (DEM) to Herstatt in Frankfurt in exchange for US dollars (USD) that were to be delivered in New York. The bank was closed at 16:30 German time, which was 10:30 New York time. Because of time zone differences, Herstatt ceased operations between the times of the respective payments. The counterparty banks did not receive their USD payments
https://en.wikipedia.org/wiki/Settlement_risk#Herstatt_risk

This is a simplified history. But the history of banking is the history of doing settlement while managing liquidity and counter-party risk.

---

    > all are 24/7/365 and free
"Free" is a poor metric on which to judge a financial system. I would argue that it is an undesirable one. There is no such thing as free lunch. The more you understand these systems, the more you realize just how dangerous that "free" line is.

Cost in these systems is only partially about the "cost" of moving the digits. All of those dollars are there to mitigate / price in the risks inherent to the system. Hence, credit card transactions have a higher percentage per transaction than debit ones and so on up and down the chain.

Real-Time Gross Settlement systems, ACHs, consumer payment systems etc. change who, where and how that risk is managed. At the end, it might fundamentally be the same "money" going from one layer to another to another (kind of like a packet) but who takes the risk at every layer changes.

And that's also why they're paid through extensive testing over literally a century; people realized that a system that has capital shored up within it / paid up by its users is a system that can handle systemic risk. A system without that...

And that's a problem with purely state-based "free" systems like the Indian network that I haven't seen highlighted elsewhere is that counter-party risk isn't balanced between entities — it's taken on by the state. Sooner or later, there is going to be a cascade failure within this system unless something fundamental is changed.

----

whew - edited tone + grammar + spelling errors after posting!

22B in the month of June 2026, so 264B extrapolated annually.
Yep. Here's the accurate Month-to-date stats published daily by the network operator NPCI https://x.com/NPCI_NPCI. If you want official stats across all banks, across all payment rails, look at the central bank (RBI)'s website.

They put out a lot of useful stats here https://www.rbi.org.in/Scripts/Statistics.aspx

Daily payment settlement stats here: https://rbidocs.rbi.org.in/rdocs/content/docs/PSDDP04062020....

~8.8K TPS on average
A great lesson for system design job interviews - if this is a popular payment system in a country with 1.5 billion people, your theoretical system you're designing for a small company cargo culting Google interviews will not likely support millions or even tens of thousands of average TPS.
Well, they are money-moving transactions which means each person only does them a few times per day. If your system's transactions are more like showing the weather on the home screen, it's plausible you could have orders of magnitude more traffic than a payment system.
To add - I agree that payments is great question for systems designs.

Merchants need to receive the money and being able to transact with it. Imagine the merchant receiving the payment is something like Amazon or Ebay (sorry, I don't know what similar large online retailers are in India).

With the above, the problem becomes harder. Imagine receiving 2-3k TPS just on one account during a black Friday or similar day.

Now your system has to perform fine for accounts that do 30 transactions an hour for a retail customer and 3k a second for a merchant.