Invest

Koder Invest

  • *rea:*Industry Solutions (Fintech)
  • *ath:*products/vertical/invest/engine
  • *ind:*Multi-asset trading platform — Go API + Flutter client
  • *ersion:*0.2.0
  • *tatus:*Active — paper trading live at bull.koder.dev

Role in the stack

Koder Invest is the hyperscale global investment platform — stocks, ETFs, crypto, forex, fixed income, and derivatives unified under a single account, wallet, and tax view. It serves retail investors who want professionalgrade tools and power users who demand lowlatency execution.

The platform consists of:

  • *investapi`*— Go HTTP gateway (REST + WebSocket) handling OMS, portfolio, KYC, social trading, roboadvisor, notifications, and news
  • *investmarketdata`*— Go market data service (quotes, bars, WebSocket fanout)
  • *lutter app*(flutter_app/) — Web, Android, and Linux clients with trading UI, charts, portfolio view, news, and settings

Primary couplings

Module Relationship
services/foundation/id/platform User authentication and KYC via OIDC
infra/jet TLS reverse proxy for invest-api.koder.dev and bull.koder.dev
Binance API Crypto venue adapter (live or paper)
Alpaca API US equities venue adapter (live or paper)
Firebase FCM Push notification delivery

Public Interfaces

*EST API*(documented at https://invest-api.koder.dev/docs):

  • POST /v1/orders — submit marketlimitstopOCObracket orders
  • GET /v1/orders?page=N&per_page=N — paginated order list
  • GET /v1/portfolio — consolidated portfolio with live values
  • GET /v1/positions?page=N — paginated holdings
  • GET /v1/notifications?page=N — notification inbox
  • GET /v1/watchlists?page=N, GET /v1/alerts?page=N — watchlists and price alerts
  • GET /v1/news?page=N&class=equity — market news feed
  • GET /v1/social/leaderboard — public copy-trading strategies
  • GET /v1/robo/goals — robo-advisor goals
  • GET /docs — Swagger UI
  • GET /docs/openapi.yaml — raw OpenAPI 3.0 spec
  • GET /v1/ws/portfolio — WebSocket live portfolio stream

Pagination Standard

All list endpoints use ?page=1&per_page=50 and return:

{"data": [...], "pagination": {"page":1,"per_page":50,"count":50,"has_more":true}}

Source: ../home/koder/dev/koder/meta/docs/stack/modules/invest.md