What a CVV velocity check does
A CVV velocity check is a fraud rule that counts how many times a given card number, cardholder account, device, or IP address attempts a card verification or authorization inside a set time window. When the count crosses the threshold you set, the rule blocks the attempt, sends it to manual review, or asks for step-up authentication. Velocity checks do not judge whether a single transaction is fraudulent. They detect repetition, which is the signature of card testing, enumeration, and bulk authorization attempts.
This matters because card testing is cheap for an attacker and expensive for a merchant. A fraudster who buys a list of card numbers will run small authorizations across many numbers to learn which ones are live. Individual attempts look ordinary. The pattern across dozens of attempts in a short span is what gives the attack away.
Prerequisites
- Access to your payment gateway or fraud engine rule builder
- At least 90 days of authorization logs for baseline counts
- A named owner for threshold decisions and review queues
- Documented escalation steps for confirmed card testing events
How to configure a CVV velocity check
- Choose the counting key. Start with the card number for CVV verification counts, since a single card hammered many times is the clearest signal.
- Add a second key. Pair the card number with device fingerprint or IP address so a single bad actor cannot hide behind one card.
- Set the time window. Use a short window such as 10 minutes for card testing and a longer window such as 24 hours for account takeover patterns.
- Set the threshold count from your own baseline data, not from an industry average.
- Define the action at breach: decline, hold for review, or require 3DS verification.
- Write the log entry that fires on every trigger, capturing key value, window, count, and timestamp.
- Publish the rule to staging and run it against historical logs in shadow mode.
- Compare shadow-mode flags against your known fraud cases before you enable enforcement.
Choosing thresholds
Pull a 90-day sample, group attempts by card number, and sort by count. Real customers rarely authorize the same card more than two or three times in ten minutes. Card testing commonly runs five to twenty attempts on the same number in the same window. Set the short-window threshold below the smallest confirmed fraud cluster and above the highest count you see from legitimate repeat buyers.
Handling false positives
Declines from velocity rules hit real customers during subscription retries, split shipments, and family accounts that share a device. Give your review queue a same-day service level, and add an allowlist path for verified recurring merchants and BIN ranges tied to your own stored credentials. Track the false-positive rate per rule and retire any rule that declines more good orders than bad ones.
CVV Velocity Checks Compared to Alternative Security Measures
Review and tuning cadence
Review rule performance weekly for the first month, then monthly. Watch three numbers: trigger volume, confirmed fraud prevented, and false-positive rate. Raise a threshold when false positives climb, and tighten the window when fraud clusters get shorter. Keep a written change log so you can explain every threshold move during a chargeback dispute or a compliance review.