RuPay.G.O — An Offline CBDC Mobile Application
Inspiration
India’s push toward Central Bank Digital Currency (CBDC) is driven by the vision of creating a sovereign, secure, and programmable form of digital money. However, existing digital payment systems remain heavily dependent on internet connectivity.
In a country where millions face network limitations across rural regions, disaster zones, underground transport systems, and low-signal environments, digital transactions often fail at critical moments.
RuPay.G.O was conceptualized to address this gap enabling Digital Rupee transactions to function like physical cash, even in offline scenarios. The solution focuses on secure peer-to-peer transfers, fraud prevention, and seamless bank reconciliation once connectivity is restored.
What It Does
RuPay.G.O is an offline-capable digital wallet that enables users to send and receive Digital Rupee tokens without requiring internet access.
Transactions are executed locally between devices and are automatically synchronized with the issuer bank when connectivity becomes available, ensuring financial finality and ledger consistency.
Key Features
Offline Peer-to-Peer Transfers
CBDC tokens can be exchanged directly between users through QR-based handshakes without any network dependency.
Device-Bound Digital Cash
Tokens are cryptographically bound to hardware-secured device keys, preventing cloning, tampering, or unauthorized duplication.
Atomic Ownership Transfer
Each transaction follows a secure sender-to-receiver transfer protocol ensuring complete ownership exchange in a single trusted flow.
Double-Spending Prevention
Tokens are invalidated and removed from the sender immediately after transfer, eliminating the risk of reuse.
Multi-Hop Transfers
Received tokens can be re-spent offline multiple times, enabling real cash-like circulation.
Online Reconciliation
All offline transactions are synchronized with the banking backend upon internet restoration for settlement and validation.
System Architecture
Offline Wallet Layer
Secure storage using EncryptedSharedPreferences
Hardware-backed cryptographic key generation
AES-GCM encryption for token protection
Transfer Protocol Layer
QR code handshake mechanism
Token metadata and digital signature exchange
Two-step confirmation ensuring atomic transfer
Security Layer
Device-bound cryptographic identity
Tamper-resistant token storage
Offline signature verification
Ledger and Synchronization Layer
Local transaction ledger
Pending transfer queue
Reconciliation APIs for bank sync
Banking Backend
Issuer bank validation server
Digital signature authentication
Settlement processing and fraud detection
This layered design ensures offline usability while maintaining online financial integrity.
Offline Transfer Flow
Step 1 — Sender Initiation The sender selects a token and generates a QR code containing token metadata and cryptographic signatures.
Step 2 — Receiver Verification The receiver scans the QR code, verifies authenticity, and temporarily accepts the token.
Step 3 — Confirmation and Settlement The receiver generates a confirmation QR code. The sender scans it, triggering token deletion from the sender’s wallet and completing ownership transfer.
Tech Stack
| Domain | Technologies Used |
|---|---|
| Frontend & Automation | Kotlin, Gradle |
| Security | AES-GCM Encryption, Hardware-backed Android Keystore, Digital Signature Infrastructure |
| Transfer Protocol | QR Code (ZXing) |
| Backend & Storage | Firebase |
“By enabling offline CBDC transactions, RuPay.G.O redefines digital payments for a truly connected even when disconnected economy.”
Log in or sign up for Devpost to join the conversation.