Error codes
Soft decline
Stripe
card_velocity_exceeded
The customer has exceeded the balance, credit limit, or transaction amount limit available on their card.
What does card_velocity_exceeded mean?
The card_velocity_exceeded decline code is returned when the cardholder has exceeded a balance, credit limit, daily spending cap, or transaction frequency limit set by the issuing bank. The card itself is valid and the customer has not been blocked — they have simply hit one of the ceiling values the bank applies to manage risk or protect the account.
Is it a soft or hard decline?
card_velocity_exceeded is a soft decline. The issue is temporary by definition — limits reset on a daily, weekly, or statement-cycle basis. Retrying after the appropriate reset window recovers most of these transactions without any customer involvement.
Common root causes
Daily spending limit reached (common with debit cards)
Weekly or monthly transaction count limit hit
Credit limit exceeded on the card
Balance limit exceeded on a prepaid or debit card
Velocity rules triggered by unusual activity patterns, even below the stated limit
Recommended recovery steps
Wait at least 24 hours before the first retry — most velocity limits reset daily.
For weekly limits, wait longer — 3 to 7 days depending on the issuer.
Align retries with the end of the card's statement cycle for monthly limits, if that information is available.
Consider backup payment methods if the customer has another card on file — a different card will not have the same velocity counter.
Only escalate to dunning after automated retries fail — the customer is usually unaware of internal limit structures.
How FlyCode handles card_velocity_exceeded
FlyCode analyzes historical decline patterns for each customer to determine when velocity limits are most likely to reset. Rather than retrying on a fixed schedule that may hit the same block twice, FlyCode's AI engine predicts the optimal retry window based on:
The specific issuer's typical limit reset patterns
The customer's prior transaction frequency
Network-level authorization data from Visa and Mastercard
Time of day and day of week effects on issuer risk models
This adaptive approach recovers card_velocity_exceeded declines that fixed retry schedules consistently miss — without contacting the customer or requiring code changes to existing Stripe integrations.
What does card_velocity_exceeded mean?
The card_velocity_exceeded decline code is returned when the cardholder has exceeded a balance, credit limit, daily spending cap, or transaction frequency limit set by the issuing bank. The card itself is valid and the customer has not been blocked — they have simply hit one of the ceiling values the bank applies to manage risk or protect the account.
Is it a soft or hard decline?
card_velocity_exceeded is a soft decline. The issue is temporary by definition — limits reset on a daily, weekly, or statement-cycle basis. Retrying after the appropriate reset window recovers most of these transactions without any customer involvement.
Common root causes
Daily spending limit reached (common with debit cards)
Weekly or monthly transaction count limit hit
Credit limit exceeded on the card
Balance limit exceeded on a prepaid or debit card
Velocity rules triggered by unusual activity patterns, even below the stated limit
Recommended recovery steps
Wait at least 24 hours before the first retry — most velocity limits reset daily.
For weekly limits, wait longer — 3 to 7 days depending on the issuer.
Align retries with the end of the card's statement cycle for monthly limits, if that information is available.
Consider backup payment methods if the customer has another card on file — a different card will not have the same velocity counter.
Only escalate to dunning after automated retries fail — the customer is usually unaware of internal limit structures.
How FlyCode handles card_velocity_exceeded
FlyCode analyzes historical decline patterns for each customer to determine when velocity limits are most likely to reset. Rather than retrying on a fixed schedule that may hit the same block twice, FlyCode's AI engine predicts the optimal retry window based on:
The specific issuer's typical limit reset patterns
The customer's prior transaction frequency
Network-level authorization data from Visa and Mastercard
Time of day and day of week effects on issuer risk models
This adaptive approach recovers card_velocity_exceeded declines that fixed retry schedules consistently miss — without contacting the customer or requiring code changes to existing Stripe integrations.
What does card_velocity_exceeded mean?
The card_velocity_exceeded decline code is returned when the cardholder has exceeded a balance, credit limit, daily spending cap, or transaction frequency limit set by the issuing bank. The card itself is valid and the customer has not been blocked — they have simply hit one of the ceiling values the bank applies to manage risk or protect the account.
Is it a soft or hard decline?
card_velocity_exceeded is a soft decline. The issue is temporary by definition — limits reset on a daily, weekly, or statement-cycle basis. Retrying after the appropriate reset window recovers most of these transactions without any customer involvement.
Common root causes
Daily spending limit reached (common with debit cards)
Weekly or monthly transaction count limit hit
Credit limit exceeded on the card
Balance limit exceeded on a prepaid or debit card
Velocity rules triggered by unusual activity patterns, even below the stated limit
Recommended recovery steps
Wait at least 24 hours before the first retry — most velocity limits reset daily.
For weekly limits, wait longer — 3 to 7 days depending on the issuer.
Align retries with the end of the card's statement cycle for monthly limits, if that information is available.
Consider backup payment methods if the customer has another card on file — a different card will not have the same velocity counter.
Only escalate to dunning after automated retries fail — the customer is usually unaware of internal limit structures.
How FlyCode handles card_velocity_exceeded
FlyCode analyzes historical decline patterns for each customer to determine when velocity limits are most likely to reset. Rather than retrying on a fixed schedule that may hit the same block twice, FlyCode's AI engine predicts the optimal retry window based on:
The specific issuer's typical limit reset patterns
The customer's prior transaction frequency
Network-level authorization data from Visa and Mastercard
Time of day and day of week effects on issuer risk models
This adaptive approach recovers card_velocity_exceeded declines that fixed retry schedules consistently miss — without contacting the customer or requiring code changes to existing Stripe integrations.
Understanding This Decline Code
Extended content body
Frequently Asked Questions
Is card_velocity_exceeded a soft or hard decline?
When should I retry card_velocity_exceeded?
Wait at least 24 hours for daily limits, 3–7 days for weekly limits, or until the next statement cycle for monthly credit limits. Retrying too soon will just hit the same block.
How does FlyCode handle card_velocity_exceeded?
FlyCode analyzes each customer's card history to detect when velocity limits are likely to reset, then schedules retries accordingly. This recovers transactions that fixed retry schedules miss because they happen while the limit is still active.

