Loading…
Demo · Receipt
Receipts are self-contained. Anyone with the published JWK can confirm an action happened without contacting our systems. The verifier runs four checks: structural hash chain, kid resolution, ES256 signature, and lifecycle/quarantine.
{
"version": { "spec": "ep-receipt/2026-04-27" },
"receiptId": "365dd91c-9bed-406c-962b-963451de90d1",
"transactionId": "txn_hotel_executed",
"agentId": "agent_sandbox_demo",
"sessionId": "session_sandbox",
"created": "2026-05-06T14:30:00.000Z",
"entries": [
/* genesis (index 0) + 8 stages: token_validation, schema, boundary,
completeness, math, execute, commit_auth_split, receipt — each
chained by hash. Tampering any byte breaks the chain at that index. */
],
"signature": {
"kid": "sandbox-2026-05",
"alg": "ES256",
"value": "p2bTEu-Zhos9SpmRIz-9Iaad4oUx3d7DkFLc6wTMCw63bHKDoefQxk8FEnZAkC4Zlpzj5pdJ5UhpgrzyDlzxpA"
},
"amendmentOf": null,
"eventType": "ORIGINAL",
"paymentStatus": "charged",
"money": {
"offerCurrency": "USD",
"offerAmount": "165.52",
"chargeCurrency": "USD",
"chargeAmount": "165.52"
},
"idempotencyKey": "idem_hotel_executed",
"replicaId": "sandbox-replica-0",
"chainId": "chain_hotel_executed",
"regulatoryFramework": [],
"metadata": { "sandbox": true }
}{
"version": { "spec": "ep-receipt/2026-04-27" },
"receiptId": "365dd91c-9bed-406c-962b-963451de90d1",
"transactionId": "txn_hotel_executed",
"agentId": "agent_sandbox_demo",
"sessionId": "session_sandbox",
"created": "2026-05-06T14:30:00.000Z",
"entries": [
/* genesis (index 0) + 8 stages: token_validation, schema, boundary,
completeness, math, execute, commit_auth_split, receipt — each
chained by hash. Tampering any byte breaks the chain at that index. */
],
"signature": {
"kid": "sandbox-2026-05",
"alg": "ES256",
"value": "p2bTEu-Zhos9SpmRIz-9Iaad4oUx3d7DkFLc6wTMCw63bHKDoefQxk8FEnZAkC4Zlpzj5pdJ5UhpgrzyDlzxpA"
},
"amendmentOf": null,
"eventType": "ORIGINAL",
"paymentStatus": "charged",
"money": {
"offerCurrency": "USD",
"offerAmount": "165.52",
"chargeCurrency": "USD",
"chargeAmount": "165.52"
},
"idempotencyKey": "idem_hotel_executed",
"replicaId": "sandbox-replica-0",
"chainId": "chain_hotel_executed",
"regulatoryFramework": [],
"metadata": { "sandbox": true }
}POST /api/verify
Content-Type: application/json
{ "receipt": { … } }// 1. Fetch /.well-known/jwks.json
// 2. RFC 8785 JCS canonicalise
// receipt minus signature.value
// 3. WebCrypto verify ES256
// against the receipt's kidOpen the sandbox, hit Verify on either the executed or blocked card, watch the four checks pass. End-to-end in 30 seconds.