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 independentlyACCOUNT: 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 tonullfor no amount limitlimit_count: the maximum number of transactions allowed within the period. Set tonullfor no count limit
Period
The time window over which velocity is tracked:
| Period type | Description | Configuration |
|---|---|---|
DAY | Fixed daily window aligned to 00:00 ET | None |
WEEK | Fixed weekly window aligned to 00:00 ET | day_of_week (1 = Monday through 7 = Sunday, default 1) |
MONTH | Fixed monthly window aligned to 00:00 ET | day_of_month (1–31, default 1) |
YEAR | Fixed annual window aligned to 00:00 ET | month (1–12) and day_of_month (1–31) |
CUSTOM | Rolling window defined in seconds | duration (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 Codeinclude_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
0will block authorizations for applicable transactions. To exempt a specific card from a velocity limit rule, use theexcluded_card_tokensparameter rather than a value of0.
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
- Authorization Rule Lifecycle: draft, test in shadow mode, promote, and disable rules
- Analytics and Observability: measure rule impact and check consumed velocity
- Conditional Action Rules: take action on transactions that match attribute conditions
Updated 1 day ago
