---
title: "Introducing Drex for Finance"
description: "A decision model for fraud, credit and filings that can't make things up. It scores 77.3 on the Drex Finance Index, against 63.6 for Jev 1.14."
canonical: "https://nace.ai/blog/introducing-drex-for-finance"
updated: 2026-11-02
---

# Introducing Drex for Finance

> A decision model for fraud, credit and filings that can't make things up. It scores 77.3 on the Drex Finance Index, against 63.6 for Jev 1.14.

Blog · Nov 2, 2026 · Nace.AI

**Drex for Finance, a decision model for fintech.** Generally available. 77.3 on the Drex Finance Index of 48 held-out test sets, against 63.6 for Jev 1.14.

- [Explore](https://nace.ai/drex/finance)
- [Get started](https://console.nace.ai?utm_campaign=drex-finance-launch&utm_content=announcement&utm_medium=website&utm_source=nace.ai)

Most of a fintech stack runs on small decisions. Is this invoice a duplicate? Is this login an account takeover? Which risk band does this applicant fall in? Is this Fed statement hawkish or dovish? Each one has a few possible answers, and each one needs an answer fast.

Today we're releasing **Drex for Finance**, a version of Drex Max trained further on financial decisions. You send it a case, such as a transaction, an invoice, a support message or a filing excerpt, with the questions you want answered and the options for each. It picks an option and tells you how sure it is. It can only answer with the options you list, so it can't make up an answer.

On 48 public finance test sets it never saw in training, Drex for Finance scores 77.3 on the Drex Finance Index. Jev 1.14 scores 63.6, GPT-6 Luna 58.4 and pplx-decider v1.2 65.0. It gets 85.7% of 3,361 decisions right, and a short case comes back in a median 0.82 s.

| Benchmark | Drex for Finance | Jev 1.14 | GPT-6 Luna | pplx-decider v1.2 | Drex Max v1.1 | Drex Max v1 | GLiDE |
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| Drex Finance Index | 77.3 | 63.6 | 58.4 | 65.0 | 65.8 | 60.1 | 65.4 |
| Accuracy, % | 85.7 | 76.7 | 70.9 | 77.4 | 77.7 | 73.1 | 77.6 |
| Sentiment & tone | 80.7 | 69.1 | 68.6 | 73.9 | 69.3 | 58.6 | 73.0 |
| News & headlines | 89.5 | 66.4 | 60.7 | 68.8 | 71.4 | 68.3 | 68.4 |
| Banking & support intent | 87.1 | 71.6 | 71.9 | 73.7 | 74.5 | 65.6 | 73.9 |
| Documents & extraction | 92.3 | 85.9 | 48.8 | 87.1 | 87.8 | 67.2 | 88.8 |
| Financial QA & filings | 96.7 | 86.4 | 88.1 | 82.6 | 89.7 | 84.5 | 89.1 |
| Credit & risk | 48.3 | 30.0 | 38.3 | 11.7 | 0.0 | 21.7 | 0.0 |
| Monetary policy | 53.8 | 45.0 | 38.8 | 35.0 | 30.0 | 25.0 | 33.8 |
| ESG & climate | 73.0 | 59.1 | 48.1 | 54.4 | 59.4 | 60.0 | 56.1 |
| Markets & reasoning | 41.5 | 28.1 | 30.1 | 43.1 | 43.0 | 40.1 | 41.4 |

*Scores run from 0 to 100, where 0 is a coin flip and 100 is every answer right. Accuracy is the share of 3,361 decisions answered correctly. Bold marks the best score in each row.*

Each of the 48 test sets is scored on skill above chance, and the index combines all of them. A model that does worse than a coin flip on a set gets 0 there, not a negative score.

## Results by category

Drex for Finance has the best score in 10 of the 11 rows. Against Jev 1.14 it's ahead in all nine categories, by the most in News & headlines (+23.1), Credit & risk (+18.3) and Banking & support intent (+15.5). The closest is Documents & extraction, at 92.3 against 85.9.

Two rows are worth a closer look:

- **Credit & risk.** Drex Max v1.1 and GLiDE score 0.0. That's the floor, not missing data: both flag default and bad credit far too often, which puts them at or below a coin flip. Drex for Finance scores 48.3, 10 points ahead of the next model.
- **Markets & reasoning** is the one category where we're not first. Drex for Finance scores 41.5, behind pplx-decider v1.2 at 43.1 and Drex Max v1.1 at 43.0. The finance training didn't move it.

## Results on general decision benchmarks

A model trained hard on one domain often slips everywhere else. This one didn't. On our general decision benchmarks, JevBench went from 93.9% to 94.4% and Decision Bench from 94.2% to 94.6%.

## What it is trained on

The training data covers nine areas:

- **Banking & payments:** customer intent and routing, card, transfer and dispute triage, chargeback reason codes, payment failure causes, fraud and phishing flags, account-takeover signals.
- **Accounting & audit:** invoice and receipt fields, expense policy checks, GL account classification, reconciliation exceptions, duplicate invoices, audit sampling and risk flags, revenue recognition checks.
- **Credit & lending:** applicant risk bands, default flags, affordability checks, loan document completeness, covenant breaches, collections priority.
- **Insurance:** claim routing, coverage eligibility, policy questions, claim fraud indicators, underwriting risk tiers, subrogation flags.
- **Compliance & risk:** KYC and AML red flags, sanctions and PEP screening, adverse media, disclosure checks, transaction monitoring alerts, regulatory change relevance.
- **Filings & reports:** 10-K, 10-Q and XBRL tagging, numeric claim checks, table and text QA, risk factor classes, MD&A tone, footnote extraction.
- **Markets & investing:** news, social and entity sentiment, monetary-policy stance, M&A and event signals, earnings call tone, analyst rating direction, trade signal gating.
- **ESG & sustainability:** ESG claims, climate risk disclosures, greenwashing flags, taxonomy alignment, controversy screening.
- **Treasury & operations:** cash forecasting signals, vendor risk, procurement approvals.

## What you can build

Drex for Finance fits anywhere a pipeline needs a fast, scored answer from a fixed set of options:

- **Documents & filings:** tag and classify filings, check numeric claims, code invoices to GL accounts, flag reconciliation exceptions and duplicate invoices.
- **Credit & lending:** assign applicant risk bands, flag likely defaults and covenant breaches, rank collections, check that a loan file is complete.
- **Fraud & AML:** score transactions before they clear, catch account-takeover signals, triage disputes and chargebacks, screen names against sanctions and PEP lists.
- **Markets & trading:** read sentiment from news and earnings calls, classify central bank statements, label events, and gate trade signals before they fire.
- **Insurance & regtech:** route claims, check coverage, flag claim fraud and greenwashing, and decide which regulatory changes matter.

Because every answer is a probability, you choose where the line is. Approve or flag the clear cases automatically, send the uncertain ones to an analyst, and log the score next to each call.

## Get started

The model id is `drex-max-finance`, and a request can be up to 262,144 tokens. There are three ways in, from no setup to production.

### Try it in your coding agent

Add Nace's remote MCP server to Claude Code, Codex, Cursor or any MCP client, then ask your agent to make a decision with `drex-max-finance`:

```bash
claude mcp add --transport http drex https://console.nace.ai/mcp
```

For Codex, run `codex mcp add drex --url https://console.nace.ai/mcp`. Without a key, the free tier allows 100 decisions a day of up to 32 KB each. Add a key when you need more.

### Call it with the SDK or CLI

Sign in at the [Console](https://console.nace.ai?utm_campaign=drex-finance-launch&utm_content=post&utm_medium=website&utm_source=nace.ai), create an API key and export it as `NACE_API_KEY`. Eligible new accounts get \$5 in free credits. Then install the SDK for Python or TypeScript:

```python
# pip install nace-sdk
from nace_sdk import Choice, NaceClient, Noul, Score

invoice = (
    "INV-2304, Northwind, $9,870.00, PO-77120. "
    "Paid Oct 12: INV-2304A, Northwind, $9,870.00."
)
gl_accounts = {
    "5100": "Raw materials",
    "6200": "Office supplies",
    "6400": "Professional services",
}
questions = {
    "duplicate": Noul(
        instructions="Is it a duplicate of a paid invoice?"
    ),
    "gl_account": Choice(
        instructions="Which GL account is it?",
        criteria=gl_accounts,
    ),
    "risk": Score(
        instructions="How risky is it to pay?",
        criteria=["low", "medium", "high"],
    ),
}

# reads NACE_API_KEY from the environment
with NaceClient(model="drex-max-finance") as client:
    result = client.system_one(
        state=invoice, questions=questions
    )

print(result.nouls["duplicate"].noul)       # P(yes)
print(result.choices["gl_account"].choice)  # a label
print(result.scores["risk"].score)          # 0 to 2
```

All three questions share one forward pass and one bill. `npm install nace-sdk` gives the same client in TypeScript, and the `nace` CLI runs the same call from a shell:

```bash
pipx install nace-cli && nace login
nace decide -m drex-max-finance --state @invoice.txt \
  --noul "duplicate=Is it a duplicate of a paid invoice?"
```

### Switch from Jev

The Drex API is wire-compatible with TypeSafe's Jev. Keep `@typesafe-ai/sdk` and change three environment variables:

```dotenv
TYPESAFE_BASE_URL=https://console.nace.ai
TYPESAFE_API_KEY=nace_sk_...
TYPESAFE_DEFAULT_MODEL=drex-max-finance
```

Code written for OpenAI's Decisions API works too: point the OpenAI SDK at `https://console.nace.ai/v1` and set the model to `drex-max-finance`.

**Drex for Finance is available today in the Nace Console.** The use cases and category scores are on the [Drex for Finance page](https://nace.ai/drex/finance), and the [docs](https://console.nace.ai/docs) cover question types, limits and errors.

## About the product

**Drex for Finance is generally available.** Send a transaction, an invoice or a filing with the answers you allow. Drex for Finance picks one and says how sure it is. Category scores and the API call are on the use case page.

- [Get started](https://console.nace.ai?utm_campaign=drex-finance-launch&utm_content=announcement&utm_medium=website&utm_source=nace.ai)
- [Explore](https://nace.ai/drex/finance)
- [Talk to sales](https://nace.ai/contact?product=drex&source=blog)

## For agents

- [Drex API guide](https://nace.ai/drex.md): the decision model: request shape, question types, benchmarks and deployment, as markdown
- [Decision endpoint](https://console.nace.ai/v1/systemone): POST with model "drex-latest", a state string and typed questions (choice, noul, score); https://console.nace.ai/v1/models lists checkpoints
- [Document endpoints](https://console.nace.ai/v1/documents/{parse|split|classify|extract|ground}): POST a source (a public URL, an uploaded workspace file or a finished parse job) and poll GET https://console.nace.ai/v1/documents/jobs/{id}; the same key and credit as decisions
- [Console](https://console.nace.ai): API keys, the playground, usage and billing; send `Authorization: Bearer $NACE_API_KEY` on every request
- [Console docs](https://console.nace.ai/docs): quickstart, question types, the document routes, errors, limits and pricing
- [Nace Document Intelligence](https://nace.ai/perception.md): the Perception series: parse, split, classify, extract and ground any file type with a location on every value
- [Drex for Search](https://nace.ai/drex/search.md): Drex for Search: decision-powered retrieval for agents, Drex finds the page, cited search through the CLI, SDKs, MCP and REST, and the public benchmark ranks
- [Use cases](https://nace.ai/use-cases.md): every Drex use case with its proof figures: browser use, search and finance for developers, enterprise finance teams and professional firms
- [Developers](https://nace.ai/developers.md): The execution layer for agents: Perception, Decision and Search behind one key, the Drex Max frontier, install steps, a scripted agent session and the four deployment boundaries
- [Site index](https://nace.ai/llms.txt): every page on nace.ai; append `.md` to any page URL or send `Accept: text/markdown` for the markdown version
