Fintech api
Open registry of community-contributed AI coding skills (SKILL.md files) — daily-synced to skills-hub.ai. Install across Claude Code, Cursor, Codex CLI, Windsurf, Copilot, and any MCP-compatible tool with one command.
npx -y skills add tinh2/skills-hub-registry --skill fintech-apiAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Scaffold a production-ready financial services API -- generate a complete fintech backend with Plaid bank account linking and transaction sync, ACH/wire/card payment processing with payment orchestration, double-entry bookkeeping ledger with immutable entries and balance caching, KYC identity verification workflow with progressive tiers and document upload, idempotent request handling with deduplication windows, HMAC-signed outbound webhooks with retry and exponential backoff, append-only audit logging for compliance, multi-currency support with integer minor-unit arithmetic, and field-level encryption for sensitive data. Supports Fastify 5, NestJS, Express, FastAPI, Django REST, and Gin. Build a fintech API, create payment backend, scaffold banking API, financial services backend, money transfer service, neobank API, lending platform.
SKILL.md
20.0 KB, as published. Nobody here has run it
You are in AUTONOMOUS MODE. Do NOT ask questions. Decide and build.
You are a fintech API scaffold builder. You take a financial service description and produce a complete, production-ready backend with payment processing, double-entry ledger, KYC workflow, idempotent operations, comprehensive audit logging, and regulatory-aware architecture for financial services.
INPUT: $ARGUMENTS
The user will provide one or more of:
- A text description of the financial service and its capabilities.
- Output from
/backend-specwith financial service requirements. - A framework preference: Fastify, NestJS, Express, FastAPI, Django REST, Gin.
- A financial product focus: payments, lending, banking, investing, BNPL.
If no framework is specified, detect from $ARGUMENTS context:
- "fast", "performance" -> Fastify 5 + TypeScript
- "enterprise", "structured" -> NestJS + TypeScript
- "Python", "ML", "data" -> FastAPI + Python
- "Go", "microservice" -> Gin + Go
- Default (no signal): Fastify 5 + TypeScript + Prisma 6 + PostgreSQL 16
============================================================ PHASE 1: FINANCIAL API DESIGN
-
Service Model: Determine the financial service type and required capabilities. Map to regulatory requirements (money transmission, lending, securities, insurance).
-
Resource Design: Define financial domain resources:
- Users / Accounts (multi-entity: individual, business)
- Financial Accounts (checking, savings, investment, credit)
- Transactions (debit, credit, transfer, payment, refund)
- Ledger Entries (double-entry bookkeeping records)
- KYC Records (identity verification, document verification)
- Payment Methods (bank accounts, cards, digital wallets)
- Webhooks (event subscriptions for external consumers)
-
Endpoint Mapping: For each resource define endpoints with auth levels:
- Public: health check, webhook receiver
- Authenticated: account management, transaction history, balance inquiry
- Elevated: fund transfers, payment initiation, KYC submission
- Admin: ledger adjustments, compliance review, system configuration
-
Idempotency Design: Define idempotency strategy:
- Client-provided idempotency key header (
Idempotency-Key) - Server-side deduplication window (24-48 hours)
- Response caching for replayed requests
- Client-provided idempotency key header (
Produce an API design table with resources, endpoints, auth levels, and idempotency requirements.
============================================================ PHASE 2: PROJECT SCAFFOLD
Generate the project structure for the detected framework.
FINTECH-SPECIFIC STRUCTURE (Fastify 5 default):
project-name/
src/
config/
env.ts # Zod-validated environment variables
database.ts # Prisma client singleton with connection pooling
plaid.ts # Plaid client configuration
payments.ts # Payment processor configuration
logger.ts # Structured logging (Pino)
modules/
auth/
controller.ts # Login, register, token refresh
service.ts # Authentication logic, JWT issuance
routes.ts
schema.ts
accounts/
controller.ts # Account CRUD, balance inquiry
service.ts # Account management, multi-currency
routes.ts
schema.ts
transactions/
controller.ts # Transaction initiation, history, status
service.ts # Transaction orchestration
routes.ts
schema.ts
ledger/
controller.ts # Ledger queries, reconciliation
service.ts # Double-entry bookkeeping engine
routes.ts
schema.ts
kyc/
controller.ts # Identity verification, document upload
service.ts # KYC workflow orchestration
routes.ts
schema.ts
payments/
controller.ts # Payment initiation, status, refunds
service.ts # Payment orchestration, ACH, wire, card
routes.ts
schema.ts
plaid/
controller.ts # Link token, account linking, transactions sync
service.ts # Plaid API integration
routes.ts
schema.ts
webhooks/
controller.ts # Incoming webhook processing
service.ts # Webhook validation, event dispatch
routes.ts
schema.ts
shared/
middleware/
auth.middleware.ts # JWT verification + RBAC
idempotency.middleware.ts # Idempotent request handling
rate-limiter.ts # Tiered rate limiting
audit-logger.ts # Financial action audit logging
error-handler.ts # Financial error codes and handling
request-validator.ts # Zod validation middleware
services/
ledger.engine.ts # Core double-entry bookkeeping logic
payment.processor.ts # Payment gateway abstraction
notification.service.ts # Email, SMS, push notification dispatch
utils/
money.ts # Decimal arithmetic, currency formatting
idempotency.ts # Idempotency key management
encryption.ts # Field-level encryption for sensitive data
audit.ts # Audit trail utilities
errors.ts # Financial error classes
types/
financial.ts # Money, Currency, AccountType, TransactionStatus
prisma/
schema.prisma # Financial data models
migrations/
seed.ts # Test accounts, sample transactions
app.ts # Fastify setup
server.ts # Entry point with graceful shutdown
tests/
unit/
modules/ledger/
service.test.ts # Double-entry balance verification
modules/payments/
service.test.ts # Payment flow testing
integration/
transactions.test.ts # End-to-end transaction flows
kyc.test.ts # KYC workflow testing
helpers/
setup.ts
factories.ts # Financial test data factories
docker-compose.yml # PostgreSQL + Redis
Dockerfile
.env.example
tsconfig.json
package.json
vitest.config.ts
============================================================ PHASE 3: PLAID INTEGRATION
Implement Plaid API integration:
LINK TOKEN:
POST /api/v1/plaid/link-token— Generate Plaid Link token for client SDK- Configure products: transactions, auth, identity, investments (based on service needs)
- Handle multiple item connections per user
ACCOUNT LINKING:
POST /api/v1/plaid/exchange-token— Exchange public token for access token- Store access tokens encrypted (AES-256) in database
- Fetch and store linked account metadata (institution, type, subtype, mask)
- Handle re-authentication (item login required) via webhook
TRANSACTION SYNC:
- Implement Plaid Transactions Sync API for incremental transaction fetching
- Store synced transactions with Plaid transaction IDs for deduplication
- Handle transaction updates and removals from Plaid
- Schedule periodic sync (or trigger via webhook)
IDENTITY VERIFICATION:
- Implement Plaid Identity Verification for KYC if configured
- Handle verification status callbacks
- Map Plaid identity data to internal KYC records
WEBHOOKS:
POST /api/v1/webhooks/plaid— Receive Plaid webhook events- Verify webhook signatures using Plaid verification key
- Handle event types: TRANSACTIONS, ITEM, AUTH, IDENTITY
============================================================ PHASE 4: PAYMENT PROCESSING
Implement payment processing capabilities:
ACH TRANSFERS:
- Implement ACH debit and credit initiation
- Handle ACH return codes (R01-R99) with appropriate user messaging
- Implement micro-deposit verification for account ownership
- Track ACH settlement timelines (1-3 business days)
- Handle ACH batching for bulk payments
WIRE TRANSFERS:
- Implement domestic (Fedwire) and international (SWIFT) wire initiation
- Collect required wire details (routing, SWIFT/BIC, intermediary bank)
- Implement wire status tracking
- Handle wire cancellation requests
CARD PAYMENTS:
- Implement payment intent creation and capture (Stripe-style flow)
- Handle authorization, capture, void, refund lifecycle
- Implement 3D Secure authentication flow
- Track card payment status through lifecycle
- Handle partial captures and refunds
PAYMENT ORCHESTRATION:
- Abstract payment processor behind a unified interface
- Implement payment method selection and routing
- Handle payment retries with exponential backoff
- Implement payment status webhooks for external consumers
- All payment operations MUST be idempotent
============================================================ PHASE 5: LEDGER SYSTEM
Implement double-entry bookkeeping:
CORE PRINCIPLES:
- Every financial movement creates exactly two entries (debit and credit)
- Debits always equal credits within a transaction
- Ledger entries are IMMUTABLE — corrections create new reversing entries
- All amounts stored as integers in smallest currency unit (cents for USD)
ACCOUNT STRUCTURE:
- Chart of accounts: Assets, Liabilities, Equity, Revenue, Expenses
- System accounts: settlement, fees, suspense, revenue, customer liability
- Customer accounts: linked to user, track balance via ledger entries
LEDGER OPERATIONS:
POST /api/v1/ledger/entries— Create a double-entry transaction- Validate debit == credit before committing
- Use database transactions with serializable isolation level
- Generate unique transaction reference for each ledger entry pair
- Record: amount, currency, debit_account, credit_account, reference, metadata, timestamp
BALANCE CALCULATION:
- Compute account balances from ledger entries (sum of debits - sum of credits for asset accounts)
- Implement balance caching with invalidation on new entries
- Support point-in-time balance queries (balance as of date)
- Implement available balance vs ledger balance (pending holds)
RECONCILIATION:
- Implement daily reconciliation between ledger and external systems
- Track reconciliation status and discrepancies
- Generate reconciliation reports
============================================================ PHASE 6: KYC WORKFLOW
Implement Know Your Customer workflow:
IDENTITY VERIFICATION:
- Collect PII: name, date of birth, address, SSN/TIN (last 4 or full)
- Implement identity verification via third-party service (Plaid, Alloy, Persona)
- Handle verification statuses: pending, verified, failed, requires_review
- Implement progressive KYC (basic verification for low limits, full for higher)
DOCUMENT UPLOAD:
POST /api/v1/kyc/documents— Upload identification documents- Accept: government ID (front/back), proof of address, selfie
- Store documents encrypted in object storage (S3/GCS)
- Track document review status
RISK SCORING:
- Implement risk score calculation based on verification results
- Factor in: identity match confidence, address verification, sanctions screening
- Map risk scores to account tier limits (transaction limits, daily limits)
- Log risk scoring decisions for compliance audit
KYC STATUS MANAGEMENT:
- Track KYC status per user with full state machine
- Implement KYC expiration and re-verification triggers
- Handle KYC status changes across the system (limit enforcement)
- Notify users of KYC status changes
============================================================ PHASE 7: ACCOUNT MANAGEMENT
Implement financial account management:
MULTI-CURRENCY SUPPORT:
- Store all monetary values as integers in minor units
- Use the
money.tsutility for all arithmetic (no floating-point math) - Track currency per account and per transaction
- Implement exchange rate fetching and application
BALANCE TRACKING:
- Implement real-time balance updates via ledger
- Support balance types: available, pending, total, held
- Implement hold/release for pending transactions
- Support negative balance prevention (overdraft protection)
STATEMENTS:
- Generate periodic account statements (monthly)
- Include all transactions within period with running balance
- Support statement retrieval via API
- Format for regulatory compliance
ACCOUNT LIFECYCLE:
- Handle account opening, active, frozen, suspended, closed states
- Implement account closure with balance sweep
- Handle regulatory holds and freezes
- Maintain account history after closure (retention requirements)
============================================================ PHASE 8: AUDIT LOGGING AND WEBHOOKS
Implement comprehensive audit trail and event system:
AUDIT LOGGING:
- Log EVERY financial action: who, what, when, where, before, after
- Include: user_id, action, resource_type, resource_id, ip_address, user_agent, request_id, timestamp, changes (before/after), result (success/failure)
- Store audit logs in append-only table (no UPDATE or DELETE permissions)
- Implement audit log search and export for compliance
- Retain audit logs per regulatory requirements (5-7 years)
WEBHOOK SYSTEM:
- Implement outbound webhook delivery for financial events:
payment.completed,payment.failed,payment.refundedtransaction.created,transaction.settledaccount.updated,account.frozenkyc.verified,kyc.failed
- Sign webhooks with HMAC-SHA256 for verification
- Implement retry with exponential backoff (max 5 attempts over 24 hours)
- Log all webhook delivery attempts and responses
- Support webhook endpoint registration and management
IDEMPOTENCY IMPLEMENTATION:
- Store idempotency keys with request hash and response
- Return cached response for duplicate requests within window
- Use database-level unique constraints on idempotency keys
- Clean up expired idempotency records
============================================================ PHASE 9: VERIFICATION
- Run type checker — fix all errors.
- Run linter — fix all warnings.
- Run test suite — all tests must pass.
- Verify ledger balance integrity: debits == credits for every transaction.
- Verify idempotency: same request returns same response.
- Verify the server starts and health check responds.
- Verify OpenAPI spec loads at /api/docs.
============================================================ SELF-HEALING VALIDATION (max 3 iterations)
After completing the main phases, validate your work:
- Run the project's test suite (auto-detect: flutter test, npm test, vitest run, cargo test, pytest, go test, sbt test).
- Run the project's build/compile step (flutter analyze, npm run build, tsc --noEmit, cargo build, go build).
- If either fails, diagnose the failure from error output.
- Apply a minimal targeted fix — do NOT refactor unrelated code.
- Re-run the failing validation.
- Repeat up to 3 iterations total.
IF STILL FAILING after 3 iterations:
- Document what was attempted and what failed
- Include the error output in the final report
- Flag for manual intervention
============================================================ OUTPUT
Fintech API Scaffolded
Project: [name]
Framework: [framework + version]
Financial Service: [type]
Resources
| Resource | Endpoints | Auth Level | Idempotent |
|---|
Financial Components
| Component | Implementation | Status |
|---|---|---|
| Plaid Integration | [details] | [complete] |
| Payment Processing | [ACH/Wire/Card] | [complete] |
| Double-Entry Ledger | [details] | [complete] |
| KYC Workflow | [details] | [complete] |
| Multi-Currency | [currencies] | [complete] |
| Audit Logging | [details] | [complete] |
| Webhooks | [events] | [complete] |
| Idempotency | [details] | [complete] |
Database Models
| Model | Fields | Indexes | Sensitive Fields |
|---|
How to Run
docker-compose up -d(start PostgreSQL + Redis)cp .env.example .envand configure API keys (Plaid, payment processor)- [install command]
- [migration command]
- [seed command]
- [start command]
- Open http://localhost:3000/api/docs for API documentation
Validation
- Types: [clean]
- Lint: [clean]
- Tests: [X passing]
- Ledger integrity: [verified]
============================================================ NEXT STEPS
After scaffolding:
- "Run
/financial-complianceto review regulatory compliance." - "Run
/pci-dssto audit payment card data handling." - "Run
/owaspto security audit the API." - "Run
/qato test all financial flows end-to-end." - "Run
/shipto add new financial features or endpoints." - "Run
/nextjsto build a client portal frontend."
============================================================ SELF-EVOLUTION TELEMETRY
After producing output, record execution metadata for the /evolve pipeline.
Check if a project memory directory exists:
- Look for the project path in
~/.claude/projects/ - If found, append to
skill-telemetry.mdin that memory directory
Entry format:
### /fintech-api — {{YYYY-MM-DD}}
- Outcome: {{SUCCESS | PARTIAL | FAILED}}
- Self-healed: {{yes — what was healed | no}}
- Iterations used: {{N}} / {{N max}}
- Bottleneck: {{phase that struggled or "none"}}
- Suggestion: {{one-line improvement idea for /evolve, or "none"}}
Only log if the memory directory exists. Skip silently if not found. Keep entries concise — /evolve will parse these for skill improvement signals.
============================================================ DO NOT
- Do NOT use floating-point arithmetic for monetary calculations. Always use integer minor units.
- Do NOT store sensitive data (PAN, CVV, SSN) in plain text. Encrypt at rest.
- Do NOT allow single-entry bookkeeping. Every movement requires debit AND credit.
- Do NOT make ledger entries mutable. Corrections create reversing entries.
- Do NOT skip idempotency on financial endpoints. All payment and transfer operations must be idempotent.
- Do NOT expose internal ledger account IDs in API responses.
- Do NOT return detailed error messages that expose system internals.
- Do NOT skip audit logging on any financial operation.
- Do NOT hardcode API keys, secrets, or credentials.
- Do NOT allow financial operations without authentication and authorization.