*99#, the payment menu hiding in your phone
*99# lets you send money and check your balance with no internet, using the same tech as your prepaid balance check. What it is, how it works, and the quirks to know before you rely on it.
Update, 31 October 2026: Daak no longer uses
*99#. From version 1.5.0 it pays over UPI 123Pay on every SIM. Here's why.
Long before QR codes showed up on every chai stall, NPCI built a payment menu you could reach from any phone with a SIM. No app. No data. Not even a smartphone. Just dial *99#.
It has been around for over a decade, and it's still one of India's best-kept secrets. Let's fix that.
What's USSD, anyway?
USSD is what happens when you dial a code like *123# and a little text box pops up with a menu. It isn't SMS and it isn't the internet. It's a live chat between your phone and your carrier's network, running on the most basic layer of mobile signal. That's why it works in a basement with one bar.
*99# is a USSD code that connects that chat to your bank, through NPCI.
What can you do with it?
Dial *99# and you get a numbered menu. The exact wording changes a little by bank and carrier, but you'll usually find:
- Send money to a mobile number, a UPI ID or a bank account.
- Request money from someone.
- Check balance.
- My profile and UPI PIN, for setting or changing your PIN.
- Pending requests and transactions.
There are shortcuts too. *99*1*1# jumps straight to paying a mobile number, and *99*3# jumps to your balance. Daak uses these to skip a few screens for you.
The quirks (you've been warned)
- It's impatient. Each screen times out after a short while. Take too long typing a UPI ID and you're back to square one.
- It doesn't work on Jio. Jio's network has no USSD support, so Jio users pay with UPI 123Pay calls instead. Here's how that works.
- It may cost a little. Your carrier can charge a small fee per session.
- Your bank sets the limits. How much you can send per payment and per day depends on your bank.
- It looks like 2006. Honestly, that's part of the charm.
Setting it up the first time
If your number has never used *99#:
- Dial
*99#and pick your language. - Type the first few letters of your bank's name, or its IFSC, when asked.
- Pick the account linked to your number.
- Set a UPI PIN using your debit card details, if you don't have one already.
After that, you're registered for good. If you use Daak, it can walk you through this the first time too.
Why it still matters
Most days you've got data and your usual UPI app works great. *99# is for the other days: festival crowds jamming the tower, a hill station with patchy signal, the last week of the month when the data pack ran out early.
It's the spare tyre of Indian payments. You don't think about it until you really, really need it.
Daak puts a friendlier face on it. It dials the right shortcut, copies the UPI ID so you can paste it into the menu, and confirms the payment from your bank's SMS. Same *99#, a lot less squinting.