Project Ledger · Receipts Playground
Runs in your browser · No server · No install
Try it live · Six steps · Under 60 seconds

A cryptographic AI Decision Receipt — signed, chained, verifiable. Without us.

This playground runs the Project Ledger receipts protocol entirely in your browser. Click through the four steps to generate an Ed25519 keypair, sign a sample AI event, verify the resulting receipt, and inspect the cryptographic chain. The same code that powers the open-source SDK on GitHub.

Step 1

Generate Ed25519 keypair

Create a fresh Ed25519 keypair. In production this lives in an HSM (FIPS 140-3 Level 3). Here we generate it in your browser — the private key never leaves this page.

No keypair yet
kid (key identifier)
public key (base64)
Step 2

Edit an AI event

An event represents a single AI interaction — a Copilot completion, a Claude API call, a model decision. Edit any field below or use the default. The event will be canonicalized per RFC 8785 before signing.

Waiting for keypair
Step 3

Signed receipt

The signed receipt below includes the canonical event, the integrity block (previous_receipt_hash · receipt_hash · chain_height), and the Ed25519 signature. This is the artifact a regulator would consume.

No receipt signed yet. Complete Step 1 and Step 2.
Step 4

Verify cryptographically

Verification checks three properties independently. None of these checks requires a network call to Project Ledger or any server. They use only the public key from Step 1 and the canonical receipt bytes.

Waiting for receipt
· Canonical hash matches — receipt_hash matches SHA-256 of canonical body
· Ed25519 signature valid — signature verifies against public key
· Chain link valid — previous_receipt_hash matches predecessor (n/a for first receipt)

You just ran the receipts protocol end-to-end.

This is the same code that powers the open-source SDK. RFC 8785 canonical JSON, JWS Ed25519, SHA-256, per-tenant hash chains, independent verification.