Proof Lab
StartEcosystem
Explore (579)Live Systems (52)Pricing
Log InGet API Key✓ Verify It Yourself

H33-74 Receipt Schema — v1.0.0

Version: 1.0.0
Status: Production
Last Updated: 2026-05-22
Canonical URL: https://h33.ai/schemas/h33-74/
Schema Draft: JSON Schema draft 2020-12
Editor: Eric Beans, H33.ai, Inc.

1. Overview

The H33-74 receipt is a 74-byte fixed-width attestation primitive. This schema defines the JSON representation used for API transport, storage, and interoperability. The JSON form is a lossless mapping from the binary layout defined in the H33-74 Specification.

Every field in the JSON representation corresponds to a specific byte range in the 74-byte binary form. Producers MUST be able to round-trip between binary and JSON without data loss. Consumers MAY accept either form.

Definition. The H33-74 receipt is the portable 74-byte post-quantum evidence primitive that H33-74 produces — a self-contained attestation that binds a computation to its anchor commitment, signature flags, and cached locator so any third party can re-verify it offline against this schema and its hashes.

Why this schema exists. Evidence is only portable if its structure is pinned publicly. This schema exists so an independent verifier — not just the producing system — can confirm a receipt is well-formed and reproduce its result after keys rotate or the originating system is gone.

What this receipt is NOT. The receipt is the evidence artifact, not the verdict on it. Validating it against this schema is not the independent verdict (that is Verification), not operational monitoring (that is HATS), and not the governance decision (that is Agent-008). H33-74 produces the receipt; Verification independently renders the verdict on it. The cryptographic primitives referenced below — SHA3-256, ML-DSA, FALCON, SLH-DSA, CRC-16/CCITT — are external standards this schema uses, not H33 inventions.

2. Definitions

Anchor Commitment
Bytes 0-31. A 32-byte SHA3-256 digest of the full attestation receipt. Published on-chain as the binding anchor.
Cached Receipt
Bytes 32-73. A 42-byte suffix containing version, computation type, signature flags, chain target, timestamp delta, receipt locator, tenant ID, and checksum.
H33 Epoch
2026-01-01T00:00:00Z. The reference point for timestamp_delta. All timestamp deltas are seconds elapsed since this epoch.
Receipt Locator
A 16-byte opaque identifier used to retrieve the full receipt from the Cachee layer.
Domain Separator
The UTF-8 string H33-74:v1:commitment: (24 bytes). Prepended to hash inputs.

3. Binary Layout

The 74-byte binary form is the canonical representation. The JSON form is derived from it.

OffsetLengthFieldTypeJSON Key
032Commitmentbytesanchor_commitment
321Versionuint8version
331Computation Typeuint8computation_type
341Signature Flagsuint8signature_flags
351Chain Targetuint8chain_target
364Timestamp Deltauint32 LEtimestamp_delta
4016Receipt Locatorbytesreceipt_locator
5616Tenant IDUUID bytestenant_id
722Checksumuint16 LEchecksum
Offset (hex): 00 20 21 22 23 24 28 38 48 4A +-------------------------------+--+--+--+--+--------+------------------------+------------------------+---+ | commitment (32) |v |ct|sf|ch| t_delta| receipt_locator (16) | tenant_id (16) |chk| +-------------------------------+--+--+--+--+--------+------------------------+------------------------+---+ |<-------- on-chain (32) -------->|<-------------- cached receipt (42) ---------------------------------------->|

4. JSON Representation

The JSON form maps each binary field to a named key. Byte arrays are hex-encoded. Integer fields are represented as JSON numbers. The payload_hash field is a computed convenience field not present in the binary form.

JSON KeySourceJSON TypeEncoding
anchor_commitmentBytes 0-31stringLowercase hex, 64 characters
cached_receiptBytes 32-73stringLowercase hex, 84 characters
versionByte 32integerUnsigned integer
computation_typeByte 33integerUnsigned integer (see enum)
signature_flagsByte 34integerUnsigned integer (bitfield)
chain_targetByte 35integerUnsigned integer (see enum)
timestamp_deltaBytes 36-39integerUnsigned 32-bit LE integer
receipt_locatorBytes 40-55stringLowercase hex, 32 characters
tenant_idBytes 56-71stringUUID string (8-4-4-4-12)
checksumBytes 72-73integerUnsigned 16-bit LE integer
payload_hashComputedstringSHA3-256 of full 74 bytes, hex

5. JSON Schema Definition

{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://h33.ai/schemas/h33-74/v1.0.0", "title": "H33-74 Receipt", "description": "JSON representation of the 74-byte H33-74 attestation receipt.", "type": "object", "required": [ "anchor_commitment", "cached_receipt", "version", "computation_type", "signature_flags", "chain_target", "timestamp_delta", "receipt_locator", "tenant_id", "checksum" ], "properties": { "anchor_commitment": { "type": "string", "pattern": "^[a-f0-9]{64}$", "description": "SHA3-256 commitment. Hex-encoded bytes 0-31." }, "cached_receipt": { "type": "string", "pattern": "^[a-f0-9]{84}$", "description": "Hex-encoded bytes 32-73." }, "version": { "type": "integer", "const": 1, "description": "Primitive version. Must be 1." }, "computation_type": { "type": "integer", "minimum": 1, "maximum": 11, "description": "Computation type enum (0x01-0x0B)." }, "signature_flags": { "type": "integer", "minimum": 0, "maximum": 7, "description": "Bitfield: bit0=ML-DSA, bit1=FALCON, bit2=SLH-DSA." }, "chain_target": { "type": "integer", "enum": [0, 1, 2, 3, 4], "description": "0=unanchored, 1=Bitcoin, 2=Solana, 3=Ethereum, 4=Arbitrum." }, "timestamp_delta": { "type": "integer", "minimum": 0, "maximum": 4294967295, "description": "Seconds since H33 epoch (2026-01-01T00:00:00Z)." }, "receipt_locator": { "type": "string", "pattern": "^[a-f0-9]{32}$", "description": "Cachee locator. Hex-encoded 16 bytes." }, "tenant_id": { "type": "string", "format": "uuid", "description": "Tenant UUID v4." }, "checksum": { "type": "integer", "minimum": 0, "maximum": 65535, "description": "CRC-16/CCITT over bytes 0-71." }, "payload_hash": { "type": "string", "pattern": "^[a-f0-9]{64}$", "description": "SHA3-256 of the full 74 bytes. Computed, not stored in binary." } }, "additionalProperties": false }

6. Field Definitions

FieldTypeRequiredDescriptionConstraints
anchor_commitmentstringYesSHA3-256 digest of the canonical receipt serialization, hex-encoded.64 lowercase hex chars
cached_receiptstringYesHex encoding of the 42-byte cached receipt (bytes 32-73).84 lowercase hex chars
versionintegerYesPrimitive version number.Constant: 1
computation_typeintegerYesEnumerated computation class. Values 1-11 are defined.1-11 inclusive
signature_flagsintegerYesBitfield for PQ signature families. Conformant receipts have value 7 (all three).0-7
chain_targetintegerYesTarget chain for anchoring.0, 1, 2, 3, or 4
timestamp_deltaintegerYesSeconds since H33 epoch (2026-01-01T00:00:00Z).0 to 4,294,967,295
receipt_locatorstringYesCachee locator for full receipt retrieval.32 lowercase hex chars
tenant_idstringYesUUID v4 of the owning tenant.UUID format
checksumintegerYesCRC-16/CCITT over bytes 0-71. Transport integrity only.0-65535
payload_hashstringNoSHA3-256 of the full 74 bytes. Convenience field.64 lowercase hex chars

7. Cryptographic Assumptions

The H33-74 receipt is a compact reference. The actual signatures reside in the full receipt, retrievable via receipt_locator. The commitment cryptographically binds the compact form to the full form.

8. Canonical Valid Example

8.1. JSON Form

Valid H33-74 Receipt (JSON)
{ "anchor_commitment": "a3f8c1d2e4b5f67890abcdef1234567890abcdef1234567890abcdef12345678", "cached_receipt": "0101070112a50d00c0ffee01020304050607080910111213141516a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f84f2a", "version": 1, "computation_type": 1, "signature_flags": 7, "chain_target": 1, "timestamp_delta": 12345678, "receipt_locator": "c0ffee01020304050607080910111213", "tenant_id": "a1b2c3d4-e5f6-a7b8-c9d0-e1f2a3b4c5d6", "checksum": 10831, "payload_hash": "b7e4c2f1a8d3e6f09b2c5d8e1f4a7b0c3d6e9f2a5b8c1d4e7f0a3b6c9d2e5f8" }

8.2. Hex Form

Valid H33-74 Receipt (hex, 148 chars = 74 bytes)
a3f8c1d2e4b5f67890abcdef1234567890abcdef1234567890abcdef123456780101070112a50d00c0ffee01020304050607080910111213141516a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f84f2a

9. Canonical Invalid Example

Invalid H33-74 Receipt (JSON)
{ "anchor_commitment": "ZZZZ", // ERROR: not 64 hex chars "cached_receipt": "0101", // ERROR: not 84 hex chars "version": 2, // ERROR: must be 1 "computation_type": 0, // ERROR: minimum is 1 (0x00 is RESERVED) "signature_flags": 3, // WARNING: only 2 of 3 families (non-conformant) "chain_target": 5, // ERROR: not a valid chain target "timestamp_delta": -1, // ERROR: must be >= 0 "receipt_locator": "c0ffee", // ERROR: not 32 hex chars "tenant_id": "not-a-uuid", // ERROR: invalid UUID format "checksum": 70000 // ERROR: exceeds uint16 max (65535) }

10. Encoding Rules

  1. Byte order. Multi-byte integer fields (timestamp_delta, checksum) are little-endian in the binary form. In JSON, they are represented as decimal integers.
  2. Hex encoding. All byte-array fields (anchor_commitment, cached_receipt, receipt_locator) use lowercase hex encoding with no 0x prefix and no separators.
  3. UUID encoding. The tenant_id is stored as 16 big-endian bytes in binary. In JSON, it is represented as the standard UUID string format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
  4. No padding. The 74-byte binary form has no alignment padding. JSON producers MUST NOT add padding fields.
  5. Canonical JSON. When computing payload_hash over the JSON form, keys MUST be sorted alphabetically, with no whitespace. UTF-8 encoding.

11. Verification Flow

To verify an H33-74 receipt from its JSON representation:

  1. Schema validation. Validate against the JSON Schema in Section 5.
  2. Decode to binary. Reconstruct the 74-byte binary form from the JSON fields.
  3. Checksum verification. Compute CRC-16/CCITT over bytes 0-71. Compare to checksum. Reject on mismatch.
  4. Consistency check. Verify that cached_receipt hex decodes to bytes 32-73 of the reconstructed binary. This confirms the expanded fields match the compact form.
  5. Commitment verification. If the full receipt is available, recompute SHA3-256(domain_separator || canonical_receipt_bytes) and compare to anchor_commitment.
  6. Chain verification. If chain_target != 0, verify the commitment exists on-chain at the expected location.
  7. Signature verification. Retrieve the full receipt via receipt_locator. Verify all signatures indicated by signature_flags.

12. Failure Modes

Failure CodeDescriptionSeverity
SCHEMA_INVALIDJSON does not conform to the schema. Missing fields, wrong types, pattern mismatches.Fatal
CHECKSUM_MISMATCHCRC-16 over bytes 0-71 does not match checksum. Transport corruption.Fatal
COMMITMENT_MISMATCHRecomputed commitment does not match anchor_commitment. Receipt has been tampered with.Fatal
RECEIPT_NOT_FOUNDreceipt_locator does not resolve to a full receipt in Cachee.Fatal
CHAIN_NOT_ANCHOREDchain_target is non-zero but the commitment is not found on the target chain.Warning
SIGNATURE_INCOMPLETEsignature_flags is not 0x07. Fewer than three PQ families signed the receipt.Warning
VERSION_UNKNOWNversion is not 1. This implementation does not support the version.Fatal
COMPUTATION_TYPE_RESERVEDcomputation_type is 0x00 or in the unassigned range (0x0C-0xFF).Fatal
CONSISTENCY_FAILUREExpanded JSON fields do not match the cached_receipt hex string.Fatal
TIMESTAMP_OVERFLOWtimestamp_delta resolves to a date before the H33 epoch or unreasonably far in the future.Warning

13. Frequently Asked Questions

What is an H33-74 receipt, and what does it NOT do?

It is the portable 74-byte post-quantum evidence artifact H33-74 produces. It is the evidence, not the verdict: it does not render the independent verdict (that is Verification), does not monitor operations (that is HATS), and does not make the governance decision (that is Agent-008).

How is this different from Verification?

H33-74 produces the receipt described by this schema; Verification independently renders the verdict on it. The verification flow in Section 11 confirms the receipt is well-formed and reproducible; judging whether the evidence should be trusted, against policy, is Verification's role on a separate axis.

How is a receipt independently verified?

Offline, by anyone, trusting no one. A verifier validates the JSON against this schema, decodes to binary, re-checks the CRC-16 checksum and the SHA3-256 anchor commitment, and verifies the PQ signatures indicated by signature_flags (Section 11). Any changed byte breaks a check, so the result is tamper-evident. SHA3-256, CRC-16/CCITT, and the ML-DSA / FALCON / SLH-DSA families are external standards this schema uses.

When should someone use an H33-74 receipt? And when not?

Use it when you need portable, offline-verifiable proof that a computation happened and survives infrastructure, key rotation, and time — confirmable by an outside party with no H33 contact. Do not use it when you need the independent verdict on whether that receipt should be trusted — use Verification instead; when you need to monitor operations over time — use HATS instead; or when you need to decide who may act — use Agent-008 instead. The receipt is the evidence, not the verdict on it.

Owner. H33-74 owns and produces this portable 74-byte post-quantum evidence primitive; this schema is one of its Attestation & Receipts expressions.

Boundaries. Verification renders the verdict · HATS records and monitors · Agent-008 governs the decision.