Skip to main content

Bean Labs research log

FinToolBench: Evaluating LLM Agents on Real-World Financial Tool Use

Published Last updated 5 min readMike ThriftMike Thrift
FinToolBench: Evaluating LLM Agents on Real-World Financial Tool Use

Paper: https://arxiv.org/abs/2603.08262

On this page

Most financial AI benchmarks test whether a model can read a document. FinToolBench tests whether a model can do something — call a live API, fetch current market data, and return a correct answer. That is the gap that matters for any system trying to automate real financial work, and it is the gap I have been waiting to see closed rigorously.

The paper

Jiaxuan Lu and colleagues introduce FinToolBench (arXiv:2603.08262, March 2026) as what they claim is the first real-world executable benchmark for evaluating agents that learn to use financial tools. The framing is direct: existing financial AI evaluations focus on static document QA, while general tool-use benchmarks like ToolLLM treat finance as just another API category without domain-specific compliance constraints. FinToolBench tries to fill the space between those two failure modes.

The benchmark pairs 760 executable financial tools — 261 live endpoints from RapidAPI and 499 interfaces from AkShare — with 295 carefully curated evaluation queries, split into 166 single-tool and 129 multi-tool cases. The tools cover equities, bonds, funds, forex, derivatives, macroeconomics, and crypto. Critically, these are real callable APIs, not mocked stubs. The authors also introduce FATR (Finance-Aware Tool Routing), a baseline agent using BGE-M3 retrieval (top-20 candidates), tool cards annotated with financial attributes, and a constraint-aware ReAct planner limited to five steps.

Key ideas

  • Execution is not the bottleneck — reasoning over outputs is. GPT-4o has the highest Conditional Soft Score (CSS = 0.670), meaning it gives correct answers when it successfully calls a tool, but it invokes tools only 22.7% of the time (TIR = 0.227). Qwen3-8B calls tools 87.1% of the time but gets the right answer only 40.4% of the time when the call succeeds.
  • Intent mismatch is the dominant compliance failure. The Intent Mismatch Rate (IMR) exceeds 50% for most models, meaning agents routinely issue transactional calls when the query only asks for information retrieval. That is a serious problem in regulated financial contexts.
  • Injecting financial attributes helps compliance without hurting capability. FATR's baseline tool cards — annotating each tool with freshness, intent type, and regulatory domain — reduce stale-data calls (TMR) and domain violations (DMR) without significantly degrading invocation rate.
  • Multi-tool queries expose the reliability gap. The 129 multi-tool queries require chaining calls and passing outputs between steps; performance drops substantially versus single-tool cases, consistent with findings from FinTrace and TheAgentCompany.
  • Small models can out-invoke large ones but not out-reason them. Qwen3-8B's TIR of 0.871 versus GPT-4o's 0.227 shows smaller models are trigger-happy, but CER (Conditional Execution Rate, i.e. TESR/TIR) of 0.339 for Qwen3-8B versus 0.618 for GPT-4o reveals GPT-4o is far more precise when it does decide to call a tool.

What holds up — and what doesn't

The benchmark's choice to use genuinely live, executable APIs is its primary contribution, and it is a substantial one. Mocked APIs were the dirty secret of tool-use benchmarks: ToolLLM's 16,000 APIs sound impressive until you realize the evaluation uses an LLM as a judge of whether a call "would have" worked. FinToolBench avoids that.

The compliance metrics (TMR, IMR, DMR) are conceptually right — financial agents must know the difference between fetching yesterday's closing price and initiating a trade — but the paper's description of how those classifications are enforced is thin. It is unclear whether the ground-truth labels for intent type (informational vs. transactional) were verified by legal or compliance experts, or simply assigned by the dataset authors. That matters a lot in practice.

The model list is also oddly narrow: Doubao-Seed-1.6, Qwen3-8B, GLM-4.7-Flash, and GPT-4o. No Claude Sonnet or Gemini 2.5, which would have been natural comparisons. The results table shows GPT-4o as a high-precision, low-coverage outlier; I would like to know whether Claude's tool-use behavior lands closer to GPT-4o's conservative pattern or Qwen3-8B's aggressive one.

The evaluation set of 295 queries is small by modern benchmark standards. At 760 tools, a coverage rate of 295 queries means most tools are never tested. The paper provides no per-domain coverage statistics, which means the headline numbers could be driven by a subset of well-covered domains such as equities and macroeconomics.

Why this matters for finance AI

Beancount write-back agents — any agent that calls bean-add, patches a ledger file, or queries beanquery — face exactly the failure modes FinToolBench surfaces. The intent-mismatch problem maps directly: a Beancount agent that issues a write call when the user asked a read question has the same failure signature as an IMR violation. The freshness dimension maps onto calling a stale cached ledger state when the user expects the current balance.

The precision-versus-coverage tension (GPT-4o vs. Qwen3-8B) is immediately relevant too. For Beancount write-back I would strongly prefer GPT-4o's conservative invocation behavior — low TIR, high CER and CSS — over a high-invocation model that often executes the wrong tool. Wrong writes cost far more than no-ops.

FATR's approach of annotating tools with compliance attributes, rather than relying on the model to infer them, is a design pattern worth adopting. Wrapping Beancount CLI tools with explicit metadata about whether a call is read-only or mutating, and whether it concerns current or archived ledger state, is the same idea applied at a smaller scale.

  • FinTrace (arXiv:2604.10015) — trajectory-level evaluation across 34 financial task categories with 9 metrics; directly extends FinToolBench's single-call evaluation to multi-step sequences and fine-tunes Qwen-3.5-9B with DPO to improve intermediate reasoning.
  • FinMCP-Bench (arXiv:2603.24943) — 613 samples over 65 MCP-based financial tools, testing single-tool, multi-tool, and multi-turn invocations; the MCP framing is directly relevant to Beancount tool interfaces.
  • ToolLLM (arXiv:2307.16789, ICLR 2024) — the ToolBench paper against which FinToolBench explicitly positions itself; understanding what the mock-API baseline can and cannot measure clarifies how much FinToolBench's real executability is worth.

Share this article

Source: https://beancount.io/bean-labs/research-logs/2026/07/05/fintoolbench-evaluating-llm-agents-real-world-financial-tool-use

Published: July 5, 2026

Last updated: September 14, 2026