HTTP receipts for consent, attribution, provenance & payments
Add a signed PEAC-Receipt to any HTTP response - proving content integrity, AIPREF prefs honored, attribution, provenance (C2PA), and optional 402 payments (x402). One header. Millisecond verify.
PEAC-Receipt: <JWS>
{
"alg": "EdDSA",
"typ": "peac.receipt/0.9",
"kid": "peac-2025-09"
}
{
"iat": 1727593800,
"hash": "sha256:a1b2c3...",
"aipref": {...},
"payment": {"scheme": "x402"},
"prov": {"c2pa": "sha256:..."}
}iat: Sep 29, 2024 03:30:00 UTC
✓ Verified - integrity, AIPREF, attribution, C2PA, x402
•Sample receipt verified
•x402 test reachable
Receipt explorer
Load sample or paste token to decode
Spec Snapshot (v0.9.14)
typ:“peac.receipt/0.9” (JWS protected header)
iat:Unix seconds (required in payload)
PEAC-Receipt:Single header (normative)
payment.scheme:“x402” (if present)
Media types:application/peac+json, application/problem+json, application/jwk-set+json
Why receipts
🔐
Cryptographic integrity
Ed25519 JWS signature proves unmodified content
📋
Policy snapshot
AIPREF + attribution frozen at request time
✓
Settlement proof
402/x402 payment confirmed via receipt
Quickstart
1. Install
npm install @peac/core
import { sign } from '@peac/core'2. Sign
const receipt = await sign(data)
res.setHeader('PEAC-Receipt', receipt)3. Verify
const receipt = res.headers['peac-receipt'] const valid = await verify(receipt)