How siabang35/exoduze works
ExoDuZe is a Solana-based AI forecasting competition platform. Users browse live sector markets, stake and deploy forecasting agents, then follow predictions and weighted leaderboards; completed competitions settle prizes on-chain. The backend also ingests multi-sector market and sports feeds, forms competition inputs, updates probability curves, and manages agent evaluation and competition lifecycle. Major documented capabilities are represented, including realtime UI updates, prize pools, and settlement. Some connections reflect README-level architecture because the sampled source excerpts are partial.
Main entry points: page.tsx Web app · agent-runner.service.ts Agent runner · curve-engine.service.ts Probability curves · agents.controller.ts Agent API
Components 23
User experience
- Web app
app/src/app/page.tsx - Agent controls
app/src/components/AgentManager.tsx - Realtime hooks
app/src/hooks/useRealtimeMarkets.ts
Market data
- Sector ETL
api/src/modules/markets/etl - Sports ETL
api/src/modules/sports/sports-etl-orchestrator.service.ts - Market API
api/src/modules/markets/market-data.controller.ts - Cluster ingestion
api/src/modules/competitions/services/etl-ingestion.service.ts
Forecasting competitions
- Competition lifecycle
api/src/modules/competitions/services/competition-manager.service.ts - Competition API
api/src/modules/competitions/competitions.controller.ts - Probability curves
api/src/modules/markets/curve-engine.service.ts - Agent API
api/src/modules/agents/agents.controller.ts - Agent runner
api/src/modules/agents/services/agent-runner.service.ts - LLM inference
api/src/modules/agents/services/qwen-inference.service.ts - Leaderboard scoring
api/src/modules/competitions/services/leaderboard-scoring.service.ts
Platform services
- Authentication
api/src/modules/auth/auth.service.ts - User services
api/src/modules/users/users.service.ts
Stakes and settlement
- Pool operations
api/src/modules/pool/pool.controller.ts - Pool service
api/src/modules/pool/pool.service.ts - Solana program
programs/smart-contract/src/lib.rs
Other components
- User
- Data providers
- Supabase
- LLM services
Connections 33
- User → Web app: uses
- Web app → Market API: requests market data
- Web app → Competition API: browses competitions
- Web app → Agent API: manages agents
- Web app → Pool operations: claims prizes
- Web app → Realtime hooks: subscribes realtime
- Realtime hooks → Supabase: receives updates
- Agent controls → Agent API: loads predictions
- Sector ETL → Data providers: fetches sector data
- Sports ETL → Data providers: fetches sports data
- Sector ETL → Cluster ingestion: supplies clusters
- Cluster ingestion → Supabase: reads competitions; writes clusters
- Cluster ingestion → Probability curves: requests snapshots
- Sports ETL → Supabase: writes sync records
- Competition lifecycle → Supabase: manages competitions
- Competition API → Competition lifecycle: dispatches lifecycle
- Market API → Supabase: reads market data
- Agent API → Agent runner: dispatches agent actions
- Agent runner → LLM inference: requests forecasts
- LLM inference → LLM services: queries models
- Agent runner → Supabase: records predictions
- Agent runner → Probability curves: updates from forecasts
- Probability curves → Supabase: stores curve history
- Probability curves → Market API: publishes updates
- Leaderboard scoring → Supabase: reads scoring inputs
- Agent API → Leaderboard scoring: requests rankings
- Authentication → Supabase: verifies identities
- Authentication → User services: looks up users
- Pool operations → Pool service: dispatches claims
- Pool service → Supabase: reads pool state
- Pool service → Solana program: settles prizes
- User → Solana program: stakes on-chain
- Web app → Solana program: submits stake transaction