VeztaVezta

Developer Overview

Monorepo structure, tech stack, and architecture diagram

Vezta is a monorepo with three code subprojects (frontend, backend, docs) plus a planned mobile app:

SubprojectStackPortDescription
vezta-fe/Next.js 16, React 19, Tailwind v4, TanStack Query v53000Web frontend
vezta-be/NestJS, Fastify, Prisma, PostgreSQL, Redis, BullMQ3001Backend API (9-container worker split per VM)
vezta-mobile/Expo SDK 55, React Native, NativeWind v4, Reanimated v4--Mobile app (planned, designs only)
vezta-docs/Next.js, Fumadocs, MDX--This documentation site

Data Flow

Key Concepts

  • API Contract: Backend auto-exports openapi.json. Frontend uses Kubb to generate TypeScript types, Zod schemas, and TanStack Query hooks from this spec.
  • Real-Time: Socket.IO at /ws namespace with 9 channels for prices, orderbook, trades, crypto prices, orders, notifications, portfolio, copy-trade, and signals (news + insider alerts).
  • Auth: Wallet-based authentication (Solana + EVM) plus Google OAuth, with three-cookie web session (refresh_token httpOnly, logged_in, beta_access) and 15-min access tokens stored in memory.
  • Trading: Polymarket via per-user Gnosis Safe (1-of-1) on Polygon, gasless via Builder Relayer. Kalshi via DFlow (tokenized markets on Solana, non-custodial -- user signs each trade with their own Solana wallet).
  • Worker split: 9 containers per VM (api + traders + market + misc + websocket + rtds + ai + sports + combos) sharing the same image. Domain ownership enforced at the provider level via backgroundOnly([Processor, Scheduler], '<domain>').
  • Quickstart — Get the dev environment running in 5 minutes
  • Tech Stack — Detailed breakdown of all technologies
  • Architecture — System design, data model, and pipelines
  • API Reference — REST endpoints auto-generated from OpenAPI
  • WebSocket Reference — All real-time channels documented

On this page