---
title: "Settlement Finality Classifier"
method: POST
path: "/v1/tools/classify_settlement_finality"
tags: ["TODO_TAGS_REVIEW", "TODO_AP2_EXPORT_REVIEW"]
---

# Settlement Finality Classifier

`POST /v1/tools/classify_settlement_finality`

## Request

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

Vendor-neutral settlement-finality classifier covering three settlement models, each on its own ordered tier ladder: an optimistic challenge window (soft, posted, challengeable, final), a validity proof (soft, committed, proven_unfinalized, final) and single-slot BFT consensus (soft, final). The ladders are deliberately kept separate because a posted batch on an optimistic rollup and a committed batch on a validity rollup are not the same claim, and the ladder actually used is emitted as tier_ladder so the receipt is self-describing. Validity-proof finality is treated as two gates rather than a timer, proof accepted and settlement-layer block finalised, so the in-between position is reported as proven_unfinalized. Adjudicates an asserted finality tier and flags an overstated claim. Chain identity is free text echoed verbatim: there is no chain enum, no named chain profile and no published window table, so the node cannot go stale when a network changes. Evaluation time is caller supplied and the kernel reads no clock. Zero network, zero PII.

**Tool URL:** https://ainumbers.co/chaingraph/art-492-classify-settlement-finality.html

## Request body

- object
  - `as_of_ts` unknown, required
  - `assertion_created_at` unknown, required
  - `batch_committed_at` unknown, required
  - `batch_posted` unknown, required
  - `chain_label` unknown, required
  - `challenge_window_seconds` unknown, required
  - `claimed_tier` unknown, required
  - `expected_proof_cadence_seconds` unknown, required
  - `included_in_block` unknown, required
  - `l1_finality_seconds` unknown, required
  - `l1_finalized` unknown, required
  - `proof_accepted` unknown, required
  - `proof_submitted_at` unknown, required
  - `quorum_committed` unknown, required
  - `quorum_pct_of_stake` unknown, required
  - `required_tier` unknown, required
  - `settlement_model` unknown, required

## Response `200`

Successful tool execution result

- object
  - `as_of_ts` integer
  - `chain_label` string
  - `claim_verdict` string
  - `claimed_tier` string
  - `draft_pinned` boolean
  - `earliest_final_at` integer
  - `finality_tier` string
  - `meets_required_tier` boolean
  - `rationale` string[]
  - `reorg_exposure` string
  - `required_tier` string
  - `settlement_model` string
  - `tier_ladder` string[]
  - `tier_rank` integer

---

[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)
