Confirmation discrepancy detection for capital markets operations.
Send a raw confirmation — IRS, equity option, corporate bond, cap/floor, TRS, or CDS — and your internal trade economics. Receive a structured discrepancy report in under two seconds.
The architecture is deliberate: Claude extracts fields from unstructured text; deterministic code handles all arithmetic. No language model touches a number. Detection accuracy exceeds 99% and the false positive rate is zero — validated against 500 benchmark cases across two datasets. Coverage spans six asset classes, margin call disputes, and MarkitWire FIXML ingestion.
One call. Two exceptions caught.
A confirmation arrives with a counterparty legal entity mismatch and a 0.5bp fixed rate break on $50M notional. Both are caught, classified, and exposure-estimated in a single API call.
The counterparty break drives severity to high and triggers escalation. The rate break is quantified at $2,500 exposure. No human reads the confirmation first.
POST https://aal-discrepancy-api-production.up.railway.app/v1/confirmations/validate
Structured JSON inputPOST https://aal-discrepancy-api-production.up.railway.app/v1/confirmations/validate-raw
Raw FIXML or PDF textPOST https://aal-discrepancy-api-production.up.railway.app/v1/confirmations/batch
Up to 500 pairs, concurrentPOST https://aal-discrepancy-api-production.up.railway.app/v1/disputes/analyze
Margin call dispute detection{
"match_id": "681ac165-0110-4abd-8e5b-ed23351c646b",
"overall_status": "discrepant",
"discrepancies": [
{
"field": "counterparty",
"category": "EXC-CPTY",
"expected": "Global Bank Capital Markets Inc",
"extracted": "Global Bank Securities LLC",
"severity": "high",
"exposure_estimate_usd": null
},
{
"field": "fixed_rate",
"category": "EXC-PRICE",
"expected": 4.125,
"extracted": 4.130,
"difference": 0.005,
"severity": "low",
"exposure_estimate_usd": 2500.00
}
],
"overall_severity": "high",
"escalation_required": true,
"recommended_action": "SOFR confirmation break. EXC-CPTY on counterparty | EXC-PRICE on fixed_rate (~$2,500) — Escalate; do not affirm.",
"extraction_confidence": 0.95,
"processing_ms": 1169
}Four endpoints. Copy, paste, run.
All requests require an API key in the Authorization header. Request a key via email — we onboard same day.
Authorization: Bearer sk-aal-xxxxxxxxxxxxxxxxxxxxxxxx
POST /v1/confirmations/validateStructured JSON — single confirmation pair
curl -X POST https://aal-discrepancy-api-production.up.railway.app/v1/confirmations/validate \ -H "Authorization: Bearer $AAL_API_KEY" \ -H "Content-Type: application/json" \ -d '{
"expected": {
"counterparty": "Global Bank Capital Markets Inc",
"notional_usd": 50000000,
"fixed_rate_pct": 4.125,
"effective_date": "2026-06-16",
"maturity_date": "2029-06-16",
"floating_index": "SOFR",
"floating_spread_bps": 12.5
},
"confirmation_text": "...raw confirmation text..."
}'POST /v1/confirmations/validate-rawRaw text — no structured input required
curl -X POST https://aal-discrepancy-api-production.up.railway.app/v1/confirmations/validate-raw \ -H "Authorization: Bearer $AAL_API_KEY" \ -H "Content-Type: application/json" \ -d '{
"expected": { ... },
"confirmation_text": "...raw PDF or email text..."
}'POST /v1/confirmations/batchUp to 500 pairs — concurrent, ~6ms per pair
curl -X POST https://aal-discrepancy-api-production.up.railway.app/v1/confirmations/batch \ -H "Authorization: Bearer $AAL_API_KEY" \ -H "Content-Type: application/json" \ -d '{
"pairs": [
{ "expected": {...}, "confirmation_text": "..." },
{ "expected": {...}, "confirmation_text": "..." }
]
}'POST /v1/disputes/analyzeMargin call dispute detection — 17 categories
curl -X POST https://aal-discrepancy-api-production.up.railway.app/v1/disputes/analyze \ -H "Authorization: Bearer $AAL_API_KEY" \ -H "Content-Type: application/json" \ -d '{
"counterparty_notice": "...margin call notice text...",
"internal_calculation": { ... },
"csa_terms": { ... }
}'200Success — discrepancy report returned
400Malformed request — check JSON schema
401Invalid or missing API key
429Rate limit exceeded — retry after header provided
500Internal error — deterministic engine failure logged
/validate100 req/min · 10 concurrent
/validate-raw60 req/min · 5 concurrent
/batch10 req/min · 1 concurrent — 500 pairs max
/disputes/analyze30 req/min · 3 concurrent
Six asset classes. One endpoint.
Interest Rate Swaps
Fixed/float, SOFR, LIBOR, cross-currency
Equity Index Options
FIA/RILA call spreads, caps, SPX/RTY/NDX
Fixed Income
Corporate bonds, munis, agencies, structured
Caps & Floors
SOFR/LIBOR caps, floors, collars
Total Return Swaps
Rates TRS, cross-currency sovereign TRS
Credit Default Swaps
Single-name corporate and sovereign CDS
Counterparty
Legal entity mismatch — all asset classes
Rate / Spread
Fixed rate, CDS spread, strike, forward rate
Notional / Size
Par value, notional, number of contracts
Settlement date
Effective, maturity, termination date
Product terms
Day count, payment frequency, credit events, index
Currency
Settlement or notional currency mismatch
Security ID
CUSIP, ISIN, reference obligation identifier
Direction
Buy/sell, protection buyer/seller, TRS receiver/payer
Instrument type
Call vs put, cap vs floor
Coupon
Reference obligation or bond coupon rate
Maturity
Reference obligation or bond maturity date
FX rate
Initial spot rate on cross-currency structures
LLMs classify. Code calculates.
LLM extraction
Claude Haiku parses raw confirmation text into structured fields — counterparty, notional, rates, dates, payment terms. Classification and extraction only. No arithmetic.
Deterministic reconciliation
Pure Python compares extracted fields against your expected economics field by field. All exposure math runs in code. No language model touches a number. Unit-tested against 250 ground-truth IRS cases.
Severity classification
Rule table maps exception category and dollar exposure to low / medium / high. Escalation flag set by category. Deterministic, auditable, zero hallucination risk on the number that matters.
Regression tested
The reconciliation engine is unit-tested against AAL-D-001 and AAL-D-002 — 189 assertions across six asset classes. The disputes engine is validated against AAL-D-002 (250 margin call cases, 17 dispute categories). Read the benchmarks →
Our benchmark data shows frontier models exceed 99% on discrepancy detection and plateau at 76–80% on financial arithmetic. The hybrid pipeline enforces the boundary in code — that is why the accuracy holds.
The model detects. The code calculates.
No language model touches a dollar figure. Exposure arithmetic runs in deterministic Python, unit-tested against a public benchmark. That is why the false positive rate is zero.
No contracts. No procurement cycle.
Ready to start? Email us to request an API key. We onboard same day. No sales call required.
Validate your deployment →joe@aialphalabs.ai