Stripe Account Suspension: Radar Fraud Detection Importance
Experience sharing about Stripe account suspension due to disabled Radar fraud detection, resulting in fraudulent transactions and account closure.
Stripe Account Suspended Overnight: Why You Must Enable Radar Before Going Live
Published on ClawList.io | Category: Developer Tools & Payments | March 4, 2026
A developer shared a painful lesson on X recently that every indie hacker, SaaS builder, and AI automation engineer needs to read before they accept their first payment. The story is short, the damage is real, and the fix takes about 90 seconds.
Here is what happened: they launched a product, started seeing payment attempts roll in, and assumed traction was kicking in. It was not traction. It was fraud. By the time Stripe sent the suspension notice, it was too late. Their account was closed, their payment flow was dead, and they had to scramble to rebuild around an entirely different payment provider.
The culprit? Stripe Radar was turned off.
What Is Stripe Radar and Why Does It Exist?
Stripe Radar is Stripe's built-in machine learning fraud detection system. It sits between your checkout and your bank, evaluating every payment attempt in real time. It scores transactions based on hundreds of signals — card velocity, IP geolocation mismatch, device fingerprinting, behavioral patterns, and more — and blocks suspicious charges before they hit your account.
Radar ships enabled by default on most Stripe accounts, but there are specific scenarios where it can be inadvertently disabled or misconfigured:
- Accounts created through certain platform integrations or Connect flows
- Accounts where a developer manually adjusted rules in the Radar dashboard
- Older accounts migrated from legacy configurations
- Accounts using custom payment flows that bypass Stripe's hosted components
When Radar is off or improperly configured, Stripe still processes payments — it just does so blindly. Every card that gets submitted, whether it belongs to a real customer or a fraudster running a carding attack, goes straight through.
This is exactly what happened in the incident above.
The Attack Pattern: Carding at Scale
What the developer witnessed — bursts of payment attempts that either self-cancelled or were flagged — is a textbook carding attack. Here is how it works:
- A threat actor obtains a large batch of stolen card numbers (purchased from dark web marketplaces or scraped from breached databases).
- They write a script that fires payment requests at your checkout endpoint, testing each card for validity.
- Valid cards that go through confirm the card is live and usable. The attacker either charges what they want or sells the verified card data onward.
- Failed cards get discarded. The attacker moves on.
Your payment endpoint becomes a free card-validation service. You absorb the Stripe transaction fees for every attempt, you trigger Stripe's fraud monitoring at the account level, and if enough bad transactions clear, you get hit with chargebacks that can destroy your account standing.
Without Radar active, a typical carding run against a small indie product can look like this:
11:42 PM - Payment attempt $9.99 - Card declined (insufficient funds)
11:42 PM - Payment attempt $9.99 - Card authorized ✓
11:42 PM - Payment attempt $9.99 - Card declined (do_not_honor)
11:43 PM - Payment attempt $9.99 - Card authorized ✓
11:43 PM - Payment attempt $9.99 - Card authorized ✓
...
[200+ attempts over 40 minutes]
With Radar active, most of these attempts never make it past the risk evaluation layer. The machine learning model flags the velocity, the IP cluster, the mismatched billing data, and blocks them automatically. You see the blocked attempts in your dashboard and move on.
How to Check and Enable Stripe Radar Right Now
If you are running any Stripe integration — whether it is a simple checkout link, a full SaaS subscription flow, or an AI automation product with usage-based billing — stop and verify your Radar configuration before your next deployment.
Step 1: Navigate to Radar in the Stripe Dashboard
Go to Dashboard → Radar → Rules. If you see a prompt to enable Radar or your rules list is empty with no default rules active, that is a red flag.
Step 2: Confirm Default Rules Are Active
Stripe Radar ships with a default ruleset that handles the most common fraud patterns. Ensure these are toggled on:
- Block if card country is in high-risk list
- Block if CVC check fails
- Block if ZIP code check fails (for US cards)
- Review if velocity on card exceeds threshold
Step 3: Enable 3D Secure Where Appropriate
For higher-value transactions or subscription sign-ups, configure Radar to request 3D Secure authentication. This shifts liability away from you to the card issuer on fraudulent charges.
// Example: Requesting 3DS via Stripe PaymentIntents
const paymentIntent = await stripe.paymentIntents.create({
amount: 2000,
currency: 'usd',
payment_method_options: {
card: {
request_three_d_secure: 'automatic', // Radar decides when to trigger
},
},
});
Step 4: Set Up Radar for Fraud Teams (If on Stripe Radar for Fraud Teams)
If your volume justifies it, Radar for Fraud Teams ($0.02 per screened transaction) gives you custom ML models, risk scores you can act on programmatically, and the ability to write custom rules like:
Block if :ip_country: != :card_country: and :amount: > 5000
Review if :card_velocity_hour: > 3
Step 5: Enable Stripe Notifications
Make sure Stripe can reach you. Go to Settings → Email notifications and enable alerts for suspicious activity, elevated dispute rates, and account health warnings. Getting the notice hours after your account is suspended because the email went to spam is a preventable problem.
Lessons for AI and Automation Builders
If you are building with AI agents, OpenClaw skills, or automation workflows that trigger payments programmatically, your attack surface is larger than a standard checkout form. Automated flows can be scripted against at higher velocity precisely because they are designed to accept machine input.
A few additional safeguards worth implementing alongside Radar:
- Rate-limit your payment endpoints. Enforce a maximum number of payment attempts per IP per hour at the application layer, before a request even reaches Stripe.
- Require authentication before checkout. Even a simple email verification step breaks most automated carding scripts.
- Monitor your Stripe webhook events. Hook into
payment_intent.payment_failedand alert yourself when failure rates spike. Unusual failure spikes are often the first signal of an active attack. - Set up Stripe's automatic payout hold features. During early-stage launches, keeping a balance buffer gives you time to catch issues before they cascade into account-level problems.
Conclusion
One developer lost their Stripe account overnight because a single setting was misconfigured. Radar was off, fraudsters found the open door, and the damage was done before morning. The lesson is not that Stripe is unreliable — Stripe's fraud tooling is genuinely excellent. The lesson is that the tooling only works if you turn it on.
Before you ship your next payment integration:
- Verify Radar is active and default rules are enabled
- Test your webhook handling for failure events
- Add rate limiting at the application layer
- Make sure Stripe can reach you with account alerts
Fraud does not wait for you to hit product-market fit. It shows up the moment your payment endpoint is publicly reachable. Treat fraud protection as a launch requirement, not a post-launch cleanup task.
Original experience shared by @bozhou_ai on X. Follow ClawList.io for more developer tools, AI automation guides, and practical engineering resources.
Tags
Related Articles
Vercel's React Best Practices as Reusable Skill
Vercel distilled 10 years of React expertise into a skill, demonstrating how organizations should package internal best practices as reusable AI agent skills.
AI-Powered Product Marketing with Video and Social Media
Guide on using AI to create product advertisement videos, user testimonials, and product images for social media marketing campaigns.
Engineering Better AI Agent Prompts with Software Design Principles
Author shares approach to writing clean, modular AI agent code by incorporating software engineering principles from classic literature into prompt engineering.