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.
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.
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.
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/verifyThree 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 · OPENPerplexity 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 coverageA 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.
Classifies complexity & intent, picks the execution path
Decomposes complex queries into dependent sub-queries
Hybrid BM25 + dense search fused with RRF (k=60)
Extracts figures, runs tools: calculator, price lookup, live search
Drafts the answer with chunk-level citations on every claim
Scores factual, numerical & citation accuracy — gates the output
↺ validation < 70/100 → loop back to retrieval (max 3 iterations)
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.
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.
Rate-limit-aware routing across four free-tier providers, with local models as the floor. The entire stack self-hosts with Docker.
| Layer | Provider | Free allowance | Role |
|---|---|---|---|
| Fast inference | Groq · Llama 3.3 70B | 1K req/day · 300+ tok/s | Routing, fast synthesis |
| Long context | Gemini 2.5 Flash | ~1.5K req/day · 1M ctx | Synthesis, long-doc analysis |
| Bulk tokens | Cerebras · Llama 3.3 | 1M tokens/day | Validation, overflow |
| Local floor | Ollama + BGE-M3 | unlimited · $0 | ZERO_EGRESS mode |
| Live research | Exa + Firecrawl | credit-frugal, disk-cached | Market context (OPEN tier) |
| Data | SEC EDGAR · Qdrant | free · self-hosted | Filings + vector store |
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.