Skip to contentSkip to navigationSkip to topbar
Rate this page:
On this page

SMS Pumping Protection for Programmable Messaging

SMS Pumping Protection uses automatic fraud detection to block messages flagged as being suspicious for SMS pumping fraud from being sent. It works by analyzing your current and historical SMS traffic for unusual patterns. When there are unexpected fluctuations in your SMS traffic for a specific location, or system-known malicious activity, this feature will automatically block messages to phone numbers associated with the suspected fraud.



For pricing information on SMS Pumping Protection for Programmable Messaging:

  1. Navigate to the SMS Pricing(link takes you to an external page) page.
  2. Select the country you are interested in.
  3. Check the Features section of the page.

Note that, for the United States and Canada, SMS Pumping Protection for Programmable Messaging is provided at no additional cost, therefore you may not find a line item in the Features section of their SMS Pricing pages.

Alternatively, you can contact Sales(link takes you to an external page) for pricing information.


Verify and Fraud Guard

If you're using Programmable Messaging to send one-time passcode (OTP) verifications, consider migrating to Verify which includes Fraud Guard with customizable protection levels at no extra charge.

Enable SMS Pumping Protection

enable-sms-pumping-protection page anchor

You can find the SMS Pumping Protection settings by navigating to the Twilio Console > Messaging > Settings > General(link takes you to an external page) page. From there, select Enabled to activate SMS Pumping Protection on your account.

SMS Pumping Protection Settings.

Once the feature is enabled on your account, no further actions are needed on your part. Your protection will begin immediately.

This feature works by detecting SMS pumping fraud. SMS pumping fraud happens when fraudsters take advantage of a phone number input field to receive a one-time passcode, an app download link, or anything else via SMS. The messages are sent to a range of numbers controlled by a specific mobile network operator(link takes you to an external page) (MNO) and the fraudsters get a share of the generated revenue.

Twilio uses a baseline of expected message data to find outliers in behavior based traffic patterns. We combine behavioral data with known explicit fraud schemes to filter out bad behavior.

Our model is always changing and uses multiple parameters to determine fraud. Examples of things we may temporarily block could include:

  • Messages to a specific region, country or locale we know is engaging in SMS pumping
  • Messages in a country your account has never sent SMS to previously
  • Messages with parameters and characteristics that would suggest non-human behavior

Preventing false positives

preventing-false-positives page anchor

Like any fraud prevention feature, there's a small chance our models may flag legitimate users as suspicious. We're constantly monitoring our results and adapting the fraud detection model to keep false positives extremely low.

Global Safe List

global-safe-list page anchor

You can use the Global Safe List API to maintain a list of phone numbers that will never be blocked by Programmable Messaging SMS Pumping Protection, Verify Fraud Guard, Verify Geo Permissions or any other internal fraud & risk check solution. By adding safe and verified phone numbers such as known customers, partners, or approved contacts to the Global Safe List, you ensure timely delivery of critical communications to these message recipients.

When you create a Message with the Programmable Messaging API, you can use the RiskCheck parameter to adjust the level of risk protection for individual outbound messages. Using the RiskCheck parameter, you can determine whether to apply SMS Pumping Protection to a specific message giving you more flexibility when sending messages for multiple use cases with different risk profiles using the same phone number.

For example, you may want to send messages for two different use cases using the same phone number:

  1. SMS messages with one-time passcode (OTP)/two-factor authentication (2FA) content
  2. Marketing SMS messages

Account- or phone number-level risk protection settings are not granular enough if you want to treat these two use cases differently for purposes of SMS Pumping Protection. However, to achieve this goal you can:

  1. Set the RiskCheck parameter to enable (default value) when creating an OTP/2FA message to take advantage of the built-in SMS Pumping Protection.
  2. Set the RiskCheck parameter to disable when creating a marketing message which does not need SMS Pumping Protection.

You can also take these actions if you suspect false positives:

Error 30450 will show in the Twilio error logs when an SMS delivery is blocked by SMS Pumping Protection.

You can use the Messaging Intelligence SMS Pumping Protection Insights dashboard to answer questions such as:

  • What are the projected monthly savings from using the SMS Pumping Protection for Programmable Messaging feature?
  • What is the volume of sent messages that were blocked by SMS Pumping Protection?
  • How do SMS pumping fraud activities break down by geography?

Rate this page: