OpenChainGraph Suite · ART-621

Summa MST Liability Aggregator

Given up to 16 (id, balance) leaf entries, this tool deterministically builds a SHA-256 Merkle-sum-tree and emits the root commitment plus every leaf's full inclusion proof. It is the generator counterpart to the MST inclusion checker (art-620). The node layout is pattern-borrowed from Summa (PSE)'s proof-of-reserves design: leaf hash = H(id, balance), sum = balance; middle-node hash = H(left.sum+right.sum, left.hash, right.hash), sum = left.sum+right.sum. No Summa code, circuit, or package is used; this is a from-scratch, non-ZK, plain-JS SHA-256 tree, not a Poseidon one.

Merkle-Sum-TreeProof of ReservesSHA-256Zero PIIClient-side only
🔒 All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data — use synthetic or anonymised inputs only.
⚠ Every leaf identifier must be an opaque, already-hashed account identifier (e.g. a commitment your exchange published, or a synthetic demo ID). Never a raw username, account number, or email.
Scope & reliance
This kernel commits to whatever leaf balances it is given. It never claims those balances reflect real reserves. Before building the tree, it rejects any leaf balance that is negative or exceeds the declared MAX_BALANCE bound (Maxwell, eprint 2022/043 §4.1, the "broken MST" hazard), the same mitigation Summa's own circuit applies via range-checking, done here at the application layer since this tool has no ZK circuit. Inclusion and local range-check passing means the emitted proofs are internally consistent, non-negative, and chain to the emitted root; it is not a statement that a reserve is solvent, that the leaf set is complete, or that any identifier corresponds to a real account. This tool is fixture-bounded to 16 leaves (depth-4 tree): a demo/example-grade generator, not a production liability-aggregation pipeline.
Leaves (max 16)
Opaque IdentifierBalance (base units)
Result
Execution Hash & §4 Artifact
SHA-256 execution hash (JCS canonical, RFC 8785):