---
slug: what-is-receipt-is-proof
title: What Is "The Receipt Is the Proof"
canonical: https://miscsubjects.com/a/what-is-receipt-is-proof
---

<!-- hierarchy:nav -->
> **Path:** [OIP](https://miscsubjects.com/a/oip) › [Thinker Reference](https://miscsubjects.com/a/oip-thinker-reference) › [Protocol Concepts](https://miscsubjects.com/a/oip-protocol-concepts) › **What Is "The Receipt Is the Proof"**
>
> **Shelf:** Protocol Concepts · **Traversal:** self-explaining · hierarchical · voxel-ready
> **Machine root:** [OIP tree](https://miscsubjects.com/api/dispatch?map=1&format=markdown) · [Registry](https://miscsubjects.com/api/dispatch?registry=1)

# What Is "The Receipt Is the Proof"

## §SELF — what-is-receipt-is-proof

**What this page is:** An explanation of OIP's foundational accountability principle.
**What it explains:** Why the receipt is the sole proof that an action occurred, and how the system ensures this.
**Why read it:** To understand how OIP establishes ground truth in a world of model-generated actions.

### What "The Receipt Is the Proof" Means

"The receipt is the proof" is the foundational principle of OIP's accountability model. It means: an action is proven only by the receipt — the immutable, verifiable, ledgered record of the invocation. Not by intent. Not by documentation. Not by a success status code from a server.

The receipt is the ground truth.

### What a Receipt Contains

A receipt contains six elements:

1. **Who invoked what** — the entity (human or model) that initiated the action, and the operation that was called.
2. **When** — the timestamp of the invocation, recorded at the time of execution.
3. **With what authority** — the credentials or permissions that authorized the invocation.
4. **What the result was** — the output of the operation, whether success, failure, or error.
5. **Where to verify it** — a confirm URL that anyone can access to check the receipt's validity.
6. **Links to related receipts** — bidirectional links to prior and subsequent invocations in the chain.

Anyone can verify a receipt by opening its confirm URL. No secret key, no special access, no authentication is required. Verification is public.

### How the Receipt System Works

Receipts are append-only. Once a receipt is created, it is never edited. Never deleted. Never modified.

If an invocation was wrong — if it produced an incorrect result, used wrong parameters, or failed due to a bug — the system does not delete or alter the original receipt. Instead, it creates a repair receipt. The repair receipt is linked bidirectionally to the failed receipt: the failed receipt points to the repair, and the repair points back to the failed receipt.

The failed receipt remains part of the permanent record. The full history — every attempt, every failure, every repair — is preserved.

This is proof through persistence, not through perfection.

### Why It Matters

In a system where models operate infrastructure, you need a way to prove what happened. Models can hallucinate (generate plausible but incorrect information), misremember (lose context or confuse similar events), or claim to have performed actions they did not perform.

The receipt is the arbiter between:

- Human memory (which is fallible)
- Model output (which is not guaranteed to correspond to system state)
- Actual system state (which the receipt records)

When a human says "I told the model to do X" and the model says "I did X," the receipt determines whether X actually occurred, when it occurred, and what the result was.

### What It Replaces

Traditional systems use multiple incomplete proxies for proof:

- **Intent:** "I meant to deploy the service." Intent is not proof. Intent does not guarantee execution.
- **Documentation:** "The docs say the pipeline should run." Documentation describes intended behavior, not actual behavior.
- **HTTP status codes:** "The server returned 200 OK." A status code indicates the server accepted a request, not that the intended action occurred correctly.
- **Logs:** Log entries are mutable. They can be altered, truncated, or lost. They are not designed for verification by third parties.

The receipt replaces all of these with a single, verifiable, immutable record.

### Limitations

- **Receipts prove invocation, not correctness.** A receipt proves that operation X was called with arguments Y at time Z. It does not prove that X was the right operation to call, or that Y were the right arguments. Human judgment is still required.
- **Receipts depend on the ledger's integrity.** If the ledger itself is compromised, receipts may be forged or reordered. OIP mitigates this through distributed replication (Viewstamped Replication) and cryptographic chaining.
- **Verification requires access.** The confirm URL must be accessible. If the ledger is offline or the URL is unreachable, verification fails even if the receipt is valid.
- **Repairs create complexity.** A chain of repairs can become long and difficult to audit. The system preserves full history, but navigating that history requires tooling.

### How It Connects to Other Ideas

- **Double-entry bookkeeping:** In accounting, every transaction is recorded as a debit and a credit in separate accounts. Neither can be altered once recorded; errors are corrected with new entries. The receipt system follows the same principle: immutable records, correction through new entries.
- **Blockchain:** A blockchain is an append-only ledger of transactions, verified by consensus among distributed participants. OIP's receipt ledger uses similar principles (append-only, verifiable, distributed) but is optimized for invocations rather than financial transfers.
- **Event sourcing:** Event sourcing is a software architecture pattern where system state is derived from a log of immutable events, rather than stored directly. The receipt system is a form of event sourcing: the ledger of receipts is the source of truth, and system state is derived from it.
- **The Actor Model:** In the Actor Model, actors communicate by sending messages. An invocation in OIP is a message to an actor (an OIP object). The receipt is the proof that the message was sent, processed, and produced a result. It closes the loop: message in, receipt out.

### Sources

- OIP Specification — Accountability Layer (receipt format and verification protocol)
- Hewitt, C., Bishop, P., Steiger, R. "A Universal Modular Actor Formalism for Artificial Intelligence." *IJCAI*, 1973. (Actor Model — message passing as fundamental operation)
- Oki, B., Liskov, B. "Viewstamped Replication." *PODC*, 1988. (Distributed ledger consensus)

---

## Up the tree

- [OIP root](https://miscsubjects.com/a/oip) — protocol root, zero-context entry
- [Thinker Reference hub](https://miscsubjects.com/a/oip-thinker-reference) — full hierarchy map
- [Protocol Concepts shelf](https://miscsubjects.com/a/oip-protocol-concepts) — siblings on this shelf
- [Voxel graph article](https://miscsubjects.com/a/what-is-voxel-graph) — how pages link as voxels
- [Self-describing protocol](https://miscsubjects.com/a/what-is-self-describing-protocol)

## Related on this shelf

- [What Is Autopoiesis](https://miscsubjects.com/a/what-is-autopoiesis)
- [What Is Capability-Based Security](https://miscsubjects.com/a/what-is-capability-security)
- [What Is a Capability Token](https://miscsubjects.com/a/what-is-capability-token)
- [What Is a Confused Deputy](https://miscsubjects.com/a/what-is-confused-deputy)
- [What Is Context as Cursor](https://miscsubjects.com/a/what-is-context-as-cursor)
- [What Is a Convergence Catalogue](https://miscsubjects.com/a/what-is-convergence-catalogue)
- [What Is a Falsification Surface](https://miscsubjects.com/a/what-is-falsification-surface)
- [What Is HATEOAS](https://miscsubjects.com/a/what-is-hateoas)

## Machine surfaces

- Public page: `https://miscsubjects.com/a/what-is-receipt-is-proof`
- JSON article: `https://miscsubjects.com/api/articles/what-is-receipt-is-proof`
- OIP ask: `https://miscsubjects.com/api/dispatch?ask=What%20Is%20%22The%20Receipt%20Is%20the%20Proof%22`


---

## Where OIP does this differently (required edge)

OIP difference: philosophy must pass the same bar — no count or convergence without checkable source ([Count Discipline](/a/oip-count-discipline)).

