Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

In most cases when processing a withdrawal, ATMs or POS terminals don't know your exact balance and how much money you've taken out already today. A withdrawal tends to involve a request for $X which gets a yes/no response from the bank or from the chip of the card if the terminal is not online connected - the bank or chipcard logic will check the balance and daily limits, not the ATM.

You can think of the (rare nowadays, but possible) offline, paper-based card transactions (physical imprint of the card number + signature) as a very strong example of eventual consistency - your card will be billed for that amount sometime later when the documents are processed and all the balances will be correct, but for many days the "online visible" card balance as known to the bank will be different from the "real" legal/accounting balance of that card.



sort by: page size:

I don't know if you've ever travelled but very often withdrawals from an ATM will be processed without the balance of the user being known at that time.

It's why your bank account can go into negative territory.


Reading this, it doesn't sound like you said anything different. Sure, it isn't the ATM itself that makes the decision, but the authorization system can still step in and allow a transaction that is not committed to the actual account's log.

I'm sure that, under the hood, there are a lot of ACIDic transactions going on, but, stepping back, it still looks pretty BASEic. When I hit "withdraw $200", there is no guarantee that my actual account has a transaction commit for that amount. Instead, there may just be a log message saying "SoftwareMaven withdrew $200".


Leaving aside the fact that I wouldn't trust a newspaper to for the technical details of something like this, nothing in the article contradicts what jeremyjh said.

In that case, the ATM was disconnected from the accounting system and allowed withdrawals up to a set limit ($2000), but it (probably, the article is unclear) was still connected to the authorization system.

It (probably) still checked your PIN, and checked whether your card had been cancelled, etc. It just didn't connect through to check your balance.

As Jeremy said if for some reason we can't reach the checking account system we'll authorize up to $xxx total for the day on a stand-in basis

In this case some reason == "[A technical problem]" and xxx == $2000


It's not a debit card transaction, it's an ATM withdrawal.

Perhaps, but there are per-transaction and daily limits on ATM withdrawals.

Daily ATM withdrawal limits are something we have some freedom to adjust, but ATM owners get to set their own limits as well. We're generally trying to make it easy to make substantial withdrawals purchases and such while still keeping a lookout for fraudulent activity.

We're issuing checks, so you can always make a check out to "cash" and take that into any physical bank if need be. Over time, though, I expect products like Square to make it possible to transact with your Simple debit card in places that might have previously required cash or a check.


Poster you replied to is talking about deposits, not withdrawals.

Banks treat cash very carefully. If you bring in a stack of cash that they have to count once to see how much it is and then again to verify it's going to take time and they might charge you for that.


As someone who's had to dispute NSF charges for reordered transactions, I question the author's claim that ATM operations commute. Specifically, assume a $0 beginning balance. Then "withdraw $20 then deposit $200" might yield an error, $0 cash, and a $200 balance where "deposit $200 then withdraw $20" would net $20 cash and a $180 balance.

Or, as in my disputed case, $20 cash and a $140 balance, because the deposited check hadn't actually cleared by close-of-business, so end-of-day processing assessed a $40 negative balance fee despite the fact that the deposit "eventually" cleared. The first manager I discussed this with had the audacity to claim it was my fault for not somehow recognizing that the portion of the deposited funds the ATM made available for immediate withdrawal by design were not, in fact, available for immediate withdrawal.


Yeees. I used to work for Diebold on ATM's, and we had some research that proved that:

  - people want to take out money from the machine
  - once they have their money, the activity is complete
We found that if we provided the card back before the money, they stopped leaving their card in the machine. This is because the 'activity' was taking out money.

I also use a CC from a bank that does not have a presence in my town to withdraw. I think it just depends on the ATM.

I'm using a CC from an Internet-bank to withdraw without fees from any ATM. But apparently some banks do not like whatever contract they have with mine about that, so they want me to draw at least 50€, very rarely an ATM will even completely refuse to pay out anything.

Because unlike in an ATM withdrawal where you take money out from your bank, you just paid the merchant a bunch of money, and the merchant is giving some of that payment back to you as cash.

In the U.S. you don't have to give a reason for taking out your cash (though withdrawals over a certain amount are reported to the Feds). But there are ATM limits. I always assumed - perhaps naively - that the reason was to keep the ATM from running out of cash too quickly, thus minimizing the cost of replenishing them. And occasionally, on 3-day weekends, I have seen more out-of-order ATMS than usual. . .presumably because they had run out of money.

I asked the balanced guys this last time, already, but maybe you know the answer as well.

If using the ATM network, can they also initiate a withdrawal from a debit card at the 25 cents rate?

This would be a huge saving versus paying a credit card processing fee, on debit cards.


Less technical, and mostly correct (I left plenty of room to nitpick)

Imagine a bank that, instead of having a central computer that all the ATM's call into, relies on each ATM to track every customer's balance. When I try to withdraw money from any ATM in the network, it checks its records of my balance, then broadcasts the transaction to all of the other ATM's.

Since the network is distributed, an evil-minded customer might send his brother out with a second ATM card, and time two withdrawals of the complete account balance, to take place at virtually the same second. Since it takes a few seconds for each transaction to be disseminated, there is a chance that both withdrawals will succeed before either ATM learns of the other transaction -- thus leaving the bank short by that amount, and me and my bro with twice the cash that we should have.

So, the bank institutes a policy of nominating one ATM at random to issue a report of all transactions that it has received once every minute. This report is guaranteed to be self-consistent -- if a customer's balance would go below zero, then that withdrawal is not included in the report. Ties are broken by time stamp down to the microsecond, and then by random chance in the unlikely event of a tie. Now, an ATM can ensure it's not being duped by transmitting the proposed withdrawal, then waiting to receive the next report and verifying that the withdrawal is included in it, then dispensing the money.

Then one day, a major network cable linking the East Coast and West Coast ATM clusters breaks. Both halves continue right on operating (they are fault-tolerant), but now transactions are only spread to half of the network, and each minute two independent reports are issued, again to only half the network each. Now, if you live in NYC and your brother is in LA, you can each withdraw the full balance from your account, and both transactions will be verified since they are being processed by two independent networks.

Later, when the network cable is patched, the two halves have to merge their respective reports and one of the withdrawals will be thrown out as invalid -- but you still have twice the cash.


I was thinking the same. And it mentions every single transaction was for the maximum withdrawal amount.

The system doesn't notice when 116 transactions per minute are for the maximum withdrawal amount?

The ATMs don't run out of cash really quickly?


My typical month I pull about $2k from the ATM. Some months I pull as much as $8k in a single day from the ATM when dealing with larger purchases. I've been doing that for years.

Then again, my ATM withdrawals are in another country, so maybe it's treated differently since it looks like a remittance.


ATMs can be configured for all kinds of amounts. It's up to the bank.

In the mid-90's, my father's bank would let him specify a withdrawal amount down to the cent. He could take out $53.17, and the machine would spit out $53 in bills, and 17 cents would roll down a chute into the coin tray.

In the late 90's, I had a bank that allowed almost any withdrawal amount. I know I took out $700 once for an emergency car repair.

I think a big reason the banks limit the amount of money you can take out is so they don't have to refill the machines as often. It's a cost-saving measure for them.


This is guessing, but perhaps the withdrawal limit of a pre-paid card acts as the account balance.
next

Legal | privacy