Idempotent transactions
Client-generated request identity prevents duplicate visual commits and models production retry safety.
This technical demo combines Auth.js v5, Prisma, local API route handlers, wallet balances, payment-like transfers and audit-friendly transactions in one deployable Next.js app.
Live ledger mock
Balance
$12,840
Sent
$4,210
Received
$8,630
Built for API reliability
The interface turns reliability concerns into visible states: authenticated sessions, retry-safe payments, ledger movement tables and audit-ready signals.
Client-generated request identity prevents duplicate visual commits and models production retry safety.
Debit and credit movements are stored as auditable ledger events instead of mutable balances only.
Next.js route handlers coordinate Prisma transactions around balance checks, debit, credit and transaction creation.
Each movement carries reference IDs, descriptions and timestamps for reconciliation-style inspection.
The UI exposes sent, received, last activity and ledger health signals for operational review.
Protected flows use Auth.js v5 credentials, encrypted JWT sessions and the server-side AUTH_SECRET.
Moves are modeled as transaction rows with shared references for debit and credit sides.
The UI exposes auth, protected pages, payment-key resolution and transfer confirmation.
The local API is presented with mobile-first forms, motion, protected states and operational empty screens.