---
title: "TMPG Fails-Charge Recompute"
method: POST
path: "/v1/tools/recompute_tmpg_fails_charge"
tags: ["TODO_TAGS_REVIEW", "TODO_AP2_EXPORT_REVIEW"]
---

# TMPG Fails-Charge Recompute

`POST /v1/tools/recompute_tmpg_fails_charge`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/recompute_tmpg_fails_charge`
- Auth: none declared

Recomputes the NY Fed Treasury Market Practices Group fails-charge claim a buyer presents to a failing seller on a UST, agency, or agency-MBS settlement fail: charge = max(0, 3% minus the caller-declared reference rate) / 360 x par amount x days failed, per the published trading practice (2016 revision). Accepts a batch of fails in one pass, each with its own par amount, reference rate, and day count, and diffs the recomputed charge against a caller-declared claimed amount within a caller-declared tolerance -- never a default. A fail with no claimed amount contributes an INDETERMINATE line rather than a silent pass. Overall verdict DIVERGES if any fail's recomputed charge falls outside tolerance of its claimed amount; INDETERMINATE if every fail is within tolerance or unclaimed but at least one has no claimed amount to diff, or if the tolerance itself, or every fail, is absent; MATCHES only when every fail carries a claimed amount and every one agrees within tolerance. Par and claimed amounts are integer minor units, so the arithmetic is exact; recomputed charges round to the nearest minor unit. Performs arithmetic only over caller-declared par amounts, reference rates, day counts, and claimed amounts -- does not source, derive, or independently verify fail status, par amounts, or reference rates from any feed, and makes no TMPG/NY Fed endorsement claim. Clause: NY Fed TMPG fails-charge trading practice (2016 revision); confirm current text at newyorkfed.org before relying on a computed figure for a live claim.

**Tool URL:** https://ainumbers.co/chaingraph/art-575-tmpg-fails-charge-recompute.html

## Request body

- object
  - `diff_tolerance_minor` unknown, required
  - `fails` unknown[], required
    - unknown

## Response `200`

Successful tool execution result

- object
  - `clause_note` string
  - `decision` object
    - `execution_state` string
    - `reason` string
  - `determinations` object[]
    - `claimed_charge_minor` integer
    - `days_failed` integer
    - `delta_minor` integer
    - `fail_id` string
    - `par_amount_minor` integer
    - `rate_diff_bps` integer
    - `recomputed_charge_minor` integer
    - `reference_rate_bps` integer
    - `verdict` string
  - `diff_tolerance_minor` integer
  - `fail_count` integer
  - `rejected_inputs` unknown[]
    - unknown
  - `scope_note` string
  - `total_claimed_charge_minor` integer
  - `total_recomputed_charge_minor` integer
  - `verdict` string

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
