← field notes

How a Bank Decides a Transaction Is Fraud

A card swipe at a gas station in Ohio gets approved in under 300 milliseconds. A card swipe on an ecommerce site in Jakarta ten minutes later, using the same card number, gets declined and the account gets frozen. Nobody at the bank looked at either transaction. A stack of automated systems did, and they made a decision faster than a human could read the merchant name.

Understanding how that decision gets made matters for anyone who studies detection systems, because card fraud detection is one of the oldest and most mature versions of the same problem that shows up in bot detection, account takeover defense, and ad fraud scoring. The bank world just had a two-decade head start and a lot more money riding on getting it right.

The transaction never touches a human

When a card is charged, the request travels through several systems before an approval or decline comes back, and it does this in the time it takes the payment terminal to blink. The core of that pipeline is a chain of automated checks stacked on top of each other, each one cheap and fast, with only the tail end escalating to anything resembling human review.

The first layer is deterministic. Is the card active? Is there enough available credit or balance? Is the merchant category code blocked for this card? These are yes/no lookups against a database, and they reject the obviously broken transactions before any fraud logic runs at all.

The second layer is rules. Card networks and issuing banks maintain rule sets that flag specific patterns: a transaction in a country the card has never been used in, a purchase amount just under a common authorization threshold, five transactions from the same card in three minutes, a first-time online purchase from a card that has only ever been swiped in person. Rules are easy to write, easy to audit, and easy for a defender to explain to a regulator. They’re also the layer that’s easiest to reason about from the outside, which is exactly why banks don’t rely on rules alone.

Where the real scoring happens

Sitting behind the rule engine is a machine learning model, usually a gradient-boosted tree ensemble or a neural network trained on millions of historical transactions labeled fraud or not-fraud. The model doesn’t check a handful of conditions. It ingests dozens to hundreds of features per transaction and outputs a risk score, typically 0 to 999 in systems like FICO Falcon, one of the more widely deployed fraud scoring platforms in the card industry.

The features that feed that model fall into a few buckets:

Velocity features. How many transactions has this card made in the last hour, day, week? How does that compare to the cardholder’s normal pace? A card that suddenly goes from two transactions a week to eleven in an hour is behaving abnormally regardless of amount.

Geographic and merchant features. Distance between this transaction’s location and the last one, adjusted for plausible travel time. Merchant category drift, meaning a card that only ever buys groceries and gas suddenly hitting an electronics retailer and a gift card kiosk in the same session.

Device and channel signals. For card-not-present transactions, which is most online purchases, the payment processor and often the merchant’s own fraud stack collect device fingerprint data: browser and OS configuration, screen resolution, installed fonts, IP address and the ASN it resolves to, whether the IP matches a known residential range or a datacenter or VPN exit node, and whether that fingerprint has been seen on other cards before. A device that has touched forty different card numbers in a week is a signal all on its own, independent of what any single transaction looks like.

Behavioral biometrics. Some issuers and processors also score typing cadence, mouse movement, and how a form gets filled out, comparing it against a profile built from the account’s past sessions. This is the same category of signal used in account takeover defense more broadly, and it’s genuinely hard to fake consistently because it’s measuring motor patterns, not just data points.

Each of these features gets weighted by the model, and the output is a single risk number. Above a certain threshold, the transaction gets declined outright. In a middle band, it might trigger a step-up challenge, like an SMS one-time code or a call to the cardholder. Below the threshold, it goes through without friction.

Why device fingerprinting matters so much online

For card-present transactions, physical possession of the card and a matching PIN or signature does a lot of the work. Online, there’s no physical card to check, so the device making the request becomes one of the strongest signals available. This is the same terrain covered elsewhere on this channel with browser fingerprinting and antidetect tooling, and the fraud-prevention side of it works the same way in reverse.

Payment processors and large merchants run their own device intelligence layers, often from vendors like ThreatMetrix, Forter, or Sift, that build a persistent identity for a device across sessions using a combination of browser attributes, storage-based identifiers, and network characteristics. The goal is to answer one question: has this device, or a device that looks suspiciously similar to it, been associated with fraud before, on this merchant or any other merchant that shares intelligence through the same network.

This is why a network of devices trying to push transactions through with rotating IPs and cleared cookies still gets caught more often than not. IP address is one signal among dozens, and modern device fingerprinting is built specifically to survive IP rotation and storage clearing, because those are the two most common things fraud operations try to change. Canvas rendering quirks, font enumeration, WebGL parameters, and timing characteristics of the device’s own hardware are much harder to normalize away without leaving other tells, and inconsistency between spoofed and genuine signals is itself a strong fraud indicator that these systems are specifically tuned to catch.

The cost of getting it wrong in either direction

Banks tune these systems against two failure modes that pull in opposite directions. A false negative, letting real fraud through, costs the issuer directly through chargeback liability under network rules like Visa’s and Mastercard’s chargeback frameworks. A false positive, declining a legitimate cardholder, costs the bank in a different way: customer attrition. Industry surveys from card networks have repeatedly found that a meaningful share of cardholders who get falsely declined use that card less afterward, and some switch primary cards entirely. That attrition cost is why issuers don’t just crank the sensitivity dial to maximum. Every model gets tuned to a threshold that balances fraud loss against customer friction, and that threshold shifts based on the bank’s risk appetite and the specific merchant category.

This is also why fraud scores update constantly rather than being trained once. Fraud patterns shift as fast as detection does, and a model trained on last year’s tactics degrades against this year’s. Banks retrain scoring models on a regular cycle, sometimes weekly, sometimes closer to daily for high-volume issuers, feeding in newly confirmed fraud cases and newly cleared false positives so the model keeps adjusting to the current landscape rather than one that’s already moved on.

The human layer only shows up at the edges

Almost none of this involves a person looking at a transaction in real time. Humans enter the loop in two places: fraud analysts who review the cases the model flags as ambiguous, usually the middle-risk band that didn’t clear the automatic decline threshold but didn’t pass clean either, and the cardholders themselves, who get pulled in through step-up verification or a fraud alert call. Analysts also feed a slower, second loop, confirming or overturning the model’s calls and generating the labeled data that trains the next version of the model. It’s a closed loop where the machine flags, a human occasionally arbitrates, and the correction gets fed back into the machine.

The pattern is the same one that shows up everywhere else adversarial detection operates: no single signal decides anything, the system layers dozens of weak signals into one strong score, and the defenders keep the exact thresholds and feature weights secret specifically because publishing them would hand attackers a blueprint for staying just under the line.

For more on how detection systems like this work across ad fraud, bot traffic, and device fingerprinting, head back to the Hidden Internet home page.

Get new guides and videos first — join the Telegram channel.

watch
The Hidden Internet on YouTube

Every field note starts as a short documentary. Watch the systems in this piece explained on screen.

subscribe →
read on
More field notes

The rest of the series on how the modern internet detects, tracks, and sorts the traffic that reaches it.

browse the archive →