# sepehrraeisi/titangold architecture

> Architecture diagram of the GitHub repository sepehrraeisi/titangold, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sepehrraeisi/titangold
- Repository: https://github.com/sepehrraeisi/titangold

## Overview

Titan Trading Autopilot is a trading and market-analysis application with a React interface and a Node backend. The visible user workflow is to inspect engine status, opportunities, and trades, then issue engine controls; the backend also exposes a distinct arbitrage scan, run-history, and settings workflow. The tree shows additional product areas for data collection, AI agents/Artemis, portfolios, and analytics. Source excerpts confirm selected dashboard, engine, arbitrage-route, and evidence-ingestion behavior; links for unsampled subsystems are therefore limited.

Main entry points: [`backend/engine/tradingEngine.js`](https://github.com/sepehrraeisi/titangold/blob/main/backend/engine/tradingEngine.js) (Trading engine), [`backend/routes/arbitrageCoreRoutes.js`](https://github.com/sepehrraeisi/titangold/blob/main/backend/routes/arbitrageCoreRoutes.js) (Arbitrage routes), [`backend/database/db.js`](https://github.com/sepehrraeisi/titangold/blob/main/backend/database/db.js) (Application database), [`components/trades/TradingEngineDashboard.tsx`](https://github.com/sepehrraeisi/titangold/blob/main/components/trades/TradingEngineDashboard.tsx) (Engine dashboard)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["Trader experience"]
  node_trade_ui["Engine dashboard"]
  node_ai_center["AI center<br/>[AICenter.tsx]"]
  node_portfolio_ui["Portfolio<br/>[Portfolio.tsx]"]
  node_arbitrage_ui["Arbitrage controls<br/>[index.tsx]"]
  node_arb_client["Arbitrage client"]
end

subgraph group_trading["Trading runtime"]
  node_trade_routes["Engine routes<br/>[trading-engine.js]"]
  node_trade_engine["Trading engine<br/>[tradingEngine.js]"]
  node_worker["Engine worker"]
  node_exchange["MEXC exchange<br/>[mexc.js]"]
  node_db[("Application database<br/>[db.js]")]
  node_portfolio_routes["Portfolio routes<br/>[portfolios.js]"]
end

subgraph group_arbitrage["Arbitrage workflow"]
  node_arb_routes["Arbitrage routes"]
  node_arb_service["Arbitrage runs"]
  node_arb_agent["Arbitrage agent<br/>[arbitrage.js]"]
end

subgraph group_intelligence["Market intelligence"]
  node_ai_agents["Analysis agents<br/>[registry.js]"]
  node_artemis["Artemis orchestration"]
  node_evidence["Evidence ingestion"]
end

subgraph group_data["Data operations"]
  node_data_hub["Data Hub<br/>[dataPipeline.js]"]
  node_fetchers["Source fetchers<br/>[apiFetcher.js]"]
end

node_trader(("Trader"))
node_external_market(("Market data"))

node_trader -->|"views and controls"| node_trade_ui
node_trade_ui -->|"requests engine data"| node_trade_routes
node_trade_routes -->|"controls and reads"| node_trade_engine
node_worker -->|"starts engine"| node_trade_engine
node_trade_engine -->|"reads and writes"| node_db
node_trade_engine -->|"uses exchange service"| node_exchange
node_trade_engine -.->|"reads market prices"| node_external_market
node_trader -->|"manages scans"| node_arbitrage_ui
node_arbitrage_ui -->|"uses contracts"| node_arb_client
node_arb_client -->|"requests arbitrage data"| node_arb_routes
node_arb_routes -->|"loads runs and settings"| node_arb_service
node_arb_routes -->|"loads scan agent"| node_arb_agent
node_arb_routes -->|"stores idempotent responses"| node_db
node_trader -->|"reviews analysis"| node_ai_center
node_ai_agents -.->|"relationship unclear"| node_artemis
node_artemis -.->|"relationship unclear"| node_evidence
node_evidence -->|"reads decision records"| node_db
node_data_hub -.->|"fetches sources"| node_fetchers
node_trader -->|"reviews holdings"| node_portfolio_ui
node_portfolio_ui -.->|"requests portfolio data"| node_portfolio_routes

click node_trade_ui "https://github.com/sepehrraeisi/titangold/blob/main/components/trades/TradingEngineDashboard.tsx"
click node_ai_center "https://github.com/sepehrraeisi/titangold/blob/main/components/AICenter.tsx"
click node_portfolio_ui "https://github.com/sepehrraeisi/titangold/blob/main/components/Portfolio.tsx"
click node_arbitrage_ui "https://github.com/sepehrraeisi/titangold/blob/main/components/ai/AIManager/index.tsx"
click node_trade_routes "https://github.com/sepehrraeisi/titangold/blob/main/backend/routes/trading-engine.js"
click node_trade_engine "https://github.com/sepehrraeisi/titangold/blob/main/backend/engine/tradingEngine.js"
click node_worker "https://github.com/sepehrraeisi/titangold/blob/main/backend/workers/engineWorkerLeader.js"
click node_exchange "https://github.com/sepehrraeisi/titangold/blob/main/backend/services/mexc.js"
click node_db "https://github.com/sepehrraeisi/titangold/blob/main/backend/database/db.js"
click node_arb_routes "https://github.com/sepehrraeisi/titangold/blob/main/backend/routes/arbitrageCoreRoutes.js"
click node_arb_service "https://github.com/sepehrraeisi/titangold/blob/main/backend/services/arbitrageRunService.js"
click node_arb_agent "https://github.com/sepehrraeisi/titangold/blob/main/backend/services/agents/arbitrage.js"
click node_arb_client "https://github.com/sepehrraeisi/titangold/blob/main/services/arbitrageCoreClient.ts"
click node_ai_agents "https://github.com/sepehrraeisi/titangold/blob/main/backend/services/agents/registry.js"
click node_artemis "https://github.com/sepehrraeisi/titangold/blob/main/backend/services/artemisOrchestrator.js"
click node_evidence "https://github.com/sepehrraeisi/titangold/blob/main/backend/services/artemisEvidenceIngestionService.js"
click node_data_hub "https://github.com/sepehrraeisi/titangold/blob/main/backend/services/dataPipeline.js"
click node_fetchers "https://github.com/sepehrraeisi/titangold/blob/main/backend/services/fetchers/apiFetcher.js"
click node_portfolio_routes "https://github.com/sepehrraeisi/titangold/blob/main/backend/routes/portfolios.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_trade_ui,node_ai_center,node_portfolio_ui,node_arbitrage_ui,node_arb_client toneBlue
class node_trade_routes,node_trade_engine,node_worker,node_exchange,node_db,node_portfolio_routes toneAmber
class node_arb_routes,node_arb_service,node_arb_agent toneMint
class node_ai_agents,node_artemis,node_evidence toneRose
class node_data_hub,node_fetchers,node_trader,node_external_market toneIndigo
```

## Components

### Trader experience

- [Engine dashboard](https://github.com/sepehrraeisi/titangold/blob/main/components/trades/TradingEngineDashboard.tsx): `components/trades/TradingEngineDashboard.tsx`
- [AI center](https://github.com/sepehrraeisi/titangold/blob/main/components/AICenter.tsx): `components/AICenter.tsx`
- [Portfolio](https://github.com/sepehrraeisi/titangold/blob/main/components/Portfolio.tsx): `components/Portfolio.tsx`
- [Arbitrage controls](https://github.com/sepehrraeisi/titangold/blob/main/components/ai/AIManager/index.tsx): `components/ai/AIManager/index.tsx`
- [Arbitrage client](https://github.com/sepehrraeisi/titangold/blob/main/services/arbitrageCoreClient.ts): `services/arbitrageCoreClient.ts`

### Trading runtime

- [Engine routes](https://github.com/sepehrraeisi/titangold/blob/main/backend/routes/trading-engine.js): `backend/routes/trading-engine.js`
- [Trading engine](https://github.com/sepehrraeisi/titangold/blob/main/backend/engine/tradingEngine.js): `backend/engine/tradingEngine.js`
- [Engine worker](https://github.com/sepehrraeisi/titangold/blob/main/backend/workers/engineWorkerLeader.js): `backend/workers/engineWorkerLeader.js`
- [MEXC exchange](https://github.com/sepehrraeisi/titangold/blob/main/backend/services/mexc.js): `backend/services/mexc.js`
- [Application database](https://github.com/sepehrraeisi/titangold/blob/main/backend/database/db.js): `backend/database/db.js`
- [Portfolio routes](https://github.com/sepehrraeisi/titangold/blob/main/backend/routes/portfolios.js): `backend/routes/portfolios.js`

### Arbitrage workflow

- [Arbitrage routes](https://github.com/sepehrraeisi/titangold/blob/main/backend/routes/arbitrageCoreRoutes.js): `backend/routes/arbitrageCoreRoutes.js`
- [Arbitrage runs](https://github.com/sepehrraeisi/titangold/blob/main/backend/services/arbitrageRunService.js): `backend/services/arbitrageRunService.js`
- [Arbitrage agent](https://github.com/sepehrraeisi/titangold/blob/main/backend/services/agents/arbitrage.js): `backend/services/agents/arbitrage.js`

### Market intelligence

- [Analysis agents](https://github.com/sepehrraeisi/titangold/blob/main/backend/services/agents/registry.js): `backend/services/agents/registry.js`
- [Artemis orchestration](https://github.com/sepehrraeisi/titangold/blob/main/backend/services/artemisOrchestrator.js): `backend/services/artemisOrchestrator.js`
- [Evidence ingestion](https://github.com/sepehrraeisi/titangold/blob/main/backend/services/artemisEvidenceIngestionService.js): `backend/services/artemisEvidenceIngestionService.js`

### Data operations

- [Data Hub](https://github.com/sepehrraeisi/titangold/blob/main/backend/services/dataPipeline.js): `backend/services/dataPipeline.js`
- [Source fetchers](https://github.com/sepehrraeisi/titangold/blob/main/backend/services/fetchers/apiFetcher.js): `backend/services/fetchers/apiFetcher.js`

### Other components

- **Trader**
- **Market data**

## Connections

- Trader → Engine dashboard: views and controls
- Engine dashboard → Engine routes: requests engine data
- Engine routes → Trading engine: controls and reads
- Engine worker → Trading engine: starts engine
- Trading engine → Application database: reads and writes
- Trading engine → MEXC exchange: uses exchange service
- Trading engine → Market data: reads market prices
- Trader → Arbitrage controls: manages scans
- Arbitrage controls → Arbitrage client: uses contracts
- Arbitrage client → Arbitrage routes: requests arbitrage data
- Arbitrage routes → Arbitrage runs: loads runs and settings
- Arbitrage routes → Arbitrage agent: loads scan agent
- Arbitrage routes → Application database: stores idempotent responses
- Trader → AI center: reviews analysis
- Analysis agents → Artemis orchestration: relationship unclear
- Artemis orchestration → Evidence ingestion: relationship unclear
- Evidence ingestion → Application database: reads decision records
- Data Hub → Source fetchers: fetches sources
- Trader → Portfolio: reviews holdings
- Portfolio → Portfolio routes: requests portfolio data
