PEAC transaction trace
This page shows a PEAC transaction trace end to end. An agent discovers site policy (peac.txt + aipref.json), receives an HTTP 402 challenge when payment is required, retries using a supported payment adapter, and receives a signed PEAC-Receipt that anyone can verify offline.
Originary provides optional hosted components (Gateway 402, Verify API), but the core receipt and verification flow is protocol-native and portable.
PEAC transaction trace
Click any step to explore. HTTP 402 + PEAC-Receipt flow.
Agent request
Autonomous agent needs your API or content
HTTP exchange sequence
Real protocol headers. PEAC-Receipt is the canonical header (no X- prefix).
GET /.well-known/peac.txt HTTP/1.1Host: originary.xyzHTTP/1.1 200 OKContent-Type: text/plainpreferences: https://www.originary.xyz/.well-known/aipref.jsonaccess_control: http-402payments: [x402, stripe]provenance: c2pareceipts: requiredverify: https://www.originary.xyz/.well-known/jwks.jsonverify_api: https://api.originary.xyz/verifypublic_keys: https://www.originary.xyz/.well-known/jwks.jsoncontact: contact@originary.xyzupdated_at: 2025-12-13T12:00:00+05:30Live from origin
/.well-known/peac.txtpreferences: https://www.originary.xyz/.well-known/aipref.json access_control: http-402 payments: [x402, stripe] provenance: c2pa receipts: required verify: https://www.originary.xyz/.well-known/jwks.json verify_api: https://api.originary.xyz/verify public_keys: https://www.originary.xyz/.well-known/jwks.json contact: contact@originary.xyz updated_at: 2025-12-13T12:00:00+05:30
verify points to JWKS for offline verification;verify_api is optional convenience.Transaction flow
Receipt anatomy (v0.9.23)
Decoded payload showing aipref snapshot, payment evidence, and policy hash binding.
|This shows why PEAC is proof: the receipt binds the request to a specific policy snapshot and payment evidence.
Receipt verification
Offline via JWKS is default. Verify API is optional convenience.
DEFAULTOffline verification (JWKS)
# Any PEAC verifier can validate offlinepeac verify "<PEAC-Receipt JWS>" \ --jwks https://www.originary.xyz/.well-known/jwks.json \ --subject https://www.originary.xyz/demo/paid-resource# Output:{ "valid": true, "signature_verified": true, "policy_hash_match": true, "aipref_hash_match": true}OPTIONALVerify API (hosted helper)
POST https://api.originary.xyz/verifyContent-Type: application/json{"receipt": "eyJhbGciOiJFZERTQSI..."}# Response:{ "valid": true, "issued_at": "2025-12-13T12:00:00Z", "issuer": { "domain": "originary.xyz", "kid": "2025-12-13" }, "signature_verified": true, "policy_hash_match": true, "aipref_hash_match": true}Compatibility with existing signals
PEAC works alongside existing policy and licensing standards.
AIPREF
Machine-readable AI preferences (IETF WG). This demo snapshots aipref.json into the receipt for auditability.
Learn moreContent Signals
Cloudflare robots.txt extensions (ai-input, ai-train). Can be ingested as additional inputs to policy snapshots.
Learn moreRSL
Really Simple Licensing for machine-readable terms. PEAC receipts can bind requests to RSL terms for auditability.
Learn moreAudit-ready exports (v0.9.23)
Dispute packet format for compliance and audit trails.
{"ts":"2025-12-13T12:00:00Z","request_hash":"sha256-...","policy_hash":"sha256-...","aipref_hash":"sha256-...","receipt_jws":"eyJhbGci...","payment_reference":"x402_pay_..."}
{"ts":"2025-12-13T12:01:00Z","request_hash":"sha256-...","policy_hash":"sha256-...","aipref_hash":"sha256-...","receipt_jws":"eyJhbGci...","payment_reference":"x402_pay_..."}
{"ts":"2025-12-13T12:02:00Z","request_hash":"sha256-...","policy_hash":"sha256-...","aipref_hash":"sha256-...","receipt_jws":"eyJhbGci...","payment_reference":"x402_pay_..."}