FINTECH / P2C / TELEGRAM

One QR-payment workflow for customers, traders and administrators

QR Oplata is a P2C platform where a customer creates a QR payment against an internal USDT balance, a trader manually performs the fiat-side transaction, and the system carries the order through reservation, queueing, hold, dispute and financial ledger states.

  • NestJS
  • TypeScript
  • Prisma
  • PostgreSQL
  • Redis
  • React / Vite
  • grammY
  • Docker Compose
QR Oplata — project preview

Why QR Oplata was created

Why QR Oplata was created

P2C QR payment requires three roles to coordinate while preserving the exact state of funds at every step. QR Oplata turns that process into a managed product: a simple customer journey, a trader order queue and complete operational visibility for administrators.

Who the system serves

The product serves customers with an internal USDT balance, verified traders and the operations team. Each role has a dedicated interface: QR Oplata User, QR Oplata Trader and QR Oplata Admin.

01

Challenge

The system had to connect QR resolution, rate calculation, fund reservation, competitive trader claiming and final settlement without processing an order twice and while keeping every balance change traceable.

02

Solution

We built a TypeScript monorepo with a NestJS backend, PostgreSQL, Prisma, Redis, a Telegram bot and three React interfaces. Business rules live in server-side services, while all roles share one model for orders, wallets, ledger entries, holds, disputes and audit.

Capabilities

Product capabilities

The capabilities support one operating scenario and share common state, control and analytics.

01

QR resolution

The system parses a payment payload, extracts amount and recipient details, and requests a manual amount for static QR codes.

02

Calculation and reservation

Before order creation, the backend calculates the USDT amount and fee, then moves customer funds from available to reserved.

03

Trader queue

A new order appears in a shared queue where an eligible active trader can claim it.

04

Order execution

The trader receives the QR and amount, performs the fiat-side payment outside the platform and confirms completion.

05

Holds and disputes

Trader earnings remain on hold until release, while customers can open a dispute for administrative review.

06

Administrative control

The admin interface covers users, traders, orders, wallets, ledger, holds, disputes, rate settings and the action log.

Outcome

Outcome

QR Oplata brings the complete P2C journey into one product: QR scanning and USDT reservation, manual trader payment, hold, dispute and administrative review. Each role receives the right interface while the financial state retains one consistent history.

NestJS TypeScript Prisma PostgreSQL Redis React / Vite grammY Docker Compose

New project

Working on a similar task?

Describe the current situation and the outcome you need. We will understand the context and propose a practical first stage.