The Problem
Fraud — cheques can be forged or altered
Delays — issuance takes 3-7 days
Cost — printing and courier add operational expense
No real-time validation — bounced cheques discovered too late
The Solution — Dynamic QR Cheques
Each cheque = a unique encrypted QR code, generated on demand from your phone.
User requests cheque in app
↓
Biometric authentication
↓
Bank server generates encrypted QR
↓
User shows QR to payee
↓
Payee scans → Bank validates → Payment processed
↓
QR invalidated — cannot be reused
Example
QR Payload
{
"cheque_id": "CHQ-2026-UUID-7a3f9c",
"payee_name": "Ali Hassan",
"amount": 50000,
"currency": "PKR",
"expiry_date": "2026-06-21",
"signature": "RSA_SIGNED_HASH",
"one_time_token": "OTT-9f2a1b3c"
}
6 Layers of Fraud Prevention
Biometric issuance — stolen phone cannot generate cheques
RSA server signature — tampered QR instantly detected
One-time token — scan once, invalidated forever
Time expiry — auto-reject after 30 days
Device binding — new device requires re-authentication
Real-time balance check — no more bounced cheque
Conclusion
The technology exists today — Flutter, QR codes, biometrics, real-time APIs. Pakistani banks that implement this will see reduced fraud, lower costs, and better customer experience.
The era of the paper cheque book is ready to end.
Muhammad Zeeshan Farooq — Software Engineer | Fintech | Flutter
linkedin.com/in/zeeshanfarooq | zeeshan-dev.web.app

Top comments (0)