---
title: "Summa MST Liability Aggregator"
method: POST
path: "/v1/tools/aggregate_summa_mst_liabilities"
tags: ["merkle sum tree", "proof of reserves", "summa", "MST", "inclusion proof", "SHA-256", "liability aggregation"]
---

# Summa MST Liability Aggregator

`POST /v1/tools/aggregate_summa_mst_liabilities`

## Request

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

Given up to 16 (id, balance) leaf entries, deterministically builds a SHA-256 Merkle-sum-tree and emits the root commitment {hash, sum} plus every leaf's full inclusion proof. Applies Maxwell's (eprint 2022/043) mandatory range-check mitigation on the input side before building the tree. Pattern-borrowed from Summa (PSE)'s proof-of-reserves node layout, no code vendored. The generator counterpart to the MST inclusion checker (art-620) -- its proofs are consumable directly as that tool's input. Verify-only: commits to whatever balances it is given, never asserts they reflect real reserves.

**Tool URL:** https://ainumbers.co/chaingraph/art-621-summa-mst-liability-aggregator.html
**AP2/Policy Mandate export:** yes

## Request body

- object
  - `leaves` unknown[], required: Array of {id, balance} (balance as a decimal string), 1-16 entries.
    - unknown
  - `max_balance` string: Optional declared MAX_BALANCE decimal-string bound.

## Response `200`

Successful tool execution result

- object
  - `valid` boolean
  - `error` string, nullable
  - `leaf_count` number
  - `tree_depth` number
  - `max_balance` string
  - `root` object, nullable
  - `proofs` unknown[]
    - unknown

---

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