VRM One Click

Low-latency Open Banking Variable Recurring Payments platform in Go with distributed saga orchestration and under 500 ms one-click deposit settlements.

Completed
gogrpcopen-bankingpostgresqltransactional-outboxsaga-orchestrationkubernetesfintech

VRM One Click — Open Banking Deposit Platform

A high-performance Open Banking Variable Recurring Payments (VRP / OBIE v3.1.8+) deposit platform built in Go. Users authenticate once to establish a parameterized payment consent, after which recurring one-click deposits settle in under 500 ms without additional redirects, biometric prompts, or OTP friction.

Distributed Saga & Compensation

Deposit workflows are managed via a six-step distributed saga with non-short-circuiting compensation semantics:

  1. Consent Verification: Validates active bank mandate limits and scope.
  2. Risk Check: Real-time scoring and velocity checks.
  3. Bank Execution: Direct bank-to-bank instant settlement API dispatch.
  4. Ledger Booking: Records journal entries in an immutable double-entry ledger.
  5. Settlement Confirmation: Verifies funds delivery with the clearing network.
  6. Confirmation & Outbox: Emits audited notification events downstream.

If a failure occurs at any late stage, the compensation matrix systematically unwinds preceding steps to guarantee zero stranded funds.

Technical Highlights

  • Stale Transaction Reconciliation: Background workers proactively poll stale in-flight transactions using FOR UPDATE SKIP LOCKED and sync state against banking APIs.
  • Strict Atomicity: Payment statuses, audit logs, and transactional outbox entries are committed within single atomic PostgreSQL transactions.
  • Observability: Distributed tracing with W3C traceparent headers integrated directly into structured slog logging.

Technology Stack

  • Language & Runtime: Go 1.26
  • Protocols & Standards: gRPC, Open Banking UK (OBIE v3.1.8+)
  • Storage & Messaging: PostgreSQL, Transactional Outbox, Immutable Double-Entry Ledger
  • Platform: Kubernetes, Docker, C4 Architecture Documentation