OTP Pumping: How Fraudsters Drive Up SMS OTP Costs and How Businesses Can Protect Themselves
Contents:
Contents:
SMS one-time passwords work in a simple way: a customer enters a phone number, the system sends an OTP, and the code is then used to confirm a login or registration. But this same process can be exploited for SMS Pumping, also known as OTP Pumping.
The goal of the attack is to artificially generate a large number of OTP requests. The system treats them as normal user actions and sends SMS messages, which the company pays for. As a result, costs increase even though there are no real customers behind the traffic. This type of fraud is also known as Artificially Inflated Traffic.
How OTP Pumping Works
Fraudsters automatically trigger login, registration, or account recovery forms and repeatedly request codes to phone numbers they control or have specifically selected. In some schemes, the fraud model itself is based on generating artificial SMS traffic.
For a business, this looks like a sudden increase in OTP sends. At the same time, the number of successful registrations or logins does not increase along with the traffic. A mismatch between the number of codes sent and completed verifications is one of the clearest warning signs.
Why One Limit Is Not Enough
The obvious protection is to allow each phone number to request a code only a limited number of times. This is necessary, but one rule alone is not enough.
An attack can be distributed across many phone numbers, IP addresses, or countries. That is why several signals should be evaluated at the same time: phone number, IP address, country, request frequency, and successful verification rate.
A layered approach works better: limits per number and IP, delays between repeat requests, checks for suspicious behavior, and controls on the geographic destinations of messages. OWASP also recommends applying limits across multiple parameters instead of relying only on IP-based restrictions.
Stop the Request Before the SMS Is Sent
The most important rule is to block suspicious requests before the message reaches the carrier.
After the first OTP, users should not be able to request another one a second later. Set a waiting period, limit the number of attempts within a defined timeframe, and monitor the total number of OTP requests from the same IP address or session.
For public-facing forms, bot protection also makes sense. CAPTCHA should not be the only barrier, but combined with rate limits and suspicious behavior analysis, it adds another layer of protection.
Restrict Geography
If a company operates only in Ukraine and Poland, OTP requests to phone numbers in other countries should not be allowed to pass through the same workflow without restrictions.
Geographic restrictions reduce the attack surface by allowing only the destinations the product actually needs. For an international service, it is better to set separate thresholds for different countries and monitor unusual traffic spikes. Blocking unnecessary destinations is one of the basic recommendations for protecting against SMS Pumping.
Monitor More Than Just SMS Volume
A high volume of OTP messages does not automatically mean there is an attack. Traffic can increase after an advertising campaign or expansion into a new market, so context matters.
Compare the number of OTP requests with the number of successful verifications. If sends increase several times over while completed verifications barely change, the traffic should be investigated.
Set up alerts for sudden changes as well: an unusual country, a burst of requests from one IP address, a spike in spending, or a drop in the percentage of successfully entered OTPs. Monitoring abnormal automated activity and spending is also part of OWASP’s recommendations.
Do Not Generate Codes Indefinitely
A common mistake is generating a new OTP every time someone clicks “Resend.”
A better approach is to prevent another send until the waiting period has ended and to set a clear limit on repeat requests. This prevents repeated clicks from turning into a series of new paid SMS messages.
The number of incorrect code entries should also be limited. After a defined number of failed attempts, verification should be temporarily blocked. Gradually increasing the waiting period between attempts is also commonly used in these scenarios.
What to Do When Costs Suddenly Spike
First, stop the source of the abnormal traffic: tighten the limits, block unnecessary countries, and review the form that triggers OTP sends.
Next, compare traffic by country, time period, IP address, and successful verification rate. This makes it easier to separate genuine audience growth from artificial activity.
After the incident, review the rules. If the attack succeeded through a specific workflow, that workflow will remain a weak point unless it is changed.
How to Use OTP with SMS Club
SMS Club supports automated one-time password delivery through integrations and API. For example, OTP can be used to confirm user registration or login.
Protection against OTP Pumping should be built into the website or application itself: control request frequency, geographic destinations, and verification results before triggering the SMS send.
The logic that determines who is allowed to request a code and when remains part of the product itself. This is where suspicious activity should be stopped before SMS costs are incurred.
Frequently Asked Questions
What Is OTP Pumping?
OTP Pumping is a fraud scheme in which attackers artificially generate a large number of requests for SMS one-time passwords. The company pays for the messages even though there are no real customers or useful product actions behind them.
How Can You Detect an Attack Quickly?
Compare the number of OTP messages sent with successful verifications. A sudden increase in SMS traffic without a corresponding increase in logins or registrations, unusual countries, and a high number of requests within a short period are key warning signs.
Is CAPTCHA Enough Protection?
No. Bot protection can block some automated requests, but it should be combined with limits per phone number and IP address, waiting periods between OTP requests, geographic controls, and monitoring for abnormal traffic.
Where Should OTP Pumping Protection Be Applied?
As early as possible—before the SMS is actually sent. The system should evaluate the phone number, request frequency, IP address, country, and other signals before allowing a one-time password to be delivered.