Independent Verification
The seven checks, and what each one actually establishes.
Verification runs a fixed sequence of checks and reports each one separately. A verdict without its reasoning would be just another claim.
| Check | Establishes |
|---|---|
| Decision exists | The record is present and was registered at a known time |
| Commitment matches | Re-hashing the stored fields reproduces the sealed digest |
| Committed before outcome | The commitment timestamp precedes settlement |
| Merkle inclusion is valid | The leaf resolves through its sibling path |
| Merkle root matches | That path lands on the batch root |
| Anchor exists | The chain independently returns the same root |
| Outcome matches | The revealed result hashes to the bound outcome digest |
Checks that do not yet apply — an unsettled decision has no outcome to order against — are reported as SKIPPED rather than silently passed. A result where nothing failed but some checks were skipped is shown as incomplete, not verified.
Verifying without MERIT
The verification endpoint is public and unauthenticated, because verification that required our permission would not be independent. The proof endpoint returns a self-contained bundle, and the SDK ships its own implementation of the Merkle algorithm so a client can recompute the root with no MERIT code in the path. If the two disagree, believe your local computation.