Chain and Receipts

Cryptographic verification of reasoning steps. The trust layer.

Chains

Every reasoning session produces a chain. Each turn in the session adds a link to the chain. Links are cryptographically hashed and linked to the previous hash, forming an immutable record of the reasoning process.

json
{
  "chain": {
    "id": "ch_abc123",
    "root": "0xdef456...",
    "length": 5,
    "verified": true
  }
}

Chain integrity

The chain root is the hash of the first turn. Each subsequent turn hashes the previous turn's hash with the current output, creating a linked chain. If any link is modified, the chain breaks — verification fails. This is handled by the xycore package.

Receipts

When a session completes, a receipt is generated. The receipt is a public, verifiable proof that the reasoning happened the way it claims. Receipts contain the chain ID, root hash, length, and verification status.

Receipts are always public. No authentication is required to view a receipt. This is by design — verifiability requires transparency.

Pruv verification

Receipts are published to the pruv network for independent third-party verification. The pruv service provides external attestation that the chain is intact and was produced by the Doorway engine. The pruv_id in the receipt links to this external verification.