About

Why
OffPay
exists.


UPI works everywhere in India, except when it doesn't. Go a few kilometres outside a city and the data drops. The bank app spins. The QR code scans, then nothing happens. You're stuck.

Meanwhile, on the same phone, on the same SIM, you can always make a call.

That voice channel is reliable enough to carry a payment. NPCI built *99# on exactly that: it routes UPI over a GSM USSD session, no data required. It works on any Airtel, Vi, or BSNL SIM. Barely anyone uses it, because dialling raw codes and typing UPI IDs on a number pad is genuinely painful.

OffPay puts a clean interface on top of *99#. Scan a QR or type a UPI ID. Hit pay. The app drives the carrier dialog in the background using Android's Accessibility Service, letting you watch a progress screen while it handles the menus. No data moves. No account. No server.

We built it because the gap was annoying us on trips. It's open source under MIT because the people who need it most don't need a company behind it. Built by Lakshya and Harsh. Source on GitHub.