Skip to navigation Skip to main content

Trick-or-Treat Sale 30% off every Pro plan with code

Ends Oct 31 Pick your treatShop

Trick-or-Treat Sale 30% off every Pro plan with code

Ends Oct 31 Pick your treatShop
  • WordPress
    Products
    Smart Cycle DiscountsDiscount automation › TrustLensCustomer trust intel › Cycle AI AIPlain-English campaigns ›
    New pluginComing soon
    Resources & toolsDocs, pricing, support ›
    Smart Cycle Discounts

    Smart Cycle Discounts

    Automate WooCommerce discount campaigns — schedule, target, and measure.

    62%
    Free Pro $59 5 discount types Recurring
    Jump into the page
    How it works Capabilities Promo codes Pricing
    Docs
    Getting started Discount types Scheduling
    Explore Smart Cycle Discounts → Changelog
    TrustLens

    TrustLens

    Customer trust intelligence — score buyers, spot abuse, protect revenue.

    Trust 86
    Free Pro $79 6 segments Abuse detection
    Jump into the page
    How it works Detection Outcomes Pricing
    Docs
    Trust scoring Detection modules Card-testing defense
    Explore TrustLens → Verify a report Changelog

    Cycle AI inside Smart Cycle Discounts

    Describe a sale in plain English — Cycle AI builds the whole campaign.

    “20% off hoodies this weekend”
    Included in Pro Natural language Catalog-aware
    See it work

    Type a sentence, get a ready-to-launch discount campaign that already understands your products, prices, and schedule.

    Live demo How it works
    Meet Cycle AI →

    A new plugin Coming soon

    Something is loading in the lab. Join the list to get the reveal first.

    Notify me on launch →

    Resources & tools

    Everything around the plugins — docs, free tools, and help.

    Learn
    Documentation Pricing & bundle Support
    Free tools
    Discount Calculator Sale Calendar
    Stay current
    SCD changelog TrustLens changelog
    Compare all plans →
    Secure checkout WordPress.org 14-day refund View pricing →
  • Affiliate
    Program
    OverviewHow the program works How it works4 steps from apply to earn Commission details30% · 60-day cookie · recurring
    Get started
    Apply nowOpen Takes ~2 minutes Earnings calculatorEstimate your monthly income FAQPayouts, cookies, renewals
    Resources
    Brand kitLogos, banners, copy, social PlaybookTactics that actually convert FTC disclosureHow to disclose properly Affiliate termsFull program agreement Contact teamOpen the contact form
    Earn 30% recurring on every saleFree to join · 60-day cookie · monthly PayPal payouts Apply now
  • Blog
  • DOCS
    Docs & resources

    Guides, references, and answers for every Webstepper plugin.

    Smart Cycle DiscountsAutomated WooCommerce discount campaigns
    Getting started› Discount types› Cycle AI›
    TrustLensCustomer trust & fraud intelligence
    Trust scoring› Detection modules› Card-testing defense›
    Docs home Guides FAQ Pricing Support
    WordPress tools that solve real problems
  • Contact Us
  • About
    Company

    Our Story

    Founded 2020

    Built by store owners, for store owners. We make WordPress tools that solve real problems.

    Learn more
    Built from experienceTools we use ourselves
    Time is preciousSimple, intuitive UX
    Real supportTalk to the founders
    Legal & contact
    Contact us Privacy policy Terms of service Refund policy
    14-day money-backNo questions asked
Popular requests
  • smart cycle discounts
  • trustlens
  • chargeback protection
GET STARTED

Glossary

1
  • TrustLens Glossary

Detection Modules

10
  • Store Trust Network
  • Card Testing Defense
  • Chargeback Tracking
  • Shipping Anomalies
  • Linked Accounts Detection
  • Category Aware Risk
  • Coupon Abuse Detection
  • Order Pattern Analysis
  • Return Abuse Detection
  • Modules Overview

Card Testing Defense

9
  • Attack History
  • Allowlists
  • Geo Diversity
  • Auto Escalation
  • Fingerprinting
  • VIP Bypass
  • Panic Button
  • Velocity Thresholds
  • Overview

Chargeback Monitor

7
  • Ratio Email Alerts
  • Dispute Evidence Report
  • Chargeback Monitor
  • Manual Dispute Entry
  • Stripe WooPayments Ingestion
  • Card Network Thresholds
  • Chargeback Ratio Alert

Customer Management

7
  • Admin Notes
  • Checkout Enforcement
  • Order Trust Column
  • Bulk Actions
  • Blocking and Allowlisting
  • Customer Detail Profile
  • Customer List

Automation

7
  • Async Dispatch Retries
  • Webhooks and HMAC
  • Rule Inspector
  • Actions Reference
  • Conditions Reference
  • Triggers Reference
  • Automation Overview

Trust Scoring

5
  • Account Age Loyalty Bonus
  • Signals Explained
  • Six Customer Segments
  • The 0–100 Score
  • How Trust Scoring Works
View Categories
  • Home
  • Docs
  • Trustlens
  • Card Testing Defense
  • Velocity Thresholds

Velocity Thresholds

6 min read

0:00 / 6:08
  • View as Markdown Open this page as plain Markdown (opens in a new tab)
  • Open in ChatGPT Ask questions about this page (opens in a new tab)
  • Open in Claude Ask questions about this page (opens in a new tab)
  • Open in Google AI Studio Ask questions about this page (Google account required) (opens in a new tab)

Velocity thresholds are the numbers TrustLens uses to decide when a stream of declines from a single device fingerprint has crossed the line from “legitimate customer with bad cards” into “automated card-testing attack.” This page explains how the thresholds work, why the defaults are what they are, how long a device is held once it trips them, and how to tune them for your store.


The Velocity Windows #

The base Card-Testing Defense module counts each device fingerprint’s activity over two rolling windows, with three thresholds:

Counter Default Designed to Catch
Declines in 60 seconds, per fingerprint 3 Bursts of failed authorization attempts — the classic card-testing signature
Submissions in 60 seconds, per fingerprint 10 High overall checkout-submission volume from one fingerprint, even when many succeed
Declines in 1 hour, per fingerprint 8 Slow attacks the 60-second rules miss: a bot that paces itself, or one that waits out each lockout and starts over

Crossing any one threshold locks the offending fingerprint out of checkout (see The Lockout Ladder below). The 60-second counters catch bursts; the hourly count outlives a lockout, so a repeat offender stays caught instead of getting a clean slate every time a lockout expires.

Attack-scale protection — catching attacks that spread across many fingerprints — ships as Pro auto-escalation, which watches for distinct fingerprints tripping detection within a 10-minute window and triggers Panic Freeze. See Auto-Escalation (Pro).


How Counts Are Accumulated #

Counters are keyed by device fingerprint, not by email. Each checkout attempt carries two identities: the browser fingerprint computed by the checkout script, and a server-side fingerprint built from the IP address, User-Agent, and Accept-Language headers. See Fingerprinting.

  1. Every checkout submission — classic checkout, Blocks / Store API checkout, or the pay-for-order page — is recorded as a submission for both fingerprints. Cart actions such as adding items or applying coupons don’t count.
  2. Every failed payment is recorded as a decline: from the Stripe and WooPayments failure hooks, and from any gateway’s order moving to Failed.
  3. On each submission, TrustLens counts the browser fingerprint’s declines and submissions in the last 60 seconds and its declines in the last hour, then does the same for the server fingerprint.
  4. If either fingerprint has reached a threshold, that fingerprint is held and the submission is rejected with “Too many attempts. Please wait a moment before trying again.”

Counting both fingerprints means an attacker who sends a fresh browser fingerprint on every attempt still accumulates declines against the server fingerprint.


The Lockout Ladder #

Each time a fingerprint newly trips detection it earns a strike, and the lockout grows with the strike count:

Strike Lockout
1st 90 seconds
2nd 15 minutes
3rd 1 hour
4th and later 24 hours

Strikes are counted over the event retention window (48 hours by default), so a device that trips once and then behaves becomes a first offender again once its history ages out. The first lockout stays short on purpose: a real shopper whose card declines three times in a minute trips the same rule an attacker does. The 24-hour cap means a false positive on a shared office or carrier address heals on its own; you can also release a held fingerprint immediately from the Targeted now list, which also clears its strikes.

The ladder itself isn’t a setting. Developers can change the lockout length with the trustlens/card_testing/lockout_seconds filter, which receives the ladder’s value and the strike number.


Default Threshold Rationale #

The default 3-decline / 60-second threshold was chosen against observed real-world patterns:

  • Legitimate customer: 1–2 attempts to enter a card correctly, finishing within 30 seconds. Under the threshold.
  • Worst-case slow customer: 2 attempts over a minute (entering wrong card, then correct one). Still under threshold.
  • Burst-attack bot: many declines per second. Triggers the threshold within the first second.
  • Paced bot: stays under 3 declines a minute but keeps going. Reaches 8 declines within the hour.

The 3-decline default is tight — it catches attacks fast at the cost of occasional false positives on customers who genuinely fumble cards three times. The VIP bypass mitigates this for established customers; the allowlists (Pro) mitigate it for known-good devices.


When to Tighten Thresholds #

Lower the defaults if:

  • You’ve observed an attack that slipped through at the default settings
  • Your store has a very stable customer base with predictable checkout behavior
  • Your payment gateway is reliable (declines are signal, not noise)

Reasonable tightened values:

Setting Default Aggressive
Declines in 60s 3 2
Submissions in 60s 10 6
Declines in 1 hour 8 5

When to Loosen Thresholds #

Raise the defaults if:

  • Your gateway is unreliable and produces legitimate decline noise
  • You have high-frequency legitimate retry behavior (saved cards, B2B with multiple card attempts)
  • You’ve observed false-positive lockouts on real customers

Reasonable loosened values:

Setting Default Loose
Declines in 60s 3 5
Submissions in 60s 10 15
Declines in 1 hour 8 12

Configuring #

Settings live in the Detection Settings card at TrustLens → Card-Testing Defense. Changes take effect on the next checkout submission after you save — no cache to flush, no scheduled job to run.

Setting Range Description
Declines in 60s 1–100 (default 3) Declines per fingerprint within 60 seconds that trigger a lockout
Submissions in 60s 1–200 (default 10) Checkout submissions per fingerprint within 60 seconds that trigger a lockout
Declines in 1 hour 1–500 (default 8) Declines per fingerprint within one hour that trigger a lockout
Event retention 24–168 hours (default 48) How long velocity events are kept; also the window over which strikes count

The lockout durations aren’t settings — they follow the ladder above. What you tune here is how many declines or submissions it takes to trip a lockout.


Per-Fingerprint Overrides (Pro) #

Pro can apply different thresholds to a specific fingerprint. Useful when you have:

  • A specific known device that legitimately produces high velocity (a test rig, an integration partner’s server)
  • A device you want to enforce more strictly than the global default

There is no screen for overrides in this version. They are read from the trustlens_card_testing_fp_overrides option — a map of fingerprint hash to threshold values (declines_60s, submissions_60s, declines_1h) — which a developer can set, for example with WP-CLI. To exempt a device entirely, use the fingerprint allowlist on the Card-Testing Defense page instead.


Measuring Effectiveness #

After tuning, monitor:

  • Card-Testing Defense page — 24-hour declines, submissions, decline rate, held fingerprints, and the Targeted now list with each device’s strike count
  • WordPress Dashboard widget — current state and the last 24 hours’ declined payment attempts
  • Customer complaints — false-positive lockouts produce complaints about “Too many attempts” on cards that work elsewhere
  • Pro 24-hour intelligence — hourly decline timeline; spikes indicate attacks slipping through; flatlines indicate stable defense

If you tune thresholds, give the change at least a week before re-evaluating — attack patterns aren’t daily.

Updated on October 18, 2026

What are your Feelings

  • Happy
  • Normal
  • Sad

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Panic ButtonOverview
Table of Contents
  • The Velocity Windows
  • How Counts Are Accumulated
  • The Lockout Ladder
  • Default Threshold Rationale
  • When to Tighten Thresholds
  • When to Loosen Thresholds
  • Configuring
  • Per-Fingerprint Overrides (Pro)
  • Measuring Effectiveness
Newsletter

Insights that grow your business

Join thousands of WooCommerce store owners who get actionable tips, plugin updates, and industry news every week — plus 10% off either of our plugins as a welcome.

We respect your privacy. Unsubscribe at any time.

10% off welcome gift — A code for either plugin, on us
Weekly updates — Fresh content every Tuesday
Exclusive content — Tips you won't find on our blog
Early access — Be first to know about new plugins
Webstepper
Weekly WooCommerce Tips
Just now
This week: 5 proven strategies to boost your average order value using smart discount campaigns...
10% off inside
Webstepper

Tools for store owners who'd rather grow than grind.

Simple, powerful plugins that help WooCommerce store owners sell more — without the learning curve.

Products

  • Smart Cycle Discounts
  • TrustLens
  • Discount Calculator
  • Sale Calendar

Company

  • About Us
  • Blog
  • Contact
  • Affiliates
  • Log In

Resources

  • Help Center
  • Guides
  • Verify a report
  • Affiliate Program
  • Become a Partner

Questions? We actually answer.

Real humans, real help. No bots, no runaround. Usually within a few hours.

Get in touch
Operated by Setmood LLC · 7901 4th St N, St Petersburg, FL 33702 · United States

© 2026 Webstepper. All rights reserved.

Privacy Terms Refunds
Visa Mastercard PayPal Apple Pay Google Pay & more

Halloween sale · ends Oct 31

Trick or treat?

Pick a door. Either way you leave with 30% off Pro.

Your treat

30% off

--days --hrs --min --sec
Claim it

Paste the code at checkout.

Renewals keep the discount · 14-day money-back guarantee

Halloween sale

That's a wrap for Halloween.

The sale ended at midnight. Both plugins are still free on WordPress.org, and Pro plans start at $59/year.

See plans
  • WordPress
    Back
    Products
    Smart Cycle DiscountsDiscount automation › TrustLensCustomer trust intel › Cycle AI AIPlain-English campaigns ›
    New pluginComing soon
    Resources & toolsDocs, pricing, support ›
    Smart Cycle Discounts

    Smart Cycle Discounts

    Automate WooCommerce discount campaigns — schedule, target, and measure.

    62%
    Free Pro $59 5 discount types Recurring
    Jump into the page
    How it works Capabilities Promo codes Pricing
    Docs
    Getting started Discount types Scheduling
    Explore Smart Cycle Discounts → Changelog
    TrustLens

    TrustLens

    Customer trust intelligence — score buyers, spot abuse, protect revenue.

    Trust 86
    Free Pro $79 6 segments Abuse detection
    Jump into the page
    How it works Detection Outcomes Pricing
    Docs
    Trust scoring Detection modules Card-testing defense
    Explore TrustLens → Verify a report Changelog

    Cycle AI inside Smart Cycle Discounts

    Describe a sale in plain English — Cycle AI builds the whole campaign.

    “20% off hoodies this weekend”
    Included in Pro Natural language Catalog-aware
    See it work

    Type a sentence, get a ready-to-launch discount campaign that already understands your products, prices, and schedule.

    Live demo How it works
    Meet Cycle AI →

    A new plugin Coming soon

    Something is loading in the lab. Join the list to get the reveal first.

    Notify me on launch →

    Resources & tools

    Everything around the plugins — docs, free tools, and help.

    Learn
    Documentation Pricing & bundle Support
    Free tools
    Discount Calculator Sale Calendar
    Stay current
    SCD changelog TrustLens changelog
    Compare all plans →
    Secure checkout WordPress.org 14-day refund View pricing →
  • Affiliate
    Back
    Program
    OverviewHow the program works How it works4 steps from apply to earn Commission details30% · 60-day cookie · recurring
    Get started
    Apply nowOpen Takes ~2 minutes Earnings calculatorEstimate your monthly income FAQPayouts, cookies, renewals
    Resources
    Brand kitLogos, banners, copy, social PlaybookTactics that actually convert FTC disclosureHow to disclose properly Affiliate termsFull program agreement Contact teamOpen the contact form
    Earn 30% recurring on every saleFree to join · 60-day cookie · monthly PayPal payouts Apply now
  • Blog
  • DOCS
    Back
    Docs & resources

    Guides, references, and answers for every Webstepper plugin.

    Smart Cycle DiscountsAutomated WooCommerce discount campaigns
    Getting started› Discount types› Cycle AI›
    TrustLensCustomer trust & fraud intelligence
    Trust scoring› Detection modules› Card-testing defense›
    Docs home Guides FAQ Pricing Support
    WordPress tools that solve real problems
  • Contact Us
  • About
    Back
    Company

    Our Story

    Founded 2020

    Built by store owners, for store owners. We make WordPress tools that solve real problems.

    Learn more
    Built from experienceTools we use ourselves
    Time is preciousSimple, intuitive UX
    Real supportTalk to the founders
    Legal & contact
    Contact us Privacy policy Terms of service Refund policy
    14-day money-backNo questions asked
We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.
More info More info Accept