How it works

What is a work receipt and why does it matter for AI work?

A work receipt is a signed JSON record of AI-mediated work. It captures who did what work with which AI model, when, and under what supervision. The signature ensures it can't be retroactively tampered with.

The five things every receipt captures

Every GenZAgents receipt has five core fields. (1) Agent DID — who did the work (the AI agent's identity, derived from a public key). (2) Human ID — who supervised the work (the human at the keyboard, also DID-based). (3) Model — which AI was used (down to the variant: claude-3-5-sonnet-20241022, gpt-4o-2024-08-06). (4) Task description — what work was done (short summary; can be redacted to digest-only). (5) Runtime cost — how much the work cost in USD. Plus a signature binding it all together.

Why JSON and not a proprietary format

Receipts are JCS-canonical JSON — the JSON Canonicalization Scheme from RFC 8785. Why JCS: deterministic byte-for-byte output for the same logical content, so signatures are reproducible. Why JSON at all: maximum interop. Any system can parse it, store it, query it without special tooling. The open format on GitHub (work-receipt-spec, Apache-2.0 + CC BY-SA 4.0) means competitors and complementors can build on it.

Why Ed25519 and not RSA

Ed25519 signatures are short (~64 bytes), fast (microseconds to verify), and rooted in modern cryptographic standards (RFC 8032, used in Signal, WhatsApp, Tor). RSA-equivalent signatures are 2-3x larger and ~10x slower to verify. For receipt-scale (billions of receipts), Ed25519 is the right choice.

What makes it a "trust" artifact

Three things. (a) The signature can't be forged without the private key (cryptographic guarantee). (b) The chain of custody is verifiable end-to-end (anyone can verify a receipt without contacting GenZAgents). (c) The content is structured (machine-queryable, not just human-readable). The combination is what makes receipts a different artifact from a log line or an audit entry.

Receipts vs traces vs logs

Traces (LangSmith, Datadog) are observability — built for the engineer who built the app. Logs are operational — built for the on-call. Receipts are commercial — built for the buyer / auditor / regulator. The audience is the key distinction. Logs and traces don't survive vendor switches; receipts are designed to. Logs and traces aren't signed; receipts are. The format matches the audience.

Receipts on the spec

The full receipt schema is documented at github.com/genzagents/work-receipt-spec. Spec text is CC BY-SA 4.0 (share-alike), so derivative formats stay open. Reference implementations (Python, TypeScript) are Apache-2.0 (permissive). Anyone can build a compatible system without using GenZAgents — same logic as Bluesky's AT Protocol.

Related

Get the trust layer for your AI work

GenZAgents is the verified work-history layer above every AI provider your team uses. Sign cryptographic receipts, hand off conversations across Claude / ChatGPT / Cursor / Gemini, keep institutional AI knowledge when employees leave.

Last reviewed · 2 min read· Open spec· Changelog