Live data from Hacker News

Citi’s $900M Misfire Happened During Software Switch

bloomberg.com

11–20 of 55 posts

Re: Citi’s $900M Misfire Happened During Software Switch

#11
post #9
post #6

Earlier quoted context omitted.

At least Citibank is trying to upgrade their ancient systems, but it sure looks as if previous or current CEOs failed to exercise due diligence. Doesn't look like good risk management at all.

Actually, banks risk management is easy. Most in-bank or between banks transfers are reversible and usually a non-issue. That why the risk management probably says something like this: Risk: Incorrect transfer of funds to customer in another bank Mitigation: Manual review of all funds transfer above 5 million dollars Mitigation: Besides litigation issues, lost funds are easily recovered by asking the receiving bank S…

Most bank transfers are actually not reversible, except for some limited retail client (including small companies) operations where specific terms & conditions allow the bank to reverse payments to the extent possible, which they really prefer avoid using as it looks really bad for a bank whose most important asset is the confidence of its clients and counterparties. Reversal may also no longer be possible if the money has already gone out in a system that does not allow reversal, or if the client is bankrupt in the meantime (depending on local banking and bankruptcy laws and circumstances).

For any other payment system for larger sums / corporate and institutional parties, settlement finality is a huge thing that is the subject of all sorts of specific legislation, as it would be a real issue for the health of the financial system if a settled payment can simply be reversed, as it would have a lot of unintended consequences further down the line. So banks actually do have strict risk management policies to avoid wrong payments, but there are so many complex transactions for which ultimately a human (actually at least 2 due to 4-eyes principles) must confirm whether conditions for payment are satisfied and whether payment details are correct, and humans are always prone to making mistakes once in a while.

Re: Citi’s $900M Misfire Happened During Software Switch

#14
post #11
post #9

Earlier quoted context omitted.

Actually, banks risk management is easy. Most in-bank or between banks transfers are reversible and usually a non-issue. That why the risk management probably says something like this: Risk: Incorrect transfer of funds to customer in another bank Mitigation: Manual review of all funds transfer above 5 million dollars Mitigation: Besides litigation issues, lost funds are easily recovered by asking the receiving bank S…

Most bank transfers are actually not reversible, except for some limited retail client (including small companies) operations where specific terms & conditions allow the bank to reverse payments to the extent possible, which they really prefer avoid using as it looks really bad for a bank whose most important asset is the confidence of its clients and counterparties. Reversal may also no longer be possible if the mon…

I didn't make myself clear, I wanted to mean that transfer are reversible (with the cooperation of the other bank) not that the source bank can unilaterally do it.

The law sides with the banking making the mistake as discussed on https://news.ycombinator.com/item?id=24222045

With bank cooperation, which usually happens, settlement are non-issues. When an operation can be reversed by one of parties the settlement agreement usually mentions that the settlement is only final when the reversion period is over.

Re: Citi’s $900M Misfire Happened During Software Switch

#15
post #12

Expected, someone should have caught it in code review. Switch statements are generally harder to follow than if/else chain and fallthrough etc make it even more complicated.

I think you misread the article. This is about the Nintendo Switch. They accidentally bought 350 million copies of Pizza Bar Tycoon.

Re: Citi’s $900M Misfire Happened During Software Switch

#16
I assume financial software has the concept of a set of atomic transactions - ie. "debit bob $X and credit mary $X".

Given that, presumably all buttons an operator clicks should generate a set of atomic transactions between customers and the bank.

An automated system can then check that the total loss to the bank after these transactions have been executed isn't too big.

I can't really imagine how any bit of software didn't have those checks in place...

Post reply on HN