DefaultVerifier
← Back to Specifications

SAR v0.1 Specification

SAR (Settlement Attestation Receipt) defines a deterministic, cryptographically verifiable proof that an agent-delivered task satisfied its settlement specification. Execution, payment, and identity layers do not prove delivery. SAR fills that gap with replay-stable receipts that downstream systems can independently verify without trusting the verifier’s infrastructure.

Request Schema

SAR requests submit task inputs, expected specifications, and observed outputs for deterministic verification.

Public key discovery

Verifier public keys are published at /.well-known/sar-keys.json.

Fixtures (test vectors)

Verification algorithm

Reason code registry

Unknown codes must be treated as non-fatal.

Extension Semantics

SAR receipts MAY include an optional _ext object for additive metadata.

The _ext object is outside the signed core.

Reserved Extension: _ext.operation_binding

The _ext.operation_binding field is reserved for composition with x402 operation-binding workflows.

"_ext": {
  "operation_binding": {
    "operation_digest": "sha256:...",
    "operation_id": "...",
    "resource_url": "...",
    "schema_id": "x402-operation-binding/v1"
  }
}

Field Definitions

SAR Verification vs Cross-Layer Validation

SAR verification and operation-binding validation are separate.

Systems implementing operation-binding MAY recompute operation_digest and compare it with the extension.

Unknown schema_id Behavior

Verifier Behavior

Extension Namespacing

Future _ext extensions SHOULD use namespaced identifiers to avoid collisions.

_ext.operation_binding is reserved for x402 operation-binding composition.

Reference Fixtures

Example fixture set demonstrating SAR ↔ operation-binding composition:

https://gist.github.com/nutstrut/7a0bda88164863a712a25025ad65841b

Rationale

Operation-binding answers: Was this exact operation paid for?

SAR answers: Did execution produce the correct outcome?

Changelog

v0.1 — Initial canonical receipt release