Akforges
← All work
Fintech— Fraud Detection · India
Payment Verifier
Fraud Detection · India

Fake payment? Caught before the goods leave.

A browser-based fraud detection tool that uses Tesseract.js OCR to extract UPI transaction metadata directly from screenshots and flag fraudulent payments — no server uploads, no latency, no trust required.

0
Server image uploads
5+
Payment gateways
Client-side
OCR processing
Real-time
Fraud analysis

The problem

Small merchants across India — kirana stores, street vendors, freelancers — accept UPI payments by asking customers to show a screenshot. This is the entire verification step. A convincing fake PhonePe or Google Pay screenshot, trivially generated with a screenshot editor, can pass this check and walk away with goods or services.

The scale of the problem is significant. Most merchants have no tools beyond visually inspecting a screenshot and hoping it looks right. Existing bank-side verification requires the merchant to log into their bank portal and manually search the UTR — a process most don't bother with.

The brief was a tool that any merchant could use instantly — upload or paste the screenshot, get a verdict in seconds, no account required for basic checks.

What we built

The key architectural decision was browser-side OCR with Tesseract.js v7. The screenshot never leaves the device — OCR runs entirely in the browser using WebAssembly. This eliminates server costs for image processing, removes privacy concerns about financial screenshots, and makes the tool instantaneously fast for merchants on slow connections.

Once Tesseract extracts the text, a fraud analysis layer checks for the key signals that distinguish real from fake: UPI transaction IDs follow a specific format (UTR patterns differ by gateway), timestamps must be plausible, amounts must be consistently stated across the screenshot (fakes often have inconsistencies in multiple amount displays), and the transaction status text and styling have gateway-specific patterns.

The UI has an animated scanning sequence with real-time progress feedback — this isn't theatre, it reflects the actual Tesseract processing stages. Results show a verdict (likely genuine / suspicious / likely fake) with the extracted metadata and the specific signals that triggered the flags.

Supabase handles auth and stores verification history for logged-in users. A Razorpay integration enables a Pro tier with bulk verification and API access for merchants who need to integrate checks into their own systems.

Gateway coverage

Detection patterns cover PhonePe, Google Pay, Paytm, BHIM, and Amazon Pay — the five gateways that cover the vast majority of UPI transactions in India. Each gateway has distinct screenshot layouts, font choices, and status string patterns, which the OCR analysis layer accounts for separately.

Tech stack

Next.js 16React 19TypeScriptTesseract.js v7SupabaseRazorpayTailwindCSSLucide React
Build something similarNext case →