No Wi-Fi. No mobile data. No problem.
Offline Pay wraps India's *99# USSD service in a clean interface. Send money, check balances, scan QR codes—all over the voice network.
Android 7.0+ · Sideload only · Apache 2.0
The problem
The *99# service is brilliant—UPI payments over plain voice networks, no smartphone needed. But it was built as a bare USSD menu. Navigating numbered options, remembering codes, and re-entering details on every transaction? Nobody has time for that.
01
600M+ Indians live in areas with spotty data. Voice networks reach further.
02
Menus timeout. Codes are cryptic. One wrong input means starting over.
03
GPay, PhonePe, Paytm—all require an internet connection to function.
Capabilities
Transfer to any mobile number or UPI address. The app dials *99#, navigates the menu, and confirms—you just enter the amount.
One tap to see your bank balance. No login screens, no loading spinners, no internet required.
Point your camera at any UPI QR. The app extracts the payee details and completes the USSD flow for you.
Every payment logged locally. Search, filter, and review past transactions without relying on bank SMS.
Fingerprint or face unlock. Your financial data doesn't go anywhere—make sure nobody else on your phone can reach it either.
Choose which SIM handles your USSD transactions. Switch between personal and work bank accounts freely.
Process
Download from GitHub Releases. Install, grant phone and accessibility permissions. That's the entire setup—no account, no phone verification, no email.
Pick a contact, scan a QR code, or type a number. Enter the amount. The interface is the same as any modern payment app you'd use online.
Tap send. The app dials *99#, navigates the USSD menus via the accessibility service, enters your details, and reports the result. You type your UPI PIN when prompted.
Privacy
Offline Pay makes no network requests, ever. No analytics. No crash reporting. No telemetry. Your transaction data, contacts, and preferences exist only in your phone's local storage. Delete the app, and it's gone.
Read the source code and verifyInternet is only used to check for app updates. Your financial data, contacts, and preferences stay local.
Apache 2.0 licensed. Every line auditable. Build it yourself if you want.
Fingerprint and face authentication through Android's native APIs. No cloud auth.
No residual data, no orphaned accounts, no lingering cloud records. Clean removal.
Free. Open source. No strings attached. Just download, install, and pay.