--- title: canoncheck emoji: 🔁 colorFrom: yellow colorTo: gray sdk: gradio sdk_version: 6.19.0 app_file: app.py pinned: false license: apache-2.0 short_description: Cross-language canonical JSON + sha256/keccak256 (RFC 8785) --- # canoncheck RFC 8785 canonical JSON with matching Python and JS implementations. Paste a record, get the canonical form and its sha256 / keccak256. Duplicate keys and NaN/Infinity are rejected. `pip install canoncheck` — source: https://github.com/MarkovianProtocol/canoncheck ## Conformance The AXES Golden Trace conformance ruling ([magentixai/axes#6](https://github.com/magentixai/axes/issues/6)) adopted this vector layout and the integer-minor-units numeric argument. The v2 set — money as `Amount{value, decimals, asset}` in integer minor units, ratios out of hash scope, RFC 8785 — is at [vectors-axes-v2/](https://github.com/MarkovianProtocol/canoncheck/tree/main/vectors-axes-v2): 15 cases, Python and Node byte-identical. Part of the [Markovian Protocol](https://markovianprotocol.com) stack: the determinism substrate under provenance and resolution. A receipt or verdict is only recomputable by a third party if everyone canonicalizes the record the same way first.