Multi-card velocity per device
Counts distinct card fingerprints associated with the same device in 5-minute, 30-minute, and 2-hour rolling windows. The card rotates; the device doesn't. This is the most reliable single signal for card testing.
Card Testing Detection
Card testing attackers rotate across hundreds of card numbers and dozens of devices. Per-card rate limits don't fire because no single card exceeds the threshold. Riskgrove scores the cross-card pattern that exposes the attack.
Get a demoDetection Signals
Card testing signals are cross-entity by nature. They only become visible when measured across device fingerprints, BIN ranges, and time windows simultaneously.
Counts distinct card fingerprints associated with the same device in 5-minute, 30-minute, and 2-hour rolling windows. The card rotates; the device doesn't. This is the most reliable single signal for card testing.
Tracks the approval-to-decline ratio across all cards on a given device fingerprint over a rolling 1-hour window. Legitimate users rarely see decline rates above 10%. Card testing operations routinely reach 70-90%.
Stolen card batches typically come from the same BIN ranges. Riskgrove detects when many transactions from the same device or IP touch a narrow BIN range, a signature of testing a freshly acquired card batch.
Scripted card testing has a different inter-transaction time distribution than human browsing. Riskgrove measures the coefficient of variation in transaction timing to detect automated submission patterns.
Card testers prefer merchants with low friction and digital goods. Riskgrove maintains a category risk profile and weights MCC codes that correlate with higher testing exposure.
Multiple devices using the same IP subnet, ASN, or residential proxy provider get cross-scored. Attackers spread across devices but rarely spread across ISP infrastructure.
Why Per-Card Rate Limits Fail
Rate limits fire per card. Attackers work around them by spreading across cards. Here's the math that makes per-card limits fail against a typical card testing operation.
Stop card testing at scale
We'll run the card testing module against a sample of your historical declines and show you the patterns your current stack didn't surface.