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:
| Subproject | Stack | Port | Description |
|---|---|---|---|
vezta-fe/ | Next.js 16, React 19, Tailwind v4, TanStack Query v5 | 3000 | Web frontend |
vezta-be/ | NestJS, Fastify, Prisma, PostgreSQL, Redis, BullMQ | 3001 | Backend 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
/wsnamespace 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_tokenhttpOnly,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>').
Quick Links
- 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