# Private npm registry for @bytelyst/* packages (Gitea) # Required for: pnpm install (dev + CI), Docker builds, Vercel builds GITEA_NPM_TOKEN= # Shared product identity PRODUCT_ID=invttrdg PRODUCT_DISPLAY_NAME=ByteLyst Trading # Shared platform-service endpoint PLATFORM_API_URL=http://localhost:4003/api PLATFORM_AUTH_ENABLED=true PLATFORM_JWT_ISSUER=bytelyst-platform JWT_SECRET= PLATFORM_JWT_PUBLIC_KEY= PLATFORM_JWT_JWKS_URL= # Product backend endpoint (no /api suffix — used by backend-side runtime only) TRADING_API_URL=http://localhost:4018 # Azure Key Vault — set to enable secret resolution at startup (uses Azure CLI in dev, Managed Identity in prod) AZURE_KEYVAULT_URL=https://kv-mywisprai.vault.azure.net/ # Cosmos DB control-plane storage (populated from Key Vault if AZURE_KEYVAULT_URL is set) COSMOS_ENDPOINT= COSMOS_KEY= COSMOS_DATABASE=invttrdg # Azure OpenAI (AI Foundry) — populated from Key Vault if AZURE_KEYVAULT_URL is set # When set, takes precedence over direct OPENAI_API_KEY for the openai provider slot AZURE_OPENAI_ENDPOINT=https://swedencentral.api.cognitive.microsoft.com/ AZURE_OPENAI_KEY= AZURE_OPENAI_DEPLOYMENT=gpt-4o # Web-specific public envs # IMPORTANT: VITE_TRADING_API_URL must NOT include /api — web code appends /api/... itself. NEXT_PUBLIC_PRODUCT_ID=invttrdg NEXT_PUBLIC_PLATFORM_URL=http://localhost:4003/api NEXT_PUBLIC_TRADING_API_URL=http://localhost:4018 VITE_PRODUCT_ID=invttrdg VITE_PLATFORM_URL=http://localhost:4003/api VITE_TRADING_API_URL=http://localhost:4018 # Mobile public envs # IMPORTANT: EXPO_PUBLIC_TRADING_API_URL MUST include /api — mobile strips it for socket, uses it for API calls. EXPO_PUBLIC_PRODUCT_ID=invttrdg EXPO_PUBLIC_PLATFORM_URL=http://localhost:4003/api EXPO_PUBLIC_TRADING_API_URL=http://localhost:4018/api # Backend envs PORT=4018 NODE_ENV=development CORS_ALLOWED_ORIGINS=http://localhost:3048,http://localhost:8081 # Feature flags — backend (opt-out model: omit or set =true to enable, set =false to disable) ENABLE_BACKTEST=false BACKTEST_CUSTOMER_ENABLED=false # Tab visibility for non-admin users (defaults to enabled; set =false to hide) TAB_MARKETPLACE_ENABLED=true TAB_MEMBERSHIP_ENABLED=true # Legacy data-plane fallback only. Backend auth prefers platform JWTs. SUPABASE_URL= SUPABASE_ANON_KEY= SUPABASE_SERVICE_ROLE_KEY=