Self-hosted · Open source · Runs on free-tier models

The financial research copilot
your compliance team would approve.

Multi-agent RAG over SEC filings with hash-chained audit trails, a data-egress governor, and chunk-level citations. Your documents never leave your perimeter unless you say so.

finagent — research desk
What guidance did NVIDIA give for data center revenue?

NVIDIA guided to total revenue of $37.5 billion ±2% for Q4 FY2025, with data center growth driven by Blackwell ramp 10-Q · p.31. Management noted supply constraints continuing through fiscal year-end 8-K · Ex.99.1.

✓ validated 94/100 2 citations · 5 sources egress: TRUSTED_CLOUD ⛓ sealed #47 · 3f9c21ab07…
~30%
of financial firms ban public gen-AI outright
$18K
median per-seat cost of enterprise alternatives
$0
to self-host FinAgent on free-tier & local models
The Wedge

What ChatGPT and Perplexity structurally can't do

Public AI tools run on servers your firm doesn't control. That's not a feature gap — it's an architecture gap. FinAgent is built on the other side of it.

Hash-chained audit trail

Every query is sealed into an append-only record — query, sources, providers, validation scores. Each record embeds the previous record's SHA-256, so tampering breaks the chain. Modeled on SEC Rule 17a-4.

GET /compliance/audit/verify
🛡

Data-egress governor

Three enforce-at-runtime tiers decide which providers a query may touch. Every answer ships with an egress receipt naming exactly where your data went — or proving it went nowhere.

ZERO_EGRESS · TRUSTED_CLOUD · OPEN
§

Compliance-grade citations

Perplexity cites web pages. FinAgent cites the exact filing chunk, verifies every number against retrieved sources, and publishes a per-answer trust score before you see the response.

numerical accuracy · claim coverage
Architecture

Six agents. One validation loop. Zero unverified claims.

A LangGraph state machine routes each query by complexity — simple questions take a fast path, complex ones get planned, analyzed, and validated with up to three retry loops.

01

Router

Classifies complexity & intent, picks the execution path

02

Planner

Decomposes complex queries into dependent sub-queries

03

Retriever

Hybrid BM25 + dense search fused with RRF (k=60)

04

Analyst

Extracts figures, runs tools: calculator, price lookup, live search

05

Synthesizer

Drafts the answer with chunk-level citations on every claim

06

Validator

Scores factual, numerical & citation accuracy — gates the output

validation < 70/100 → loop back to retrieval (max 3 iterations)

Tamper-Evident by Construction

If anyone edits the record, the chain tells on them.

Each audit record embeds the SHA-256 hash of the one before it. Modify or delete any record and every subsequent hash fails verification — instantly, provably.

#45 14:02:11Z hash 8a41f2…c9d0 prev 55e0b7…12aa
#46 14:07:53Z hash 3f9c21…ab07 prev 8a41f2…c9d0
#47 14:11:26Z hash bd7702…41ce prev 3f9c21…ab07
#48 — TAMPERED hash mismatch: contents modified chain verification failed
Data-Egress Governor

You decide where your data can go.

Switch tiers from the header of the app. The governor enforces the policy at runtime — blocked providers throw, allowed ones get logged on the receipt.

ZERO_EGRESS

Nothing leaves the machine

  • Local LLM via Ollama
  • Local BGE-M3 embeddings
  • Local Qdrant + BM25
  • For MNPI & internal documents
TRUSTED_CLOUD

Cloud models, no live web

  • Groq / Gemini / Cerebras allowed
  • Only public-filing content sent
  • Live web research blocked
  • Default for filing analysis
OPEN

Full research stack

  • Everything in Trusted Cloud
  • Exa semantic web search
  • Firecrawl IR-page ingestion
  • For market context & news
Cost Engineering

Runs on a $0 inference bill.

Rate-limit-aware routing across four free-tier providers, with local models as the floor. The entire stack self-hosts with Docker.

LayerProviderFree allowanceRole
Fast inferenceGroq · Llama 3.3 70B1K req/day · 300+ tok/sRouting, fast synthesis
Long contextGemini 2.5 Flash~1.5K req/day · 1M ctxSynthesis, long-doc analysis
Bulk tokensCerebras · Llama 3.31M tokens/dayValidation, overflow
Local floorOllama + BGE-M3unlimited · $0ZERO_EGRESS mode
Live researchExa + Firecrawlcredit-frugal, disk-cachedMarket context (OPEN tier)
DataSEC EDGAR · Qdrantfree · self-hostedFilings + vector store
Get Started

Clone it. Run it. Audit it.

Docker Compose brings up Qdrant, the FastAPI backend, and the Next.js terminal. Add free-tier API keys and you're researching filings in minutes.