Backend Developer (blockchain)
Summary
Build and maintain backend services for a fintech platform integrating fiat and crypto payments, wallets, and KYC/AML compliance using TypeScript, NestJS, and PostgreSQL.
Our client builds a multi-sided fintech platform designed to serve both individual consumers and business merchants through a unified financial infrastructure. The platform is built on top of SquareFi, a licensed Banking-as-a-Service (BaaS) provider, which handles regulated financial operations including IBAN provisioning, payment rails, KYC/AML screening, and crypto asset custody.
Requirements:
Extensive experience with TypeScript and NestJS building production backend services, ideally with a modular/microservice-style codebase (feature modules, DI, decorators) rather than a monolith with no boundaries.
Strong background in PostgreSQL and Prisma ORM — schema/migration design, indexing, and query optimization for transaction-heavy, concurrent workloads.
Hands-on experience integrating third-party financial infrastructure providers (custody/MPC wallets, payment rails, KYC/KYB/AML vendors) via REST APIs and signed webhooks, with solid instincts for idempotency, retries, and signature verification.
Working knowledge of fiat-crypto flows: wallet provisioning, deposits/withdrawals, address management, and multi-network asset handling.
Practical understanding of KYC/AML processes — applicant lifecycle, review/verification states, and the recordkeeping regulated fintechs need.
Experience designing ledger-style systems: balance calculations, transaction reconciliation, and keeping internal state consistent with external provider truth.
Familiarity with JWT-based auth, refresh-token rotation/reuse detection, and role- or session-based access control for multi-surface products (e.g. consumer, merchant, admin).
Comfortable with Bun (or a similarly modern Node.js runtime/package manager), Docker-based deployments, and zod/class-validator-style input validation.
Responsibilities:
Design and build backend services in NestJS/TypeScript spanning consumer wallets, merchant payment flows, and admin tooling behind shared auth and account lifecycle logic.
Own integrations with custody and KYC/KYB providers end-to-end: outbound API calls, inbound webhook ingestion, signature/HMAC verification, delivery dedupe, and reconciliation against provider-reported state.
Implement and maintain ledger-accurate deposit, withdrawal, sweep, and settlement logic across fiat and crypto rails, including fee handling and refund/retry paths.
Build transaction reconciliation and balance-calculation logic that stays correct under concurrent writes and provider outages (snapshotting, replay-safe processing).
Optimize PostgreSQL/Prisma access patterns and add targeted indexes as new query patterns emerge from financial reporting and transaction-history features.
Enforce coded error handling, DTO-level input validation, and API documentation standards on every new endpoint.