virattt/dexter
FinanceAutonomous financial research agent that plans, executes and self-checks tasks using live market data.
What it does
Dexter is a TypeScript agent for deep financial research. Given a complex question, it breaks it into structured research steps, selects tools to fetch financial data, then reviews and iterates on its own results before returning an answer. Its stated capabilities include task planning, autonomous tool execution, self-validation, and access to income statements, balance sheets and cash flow statements; it also has loop detection and step limits to keep runs bounded Overview.
The project positions itself as an educational and informational tool, not a trading system. The README explicitly says outputs may be incorrect or incomplete and that it is not investment advice disclaimer. That framing matters for anyone considering using its output in a real workflow.
Quick start
You need the Bun runtime (v1.0+), an OpenAI API key, and a Financial Datasets API key; an Exa key is optional for web search prerequisites. Install Bun if needed, then clone and install:
git clone https://github.com/virattt/dexter.git
cd dexter
bun install
cp env.example .env
Open .env and set at least OPENAI_API_KEY and FINANCIAL_DATASETS_API_KEY; other provider keys such as Anthropic, Google, xAI, OpenRouter, Exa or Tavily can be added if you use them environment setup. Start the interactive agent with:
bun start
For development, bun dev runs in watch mode how to run.
Evaluation and debugging
The repository includes an evaluation suite that runs the agent against a dataset of financial questions, with LangSmith tracking and LLM-as-judge scoring. Run all questions or a random sample:
bun run src/evals/run.ts
bun run src/evals/run.ts --sample 10
Every query also writes a JSONL scratchpad under .dexter/scratchpad/, recording the initial query, each tool call with arguments and results, and reasoning steps, so you can inspect how an answer was produced evaluation debugging.
Other ways to use it
Dexter can be connected to WhatsApp through a local gateway: run bun run gateway:login, scan the QR code, then bun run gateway, and message yourself to ask questions WhatsApp gateway. This requires linking your own WhatsApp account and running the gateway locally.
Constraints and caveats
- Bun is required; the setup instructions are built around
bun installandbun start. - Financial data depends on a Financial Datasets API key, and the agent depends on an LLM provider key. Web search requires an Exa or Tavily key.
- The README labels the project educational/entertainment/informational only and disclaims accuracy and fitness for trading decisions.
- The README says MIT License license, though the repository metadata does not declare a license.
HotRepo's take
On the TypeScript daily ranking for 2026-11-09, Dexter recorded 27,802 stars and a gain of 21 stars, placing 11th on that day's TypeScript list. That is a single snapshot, so it supports only the observation that the project was still attracting attention on that date, not a broader trend. The interesting part of the project is its explicit research loop — planning, tool calls, self-checking and traceable scratchpad logs — which gives readers something concrete to inspect rather than just an answer. Treat its output as a research aid, consistent with the author's own educational framing.
Written by AI from the project's README, updated . The project's own docs are the source of truth.