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.”

Built With

Share this project:

Updates