Wault - a UPI-Style Wallet
A phone-sized wallet you can actually use: OTP sign-in, a 4-digit payment PIN, your own @okwault UPI ID with a QR code, transfers, money requests and scratch-card rewards. It is not wired to a bank or to UPI itself - money moves only between accounts inside the app.
- The PIN is verified on the server for every debit, and balances are integer paise moved by atomic updates, so two taps at once cannot overdraw an account
- Flask 3, SQLAlchemy and PostgreSQL behind a React 19 and TypeScript client, shipped as one Docker image on Render so the API and the app share an origin
- 66 pytest tests, a daily sending limit enforced in the ledger, and CSV and PDF statements counted in the Indian calendar day - UTC in the database, IST on screen
