← All Projects
06 · Project

VaultPay

Fintech wallet backend with atomic transactions, dual-mode auth validation, and zero user data ownership - built as a microservice on top of AuthShield.

FastAPIPostgreSQLRedisDockerAuthShield
↗ GitHub▶ Live Demo
Overview

VaultPay is a fintech wallet microservice responsible for balances, peer-to-peer transfers, KYC, and transaction security - while delegating all authentication concerns to AuthShield.

A strict boundary defines the system: VaultPay has no users table, never stores passwords, and never issues tokens. User identity lives entirely in AuthShield, while VaultPay operates purely on business data using user UUID references.

To balance performance and security, the system uses a dual-mode JWT validation strategy - local validation for standard requests (zero latency), and synchronous AuthShield verification for sensitive operations like PIN changes and KYC actions.

All money movement is handled through atomic database transactions, ensuring that multi-step operations either fully succeed or fully roll back. The system also maintains a complete audit trail, ensuring every success or failure is captured reliably.

The project showcases system-level thinking across service boundaries - combining authentication delegation, distributed RBAC, Redis-backed security controls, and database-enforced consistency into a production-grade architecture.

6Atomic transfer flow
4RBAC tiers
DualJWT validation
DecoupledAuth service design
Tech Stack

TOOLS &
TECHNOLOGIES.

TECH.01
FastAPI
TECH.02
PostgreSQL
TECH.03
Redis
TECH.04
Docker
TECH.05
AuthShield
Key Highlights

WHAT MAKES IT
STAND OUT.

6Step atomic transfer (full rollback)
0User data stored in service DB
4RBAC tiers across services
AES-256KYC data encryption
AuthFully delegated to AuthShield
RedisSecurity + state management
Challenges & Solutions

WHAT WAS HARD.
HOW I SOLVED IT.

Critical Challenge

Ensuring consistency across multi-step money transfers without partial failures.

Engineered Solution

Executed all transfer steps inside a single atomic DB transaction. On failure, the entire operation rolls back, with failed transactions recorded separately for audit visibility.

Critical Challenge

Balancing JWT security with performance across high-frequency endpoints.

Engineered Solution

Implemented dual-mode validation - local JWT verification for standard requests, and AuthShield verification for sensitive operations to ensure up-to-date security state.

Critical Challenge

Detecting untrusted IP activity without adding latency to every transaction.

Engineered Solution

Stored trusted IPs in Redis with TTL-based validation, enabling sub-millisecond checks and deferred verification for new IPs.

Core Architecture

HOW IT'S
ALL WIRED UP.