Why bank account verification matters
Before disbursing a loan, paying a vendor, or onboarding a gig worker to receive payment, you need to confirm that the bank account actually belongs to the person claiming it. In India, the two primary methods are penny drop and reverse penny drop — both operate over IMPS/NEFT infrastructure via NPCI.
Penny drop (credit penny drop)
You credit a small amount — typically ₹1 — to the account number provided by the user. NPCI returns the account holder's name as part of the transaction response. You match that name against the identity data you've already collected (Aadhaar name, PAN name).
How it works: Your system initiates an IMPS credit of ₹1 to the target account. The bank's core banking system processes the credit and NPCI returns the registered account holder name in the response payload.
Cost: ₹0.50–₹2 per check (the ₹1 credit is not typically recovered, plus transaction fee).
Latency: 800ms–3s depending on the destination bank's IMPS processing time.
Coverage: All IMPS-enabled accounts — nearly universal for active savings and current accounts.
Best for: Loan disbursals, vendor onboarding, gig worker payment account setup — any scenario where you need high confidence in account ownership before a material payment.
Reverse penny drop (debit penny drop)
Instead of crediting, you request a small debit — again typically ₹1 — from the customer's account. The customer completes a UPI-based authorization. You receive confirmation of account ownership from the UPI handle and account details.
How it works: You generate a UPI collect request to the customer's VPA (Virtual Payment Address) or directly to account + IFSC. The customer authorizes in their UPI app. Name and account details returned on success.
Cost: ₹0–₹0.50 per check (UPI mandate cost; the ₹1 debit is typically refunded).
Latency: Depends on customer action — can be instantaneous or up to 5 minutes if the customer is slow to authorize.
Coverage: Requires an active UPI registration. Accounts without UPI setup are not covered.
Best for: Consumer apps where you want the customer to actively confirm their account during onboarding. The UPI authorization step also implicitly confirms the customer controls the UPI handle.
Which to use and when
- Use penny drop when you need high coverage (including accounts without UPI), when the customer doesn't need to take action, or when you're verifying a vendor/partner bank account rather than a consumer.
- Use reverse penny drop when you want the customer to actively authorize, when you also want to capture a UPI handle for future collections, or when cost sensitivity is high and your user base is reliably UPI-active.
- Use both in sequence for high-value lending or vendor onboarding — penny drop first for coverage, reverse penny drop as a secondary confirmation for borderline name matches.
Veriflow bank account module
The Veriflow bank_account module supports both penny drop and reverse penny drop. Pass method: "penny_drop" or method: "reverse_penny_drop" in your request. The response schema is identical regardless of method, making it easy to switch or run both without changing your downstream logic.
Name matching against Aadhaar or PAN data is run automatically — you receive a name_match field with HIGH, MEDIUM, or LOW confidence so you can make a risk-based decision in your onboarding logic.