Velocity Limit Rules

Restrict the number or value of transactions allowed within a time period to control spend and manage fraud risk.

Overview

A velocity limit rule (VELOCITY_LIMIT rule type) restricts the number or value of transactions allowed within a specified time period. Velocity limits help control excessive spending, manage budgets, and prevent unauthorized usage. They operate on the AUTHORIZATION event stream.

Parameters

To create a velocity limit rule, define the following.

Scope

The entity level at which velocity is tracked:

  • CARD: tracks each card's spend independently
  • ACCOUNT: tracks the combined spend across all cards on the account

For example, a card-scoped velocity limit of $500/day tracks each card separately, while an account-scoped limit of $500/day tracks the total across all of the account's cards.

Limits

Set one or both of the following on a single rule:

  • limit_amount: the maximum total spend allowed within the period, in cents. Set to null for no amount limit
  • limit_count: the maximum number of transactions allowed within the period. Set to null for no count limit

Period

The time window over which velocity is tracked:

Period typeDescriptionConfiguration
DAYFixed daily window aligned to 00:00 ETNone
WEEKFixed weekly window aligned to 00:00 ETday_of_week (1 = Monday through 7 = Sunday, default 1)
MONTHFixed monthly window aligned to 00:00 ETday_of_month (1–31, default 1)
YEARFixed annual window aligned to 00:00 ETmonth (1–12) and day_of_month (1–31)
CUSTOMRolling window defined in secondsduration (10 to 2,678,400 seconds, up to ~31 days)

Filters

Optionally narrow which transactions count toward the velocity limit:

  • include_mccs / exclude_mccs: filter by Merchant Category Code
  • include_countries / exclude_countries: filter by country (ISO 3166-1 alpha-3)
  • include_pan_entry_modes: filter by PAN entry mode

Example

The following request creates a program-level velocity limit that restricts each card to $400 in ATM withdrawals per day:

{
  "name": "Daily ATM withdrawal limit",
  "program_level": true,
  "type": "VELOCITY_LIMIT",
  "parameters": {
    "scope": "CARD",
    "period": {
      "type": "DAY"
    },
    "limit_amount": 40000,
    "limit_count": null,
    "filters": {
      "include_mccs": ["6011"]
    }
  }
}
📘

For the full request schema, see the Create Auth Rule API.

Blocking and Exempting Transactions

📘

Contrary to legacy Lithic Spend Limits, setting a velocity limit value of 0 will block authorizations for applicable transactions. To exempt a specific card from a velocity limit rule, use the excluded_card_tokens parameter rather than a value of 0.

How Velocity Is Computed

Velocity limits are enforced based on authorized and settled volume. Velocity computation is eventually consistent, which may result in exceeding the limit in some edge cases. Velocity limits are not intended for balance or reconciliation-level accuracy. For balance or reconciliation-level accuracy, see the Balances product.

Checking Consumed Velocity

For velocity limit rules and rules that use transaction-count attributes, you can retrieve the current calculated feature values for a specific card or account. This is useful for debugging, for example, to check how much of a card's velocity window has been consumed. See Checking Calculated Feature Values on the Analytics and Observability page.

Next Steps