whatisgithub

What is otp_listener?

jidukrishna/otp_listener — explained in plain English

Analysis updated 2026-05-18

27HTMLAudience · developerComplexity · 2/5Setup · moderate

In one sentence

An Android app that reads incoming SMS one time password codes and automatically forwards them to your own backend server.

Mindmap

mindmap
  root((OTP Listener))
    What it does
      Reads incoming SMS
      Extracts OTP codes
      Forwards to backend
    Tech stack
      Flutter
      Dart
      Kotlin
    Use cases
      Automated testing
      OTP forwarding
      Message history log
    Audience
      Developers
      Android testers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Automatically forward SMS OTP codes from a phone to a backend server for automated testing or account setup flows.

USE CASE 2

Log a history of received OTP messages on the device for later review.

USE CASE 3

Configure and enable OTP forwarding to a custom backend URL without writing native Android code.

USE CASE 4

Handle backend failures gracefully with built in retry logic for OTP delivery.

What is it built with?

FlutterDartKotlinAndroid

How does it compare?

jidukrishna/otp_listenerasweigart/lottie-website-testeraffaan-m/behavioral_rl
Stars272726
LanguageHTMLHTMLHTML
Setup difficultymoderateeasymoderate
Complexity2/51/54/5
Audiencedevelopergeneralresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Flutter installed plus an Android device, and Play Protect must be disabled to install the built APK.

Provided as-is for production use with no stated restrictions in the README.

So what is it?

OTP Listener is an Android app that watches incoming SMS text messages, pulls out one time password codes, the short numeric codes services send to verify your identity, and forwards them to a backend server that you choose. The README describes it as production ready, meaning it is meant for real use rather than just a demo. The app runs in the background and checks each incoming SMS to see if it looks like an OTP message. It looks for patterns such as your OTP is 123456 or verification code 123456, and it also requires the message to contain a keyword such as otp, code, verify, pin, or auth before treating it as a real code. Once it finds a match, it sends the extracted code, the sender number, the original message, and a timestamp to a backend URL you configure in the app, using a standard web request. If that request fails, the app retries automatically up to three times with a delay between attempts, and it treats client errors differently from server errors when deciding whether to retry. The interface has three tabs: a status screen, a log of past OTP messages that were caught, and a settings screen where you type in your backend URL and turn the listener on or off. All history and settings are saved locally on the phone using shared preferences, a simple local storage system. The app is built with Flutter, a toolkit for writing one app that runs on multiple platforms, though this project targets Android only, with some native Kotlin code handling the actual SMS listening. It needs SMS and internet permissions to work. The README notes that installing the app from outside the Play Store requires turning off Android's Play Protect security check first.

Copy-paste prompts

Prompt 1
Help me set up OTP Listener and connect it to my own backend endpoint to receive forwarded OTP codes.
Prompt 2
Explain what payload format my backend needs to accept from OTP Listener.
Prompt 3
Show me how the retry logic works when my backend is temporarily down.
Prompt 4
Walk me through the Android permissions OTP Listener needs and why.

Frequently asked questions

What is otp_listener?

An Android app that reads incoming SMS one time password codes and automatically forwards them to your own backend server.

What language is otp_listener written in?

Mainly HTML. The stack also includes Flutter, Dart, Kotlin.

What license does otp_listener use?

Provided as-is for production use with no stated restrictions in the README.

How hard is otp_listener to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is otp_listener for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.