Open Agent Specs
1. Multi-Agent Orchestration Pipeline
When you ask a crypto-related question, Assistant Hub routes it through a 3-agent pipeline. Agents A and B run in parallel for speed, then Agent C synthesizes their outputs into a structured report.
| Parameter | Value |
|---|---|
| Per-agent timeout | 25 seconds |
| Pipeline timeout | 90 seconds |
| Parallel execution | Agent A + B via Promise.allSettled |
| Fallback chain | Agent B falls back from Groq → Gemini if unavailable |
2. Agent A — Sentiment Analyst
🌱 Sentiment Agent System Prompt
You are a crypto market sentiment analyst. Focus ONLY on: market narrative, social sentiment, community positioning, fear/greed signals, news catalysts, and short-term trader psychology. Be concise (3-5 sentences). End your response with: Sentiment Signal: [Bullish/Bearish/Neutral] | Confidence: [High/Medium/Low]
Agent A specializes in reading the crypto market's "mood" — social media sentiment, fear/greed signals, news catalysts, and trader psychology. It outputs a directional signal (Bullish/Bearish/Neutral) with a confidence level.
3. Agent B — Technical Analyst
📈 Technical Agent System Prompt
You are a quantitative crypto analyst. Focus ONLY on: price action, technical indicators (RSI, moving averages), volume trends, on-chain metrics, support/resistance levels, and chart patterns. Be concise (3-5 sentences). End your response with: Technical Signal: [Bullish/Bearish/Neutral] | Key Level: $[price or "N/A"]
Agent B focuses on quantitative analysis — price action, RSI, moving averages, volume trends, support/resistance levels, and on-chain metrics. It provides a technical signal with a key price level to watch.
4. Agent C — Synthesis
🧠 Synthesis Agent System Prompt
You are a senior crypto research synthesizer.
You receive sentiment analysis (Agent A) and technical analysis (Agent B) from two
specialized agents, then combine them into a final structured report.
You MUST respond with ONLY a JSON object in this exact format (no markdown, no code fences):
{
"outlook": "Bullish" or "Bearish" or "Neutral",
"conviction": "High" or "Medium" or "Low",
"keyInsight": "1 sentence combining the most important signal from both agents",
"actionWatch": "1 sentence on what to monitor in the next 24-48 hours",
"riskNote": "1 sentence on the main risk to this thesis"
}
Agent C receives the outputs from both Agent A and Agent B, then combines them into a final structured report with an outlook, conviction level, key insight, action watch, and risk note.
5. Provider Router
The Provider Router manages connections to all LLM providers with built-in resilience:
- Circuit breaker — If a provider fails, it's marked unavailable for 2 minutes before retry. This prevents cascading failures from overwhelming a struggling API.
- Availability cache — Provider availability is cached for 30 seconds to reduce overhead on repeated health checks.
- In-flight deduplication — Concurrent requests to the same provider are deduplicated to prevent redundant API calls.
- Automatic fallback — When a primary provider is unavailable, the router automatically tries the next provider in the chain.
| Provider | Models | Use Case |
|---|---|---|
| Gemini (Google) | gemini-2.5-flash | Synthesis, general chat, backtesting custom strategies |
| Grok (xAI) | grok-3-mini | Sentiment analysis, real-time market narrative |
| Groq Cloud | llama-3.3-70b-versatile | Technical analysis (fast inference) |
| Ollama (local) | llama3.2 | Offline/local inference (dev only) |
6. Intent Classifier
Before routing to a provider, each user message is classified into one of 7 intent categories. This enables smart routing — sending questions to the most appropriate model.
| Intent | Description | Preferred Provider |
|---|---|---|
| RWA | Real-world asset tokenization queries | Gemini |
| NFT | NFT markets, collections, minting | Grok |
| Airdrop | Airdrop eligibility, farming strategies | Grok |
| DeFi | DeFi protocols, yield, liquidity | Gemini |
| Sentiment | Market mood, social signals | Grok |
| Logic | Math, code, structured reasoning | Groq Cloud |
| General | Everything else | User's default |
7. Autonomous Agent System
Users with Premium tier can deploy autonomous agents that monitor markets and execute paper trades based on predefined conditions.
Evaluation Loop
- Frequency — Every 60 seconds
- Startup delay — 15 seconds (lets price caches warm first)
- Data source — Shared market snapshot from cached prices, Fear & Greed, BTC dominance, and Pulse sentiment (zero additional API calls)
Condition Engine
Agents evaluate entry and exit conditions using a comparator system:
| Metric | Comparators | Example |
|---|---|---|
| price | gt, lt, gte, lte, eq | BTC price > $100,000 |
| fear_greed | gt, lt, gte, lte | Fear & Greed < 25 (extreme fear) |
| btc_dominance | gt, lt, gte, lte | BTC dominance > 60% |
| pulse_sentiment | eq | Daily Pulse = "bearish" |
Safety Limits
- Maximum 5 agents per user
- Maximum position size: $100,000 (virtual)
- Minimum cooldown: 60 seconds between actions
- Entry conditions: ALL must be true (AND logic)
- Exit conditions: ANY can trigger (OR logic)
8. Persona System
Users can create custom AI personas with distinct communication styles and expertise areas. The persona system includes:
- Memory feedback loop — Personas learn from marked positive and negative response examples, using keyword-based retrieval to improve future responses.
- Context injection — Persona instructions, style guidelines, and relevant memories are injected into the system prompt for each conversation.
- Custom system prompts — Each persona has a user-defined system prompt that shapes its behavior and expertise focus.
src/providers/orchestrator.ts at render time. They are always in sync with what runs in production. View our full source at our GitHub repository.