Independent Verification

action-ref-v1 Conformance

Free conformance verification for x402 agent commerce. JCS (RFC 8785) canonicalization + SHA-256.

Why this matters

When an AI agent pays for a service, nothing currently proves what the agent did after payment. The action_ref binds a payment to a specific action through a deterministic, re-derivable hash using RFC 8785 canonicalization and SHA-256 digesting. For this to work across implementations, every party must produce identical hashes from identical inputs -- a property validated through the IETF interoperability precedent and W3C conformance methodology. This harness tests that property.

7
Vectors
7/7
Conformant
3
Implementations

Implementations targeting byte-match compatibility

action-ref-verify

Reference implementation. JCS + SHA-256 conformance harness.

7/7PASS
argentum-core

Payment and work-layer action_ref derivation. 4 trail-state fixtures verified.

4/4PASS
nobulex

Two-receipt Ed25519 binding model.

awaiting submissionPENDING

Results Matrix -- action-ref-v1-jcs-sha256

VectorImplementationExpectedActualNotes
0001-baselineargentum-core@77a10ffPASSPASSCanonical 4-field derivation against reference implementation
0002-ms-precision-trapcrest-adversarial@v0.2.0FAILFAILTimestamp .000Z vs Z -- JCS treats strings as opaque bytes
0003-trailing-whitespacecrest-adversarial@v0.2.0FAILFAILTrailing space in action_type breaks hash silently
0004-extra-field-ignoredcrest-adversarial@v0.2.0PASSPASSExtra fields stripped to canonical 4-field set before hashing
0005-key-order-resiliencecrest-adversarial@v0.2.0PASSPASSJCS sorts keys lexicographically regardless of insertion order
0006-rfc8785-negative-zerorfc8785-appendix-b@RFC 8785PASSPASSRFC 8785 reference: -0 serializes as 0
0007-rfc8785-key-sorting-stressrfc8785-appendix-b@RFC 8785PASSPASSReverse-ordered keys produce identical output per RFC 8785 Section 3.2.3

Method

Canonicalization: RFC 8785 (JCS)

Hash: SHA-256

Key ordering: Lexicographic

Timestamps: RFC 3339 UTC, 3-digit ms

Harness

Versionv0.2.0
Dependencies0 (vendored)
Commitdaf5f6e
RFC 8785Verified

Verify API

Submit an action receipt. Get back a conformance verdict with a public permalink.

curl -X POST https://verify.crestsystems.ai/v1/verify \
  -H "Content-Type: application/json" \
  -d '{
    "action_ref": "<sha256-hex>",
    "preimage": {
      "action_type": "...",
      "agent_id": "...",
      "scope": "...",
      "timestamp": "2025-01-01T00:00:00.000Z"
    }
  }'

Returns: verdict (PASS/FAIL), canonical bytes, chain hash, and a public permalink at verify.crestsystems.ai/v1/verdict/:id

Trace API

Full accountability path. Start from a Base mainnet payment hash, walk to the action_ref, verify the binding.

curl -X POST https://verify.crestsystems.ai/v1/trace \
  -H "Content-Type: application/json" \
  -d '{"payment_hash": "0x..."}'

Returns: payment details, derived action_ref, accountability receipt, and step-by-step trace from on-chain payment to verified action.

Submit vectors

Open an issue or PR on the harness repo following the conformance intake schema. Negative vectors are encouraged. All implementations are graded by the same rubric.

github.com/andysalvo/action-ref-verify

Free API Surface

POST/v1/verifyconformance check
POST/v1/traceaccountability path
POST/v1/action-refgenerate hash
GET/v1/verdict/:idpermalink
GET/v1/verdict/:id/badge.svgembeddable badge

All endpoints free. No auth required. Rate limited to 30 req/min.OpenAPI spec | Discovery

Reports describe conformance of submitted artifacts to a published spec at a point in time. They are not endorsements, audits, or warranties. This harness verifies against the spec as written at the pinned version. It does not warrant spec correctness.

Maintained by Crest Deployment Systems -- deploying scalable intelligence.