AI & Technology

Twitter Digits Is Gone: Phone-Number Sign-In for Mobile Apps in 2026

Simon Dziak
Simon Dziak
Founder & developer, App369
LinkedIn
October 17, 2026•6 min

Key takeaways

  • Twitter launched Digits, free SMS sign-in for apps, on October 22, 2014. After its team joined Google in 2017, Digits was replaced by Firebase phone authentication and shut down on September 30, 2017.
  • Phone sign-in is rarely free now. Firebase bills per SMS on the Blaze plan (US $0.01, UK $0.04, Germany $0.10 per message, first 10 a day free), and Twilio Verify charges $0.05 per successful verification plus $0.0083 per US SMS.
  • The biggest risk is SMS pumping fraud: bots request codes to expensive numbers and someone else earns from the traffic. Limit the countries you send to, rate-limit requests and verify the app before sending.
  • Firebase is the closest successor to Digits and the simplest choice for Flutter, iOS and Android apps. Supabase, Auth0 and Cognito work through an SMS provider you configure.
  • Vendors themselves warn that a phone number is a weak sole credential. Pair SMS with email, or offer passkeys, for accounts that hold money or private data.

Pricing an app? Try the free app cost calculator or get a range for your project in the instant quote.

Twitter Digits, the free "sign in with your phone number" SDK, shut down on September 30, 2017, and Firebase phone authentication took its place. In 2026, adding SMS sign-in to a mobile app is still straightforward, but it's never free and it attracts fraud. Firebase is the closest successor and the simplest option for Flutter, iOS and Android. Twilio Verify suits apps that want a dedicated verification service. Whatever you choose, limit which countries you send codes to before you launch.

This page replaces the Digits pages and Fabric docs that older tutorials still link to. Digits dates come from its own blog and Twitter's, read through the Wayback Machine. Prices come from each vendor's pricing page and were checked on October 17, 2026.

Disclosure: App369 is my studio, and I build most apps with Flutter and Firebase, which appear below. No vendor on this page paid for a mention.

What happened to Digits, and when

DateWhat happenedSource
October 22, 2014Twitter launches Digits at its Flight conference, alongside Fabric: free sign-in with a phone number and an SMS codeTwitter blog
January 18, 2017Google agrees to acquire Fabric from TwitterGoogle Developers Blog
May 17, 2017The Digits team announces Digits will become Firebase phone authenticationDigits blog
September 30, 2017Digits shuts down; apps still on the Digits SDK can no longer sign users inDigits blog

Some Digits features didn't carry over to Firebase, including delivering the code by voice call and the optional account PIN, according to Fabric's migration guide.

What the old addresses do today

Checked on October 17, 2026:

  • get.digits.com and its blog no longer resolve. The Wayback Machine has copies.
  • digits.com now belongs to an unrelated accounting software company, so old "Digits" links send readers somewhere confusing.
  • docs.fabric.io/apple/digits/ redirects to the Firebase home page.

The 2026 options compared

Prices were checked on October 17, 2026. SMS prices vary by destination country, so check your own markets.

OptionHow it worksSMS costFree allowanceFraud controls the vendor documents
Firebase AuthenticationPhone sign-in built into Firebase Auth, with SDKs for Flutter, iOS, Android and web. Android can sometimes verify the number automaticallyPer SMS by country on the Blaze plan: US $0.01, UK $0.04, India $0.07, Germany $0.10First 10 SMS a day. Not available on the free Spark planSMS region policy (new projects allow no regions), Play Integrity on Android, silent push on iOS, reCAPTCHA fallback
Twilio VerifyA verification API: you send and check codes from your backend$0.05 per successful verification, plus $0.0083 per SMS in the USCheck Twilio's current trial termsFraud Guard (included), geo permissions, rate limits
Supabase AuthsignInWithOtp with a phone number, through an SMS provider you configure (MessageBird, Twilio, Vonage or TextLocal)Paid to your SMS providerSupabase's free plan covers 50,000 monthly active users; SMS is extraCAPTCHA (hCaptcha or Turnstile) and SMS rate limits
Auth0Passwordless sign-in with an SMS code, through Twilio or a custom phone providerPaid to your SMS providerFree plan up to 25,000 monthly active usersNot documented on the passwordless SMS page; add your own rate limits and CAPTCHA
Amazon CognitoSMS sign-in through AWS End User MessagingUS about $0.0077 plus a $0.0042 carrier fee per SMSEssentials: 10,000 monthly active users free, then $0.015 eachSMS Protect blocks artificially inflated traffic; new accounts start in an SMS sandbox

Firebase is also rolling out Phone Number Verification, which confirms the number with the mobile carrier instead of sending an SMS. Its documentation currently covers Android only and carrier coverage is partial, so treat it as an addition to SMS rather than a replacement for now.

SMS pumping: the cost nobody budgets for

SMS pumping, also called toll fraud, is when bots hit your "send code" endpoint with numbers in countries where SMS is expensive, and someone shares the revenue from that traffic. Twilio's guide describes it plainly: both attacks inflate traffic "with the intent to make money". It can run up a large bill overnight on an app with no real users.

What the vendors recommend, in order of impact:

  1. Allow only the countries you serve. In Firebase, set the SMS region policy. In Twilio, set geo permissions. In AWS, use the sandbox until you go live, then SMS Protect.
  2. Verify the app or the person before sending. Firebase does this with Play Integrity, silent push and reCAPTCHA. Supabase supports CAPTCHA. On your own backend, add a CAPTCHA before the send call.
  3. Rate-limit per IP address, per phone number and per device, with growing delays between retries. Twilio notes that rate limits slow attackers rather than stop them, so combine them with the steps above.
  4. Watch codes sent versus codes verified. A sudden drop in the verified share, or traffic from a country you don't serve, is the alarm. Google's pricing page suggests blocking regions with very low verification rates.
  5. Set a billing alert. Google Cloud (which handles Firebase billing), AWS and Twilio all offer spend alerts, for example Twilio usage triggers. Put one in place before launch.

How to choose

  1. You're building with Flutter or Firebase already. Use Firebase phone auth. It's the direct successor to Digits, and the Flutter guide covers the full flow. Upgrade to Blaze, set the region policy, and add test numbers for development.
  2. Your backend isn't Firebase and you want one bill for verification. Twilio Verify. The per-verification price includes fraud protection, and you only pay the $0.05 fee when a code is confirmed (the per-SMS fee is billed on every send).
  3. Your app runs on Supabase. Use its phone login with Twilio or another supported provider, and turn on CAPTCHA before launch.
  4. You're on AWS already. Cognito with End User Messaging, plus SMS Protect.
  5. Your users can receive email or use passkeys. Consider making SMS optional. Email magic links work in Firebase and Supabase, passkeys are standard on Apple and Google devices, and Supabase's passkey support is still marked experimental. Fewer SMS sends means less cost and less fraud.

Migration checklist for an app still built around Digits

  1. Find the old SDK. Search the project for Digits, Fabric and TwitterKit. If they're still there, sign-in has been broken since 2017 or the code is dead weight.
  2. Pick the new provider from the table above, and create a test project first.
  3. Map existing users. If your backend stored Digits user IDs, match accounts by phone number instead, and make sure the number is stored in E.164 format (+15615551234).
  4. Set the fraud controls before launch: a country allow list, rate limits, app verification and a billing alert.
  5. Add test numbers so development and app review don't send real SMS.
  6. Write the consent text. Tell meers an SMS may be sent and that standard rates apply. Firebase's docs also ask you to tell users their number is sent to Google for spam and abuse prevention.
  7. Test on real devices, including a phone without Google Play services and a slow network, before you release.

Need a hand?

If phone sign-in is stuck on one bug, such as codes that never arrive, a reCAPTCHA loop or a verification that fails on iOS only, the App Fix Ticket is a fixed-price option. The Diagnosis is $450 in 3 business days and the Fix is $1,200 in 5 business days. It covers Flutter, Swift, Kotlin and Firebase among others, and it doesn't cover rewrites. For a full sign-in rebuild, get in touch and I'll scope it.

Frequently asked questions

What replaced Twitter Digits?
Firebase Authentication's phone sign-in. The Digits team joined Google in January 2017, announced in May 2017 that Digits would become Firebase phone authentication, and shut Digits down on September 30, 2017. Apps that still used the Digits SDK after that could no longer sign users in.
How much does SMS sign-in cost in 2026?
It depends on the vendor and the country. Firebase charges per SMS on the Blaze plan, from $0.01 in the US to $0.10 in Germany and more elsewhere, with the first 10 SMS a day free. Twilio Verify charges $0.05 per successful verification plus a channel fee, $0.0083 per SMS in the US. Supabase, Auth0 and Cognito pass the cost through to the SMS provider you connect.
What is SMS pumping fraud?
Attackers trigger sign-in codes to premium or high-cost numbers they profit from, so your SMS bill grows with no real users behind it. Twilio, Google and AWS all document it. The usual defences are a country allow list, rate limits per IP and per number, app attestation or CAPTCHA before sending, and watching the ratio of codes sent to codes verified.
Is phone-number sign-in secure enough on its own?
For low-risk apps it is common, but Firebase's own docs note that a phone number can be transferred between people, and AWS says SMS isn't a security best practice. For accounts with payments or private data, add a second factor or offer passkeys.
Can I test phone sign-in without paying for SMS?
Yes. Firebase lets you add up to 10 test phone numbers with fixed codes that never send a real SMS. Use hard-to-guess numbers and codes, and change them regularly.

Sources

  1. Twitter blog, "A better way to sign in with Digits" (October 22, 2014), Wayback Machine copy
  2. Digits blog, "Introducing Firebase phone authentication" (May 17, 2017), Wayback Machine copy
  3. Digits blog, "Digits is now shut down" (October 2, 2017), Wayback Machine copy
  4. Google Developers Blog, "Welcoming Fabric to Google" (January 18, 2017)
  5. Fabric docs, "Migrating from Digits" (September 2017), Wayback Machine copy
  6. Firebase blog, "Firebase Phone Auth" (2017)
  7. Firebase docs, phone authentication on the web (SMS region policy, test numbers)
  8. Firebase docs, phone authentication in Flutter
  9. Firebase Authentication limits
  10. Google Cloud Identity Platform pricing (per-country SMS prices)
  11. Firebase Phone Number Verification
  12. Twilio Verify pricing
  13. Twilio docs, preventing toll fraud
  14. Supabase docs, phone login
  15. Auth0 docs, passwordless with SMS
  16. Amazon Cognito docs, SMS message settings
  17. AWS End User Messaging pricing
  18. Apple Developer, passkeys
  19. Supabase docs, passkeys (experimental)

Want this done at a fixed price?

Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.

Tags
#twitter digits alternative #digits shut down #phone number authentication #sms otp login #firebase phone auth pricing #twilio verify pricing #supabase phone login #sms pumping fraud #passwordless login mobile app #flutter phone auth
Share:

Related Resources

Related guides