---
title: "Settlement-Asset Backing Invariant"
method: POST
path: "/v1/tools/verify_settlement_asset_backing"
tags: ["TODO_TAGS_REVIEW", "TODO_AP2_EXPORT_REVIEW"]
---

# Settlement-Asset Backing Invariant

`POST /v1/tools/verify_settlement_asset_backing`

## Request

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

Checks whether value held across an issuance topology stays fully backed in aggregate, not merely per account, as balances move between caller-declared buffers. The caller names each buffer (its role, asset type, and what it backs), declares a backing-ratio requirement, per-buffer floor and ceiling, and a movement set. Evaluates the aggregate backing verdict before and after the declared movements, per-buffer floor/ceiling breaches, the thinnest safe margin per buffer, declared idle-balance cost versus declared crossing cost, and the specific movement that first breaks the invariant. Settlement-asset agnostic: the same kernel runs unchanged for centrally-issued digital cash, pooled-account-backed digital cash, and a reserve-backed stablecoin, demonstrated on fixtures with zero kernel difference. Does not sweep, net, or attest reserves, and issues no recommendation to move money.

**Tool URL:** https://ainumbers.co/chaingraph/art-521-settlement-asset-backing-invariant.html

## Request body

- object
  - `as_of` unknown, required
  - `backing_model` unknown, required
  - `backing_ratio_bps` unknown, required
  - `buffers` object[], required
    - `max_minor_units` unknown
  - `cost_per_crossing_minor_units` unknown, required
  - `idle_cost_bps` unknown, required
  - `movements` unknown[], required
    - unknown
  - `value_in_circulation_minor_units` unknown, required

## Response `200`

Successful tool execution result

- object
  - `aggregate_backing_after_display` string
  - `aggregate_backing_after_minor_units` integer
  - `aggregate_backing_before_display` string
  - `aggregate_backing_before_minor_units` integer
  - `as_of` string
  - `backing_applicable` boolean
  - `backing_intact_after` boolean
  - `backing_intact_before` boolean
  - `backing_model` string
  - `backing_ratio_bps` integer
  - `breaches_after` unknown[]
    - unknown
  - `breaches_before` unknown[]
    - unknown
  - `buffer_count` integer
  - `buffer_margins` object[]
    - `buffer_id` string
    - `safe_margin_minor_units` integer
  - `buffers` object[]
    - `asset_type` string
    - `backs` string
    - `balance_after_minor_units` integer
    - `balance_before_minor_units` integer
    - `buffer_id` string
    - `max_minor_units` string
    - `min_minor_units` integer
    - `role` string
  - `crossing_cost_display` string
  - `crossing_cost_minor_units` integer
  - `crossing_count` integer
  - `idle_amount_minor_units` integer
  - `idle_cost_display` string
  - `idle_cost_minor_units` integer
  - `movement_breaks_invariant` string
  - `movements` object[]
    - `amount_minor_units` integer
    - `applied` boolean
    - `external_crossing` boolean
    - `from` string
    - `movement_id` string
    - `to` string
  - `note` string
  - `rationale` string[]
  - `rejected_inputs` unknown[]
    - unknown
  - `required_backing_display` string
  - `required_backing_minor_units` integer
  - `thinnest_buffer` object
    - `buffer_id` string
    - `safe_margin_minor_units` integer
  - `value_in_circulation_display` string
  - `value_in_circulation_minor_units` 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)
