THE STORY

Why we built
OffPay.

UPI changed everything in India. But it still needs the internet. For 300 million people on the wrong side of a signal bar, that's a problem.

The gap.

UPI is everywhere — except when it isn't. Travel a few kilometres outside a metro and the data disappears. The bank's app loads forever. The QR code scans, then nothing.

Meanwhile, on the same SIM, on the same network, on the same phone — you can always make a call. That cellular voice signal is reliable enough to carry a payment. NPCI built *99# on top of it years ago. It works on every Airtel / Vi / BSNL handset in the country. Nobody uses it.

Because dialling raw USSD codes and typing UPI IDs on a number pad is brutal.

The fix.

OffPay puts a clean, modern Android app on top of *99#. Same feel as GPay or PhonePe — type, scan, tap. Auto mode drives the carrier's dialog start to finish; manual mode opens the dialer with the USSD code prefilled. Either way, the bytes-of-data counter never moves.

We don't run servers. We don't have an account. Your PIN never leaves volatile memory; it's wiped within 500 milliseconds of the session ending. Open source, MIT, on GitHub.

The pitch.

It's a side project. It is not a registered payment service. It is a small, sharp tool that does one thing — UPI without the internet — and stays out of your way.

We made it because the gap was annoying us. We're keeping it open source because the people who need it most don't need a startup behind it.

MAKERS

Built by
two of us.

Lakshya @laksh-ya

Started the prototype as a PWA, then ported the runtime to native Android. Wrote the USSD action runner and the accessibility plumbing.

Harsh @harshtripathi272

Designed the screens, the NeoPOP polish, and the onboarding flow. Owns the FAQ + carrier-detection edge cases.

GET IT

Try OffPay.