How It Works

How the Coordinator and Agents work together to answer complex questions

Intent Classification

When a message arrives, the Coordinator classifies intent. Simple factual lookups get an immediate response. Anything requiring analysis, multiple sources, or judgment triggers the full multi-agent pipeline.

The coordinator reads the user model (risk profile, positions, preferences) before deciding how to route the question.

User MessageCoordinatorClassifies intent and reads user modelSimple / factualComplex / forecastingDirect ResponseNo agents needed"What's the price of AAPL?"Multi-Agent Flow3 phases of research & analysis"Will the Fed cut rates this year?"

Three-Phase Agent Flow

The Coordinator (Claude Opus) runs an orchestration loop. In each phase it spawns agents, waits for their results, reviews them, then decides what to do next. Results flow back to the coordinator between each phase — it's a loop, not a pipeline.

CoordinatorClaude Opus · orchestration looploopSpawns 4 researcher agents1Phase 1: Researchersparallel · context-isolatedResearchWeb, SEC filings, dataFermiFactor decompositionBase RatesHistorical comparablesSentimentNews & social signalsResults return to coordinatorCoordinator reviews resultsCross-compares all researcher findingsChatPreliminary response to userFactual disagreements?YesResearchers revisetheir workNoSpawns 3 analyst agents with full Phase 1 findings2Phase 2: Analystsreceive full Phase 1 findingsScenarioModels bull, base & bear outcomesContrarianChallenges the consensus viewCascadesMaps 2nd & 3rd-order effectsResults return to coordinatorCoordinator reviews analyst resultsCross-compares scenarios, contrarian view, cascadesChatUpdates user while analysts finishFactual disagreements?YesAnalysts revisetheir workNoFinal SynthesisClears preliminary response, delivers analysis + artifactsOffers at end of responseExplore trades?NoYesTrading AgentProposes specific trades with entry/exit,sizing, and risk parametersReceives all findings + user profile & positionsFinal Result

Each agent runs Claude Opus in an isolated OpenCode sandbox. The coordinator loops between phases, reviewing results before spawning the next batch.

Coordinator Tools

The coordinator (Claude Opus) uses these tools to manage the workflow. Deep research belongs to the agents; the two retrieval tools, web_search and fetch_page, are for one-off reads where spawning an agent would be overkill.

Beyond those two retrieval tools the coordinator reads no data source directly. The finalization tools stay on the wire every turn but are refused until the synthesis turn, so the prompt cache survives.

prompt_agent

Spawn a new agent by type, or send a follow-up message to a running one

cancel_agent

Stop a running agent that is no longer needed

set_preliminary_response

Show or clear interim synthesis (markdown, or named-key perspectives) while agents run

emit_artifact

Create or update a visualization in the user's panel — chart, table, forecast, knowledge graph, etc.

delete_artifact

Remove duplicate or withdrawn artifacts from the thread's panel

emit_forecast

Record, update, or withdraw a falsifiable forecast with probability and resolution criteria

suggest_follow_ups

Record 3 follow-up question chips shown under the final synthesis

web_search

Exa web search — titles, URLs, and content excerpts, with category, domain, and date filters

fetch_page

Scrape a specific URL directly via Firecrawl (bypasses agent spawn for one-off reads)

AskUserQuestion

Register one clarifying question with 2-5 options, rendered as a form under the next turn. Interactive threads only.

ef_forecast

Run the calibrated EF-32B forecasting model over compressed agent evidence. Registered only when the EF model is enabled for the run.

Trade Terminal Tools

The Trade Terminal variant swaps the default toolset for a structured trade-card workflow. The coordinator can read market data directly, run web search, and progressively fill in the user's Trade Card (thesis → instrument → sizing → risk → finalize). Stage 1 can spawn the full Axion research and analyst set to pressure-test the idea; Stage 2 narrows to the four trade specialists ( tweet-analyst, filings-analyst, earnings-analyst, options-flow-analyst). Artifacts those agents emit are suppressed in both stages so the Trade Card remains the single surface.

Trade Terminal replaces emit_artifact / emit_forecast / suggest_follow_ups with the Stage-1 thesis and Stage-2 structuring tools, and adds direct market-data and options-chain access on top of the shared web_search and fetch_page.

update_trade_thesis

Patch Stage-1 thesis fields on the bound Trade Card

collect_instruments

Initialize Stage-2 structure with a single trade instrument

set_legs

Set Stage-2 sizing for the leg, compute tier / base gross / final gross

set_neutrality

Set the delta / beta neutrality target for the structured leg

set_risk_params

Set stop, invalidation statement, profit targets, and max hold days

finalize_structuring

Validate Stage-2 structure and mark trade card status = ready

get_market_data

Current spot and daily OHLC history with ATR computed from OHLC (Massive)

get_options_chain

Options chain snapshot for an underlying ticker (Massive)

web_search

Exa web search — titles, URLs, and content excerpts with category/domain/date filters

fetch_page

Firecrawl scrape of a specific URL

prompt_agent

Stage 1 spawns the full Axion research and analyst set plus the four trade specialists; Stage 2 narrows to tweet-analyst, filings-analyst, earnings-analyst, and options-flow-analyst. Artifacts from spawned agents are suppressed in both stages.

cancel_agent

Stop a spawned specialist that is no longer needed

AskUserQuestion

Register one clarifying question for the user. Interactive threads only.

Agent Sandbox Tools

Every agent runs inside an OpenCode sandbox. It reaches the outside world through two surfaces, both provisioned at session start — MCP servers called as native tool_use blocks, and sandbox skills (Python SDKs and HTTP proxies) invoked by writing and executing code. Both are scoped to the sandbox, both are proxied through the backend so credentials never touch the container.

MCP Servers (native tool_use)

axion

Sidecar tools for the sandbox: report_progress, emit_artifact, delete_artifact

research

One server fronting every retrieval provider: research_exa_search, research_exa_answer, research_exa_deep_research, research_firecrawl_scrape_page, research_youtube_search, research_youtube_transcribe_video

twitter (X)

search_tweets, get_user_tweets, get_tweet, get_tweet_thread, get_user, get_user_profile

prediction-markets

search_markets — Polymarket + Kalshi odds, prices, and order book depth

research_wiki_smart_search

Part of the research server. A Claude Sonnet sub-agent searches the internal MediaWiki and returns the answer as markdown.

axion and research are provisioned by the backend at session start; twitter and prediction-markets are external servers named in config. Only axion is fatal to lose — an agent that cannot reach it cannot emit an artifact.

Sandbox Skills (Python SDKs & HTTP proxies)

Massive

OHLCV, options chains with greeks & IV, technicals, forex, crypto, short interest, treasury yields, dividends, splits — Python SDK

sec-api

Mapping, Query, Section Extractor (10-K/10-Q), XBRL-to-JSON, Insider Trading, 13F/13D/G, Form 4, Exec Comp, N-PORT, Form D, S-1/424B4

Unusual Whales

Options flow alerts, dark pool prints, GEX / gamma exposure, market tide, congressional + insider trades, short selling, crypto whales

FRED

800K+ Federal Reserve macro time series (rates, inflation, labor, GDP) + CPI / NFP / FOMC release calendars

Finnhub

Forward EPS & revenue estimates, earnings calendar, analyst consensus, insider sentiment (MSPR), social sentiment, lobbying, gov contracts

Benzinga

Analyst upgrades / downgrades / price target changes + analyst track-record accuracy (via the Massive SDK)

CFTC

Weekly COT reports — leveraged fund and asset manager positioning in equity indices, rates, FX, VIX, energy, metals

CourtListener

US federal court docket search, PACER filing text, and full case records for litigation / securities fraud exposure

Semantic Scholar

220M+ papers, citation graphs with intent labels, semantic recommendations, author h-index (for peer-reviewed evidence & diligence)

Hugging Face Papers

Daily curated ML/AI feed ranked by upvote velocity + semantic search across HF-indexed papers and arXiv IDs

USASpending

Federal grants, contracts, and SBIR awards — who is receiving US government money, by company, agency, or topic

NIH RePORTER

NIH grant awards for biotech and medtech diligence — SBIR phase detection and topic-based deal sourcing

NSF Awards

NSF grant awards for deeptech and AI/ML diligence — SBIR sourcing and principal-investigator background

DefiLlama

DeFi TVL, protocol detail, stablecoin supply, yield pools, perpetuals open interest, protocol fees and revenue

World Bank Pink Sheet

Monthly prices for 71 commodities — Brent / Dubai / WTI crude, LNG, coal, metals, agricultural benchmarks

IMF PortWatch

Daily port traffic and chokepoint transits across 2,065 ports and 28 chokepoints for supply-chain and shipping questions

FAOSTAT

77 FAO domains covering 245 countries back to 1961 — production, trade, prices, food balance, food security

FAO GIEWS

Sub-national retail food prices for staples (wheat, rice, bread, beans, oils, sugar) in food-insecure markets

Substack

Search and read Substack publications and posts for independent analysis and primary commentary

System-prompt source hierarchy: primary regulatory + market data (SEC, Massive, FRED, CFTC) > derived / alt signals (Benzinga, Unusual Whales, Finnhub) > news & web.