AxiomEvidence Format
GitHub

AEF v1.0 spec

The canonical specification source is axiom-sdk/spec/AEF-v1.0.md in this repository.

Normative hashing rule

json.dumps(
    {
        "kind": kind,
        "subject_id": subject_id,
        "subject_type": subject_type,
        "payload": payload,
        "created_at": created_at,
        "previous_hash": previous_hash,
    },
    sort_keys=True,
    separators=(",", ":"),
    ensure_ascii=False,
).encode("utf-8")

The SHA-256 digest of those canonical bytes is the AEF hash.

Why this matters

If producer and verifier disagree on whitespace, Unicode escaping, or timestamp normalization, the ledger stops being portable. The SDK and backend in this repo now share the same canonical rule.