This thread is the discussion home for WYRIWE, a proposed ERC defining a triple-hash commitment scheme and EIP-712 attestation profile for AI inference input provenance.
The Problem
On-chain AI agent systems (ERC-8004, ERC-8263, ERC-8274) can attest to which model ran and what output was produced, but no standard defines how to commit to what input was actually fed to the model. An agent can sanitize, rewrite, or substitute the user’s input between request and execution, leaving no on-chain evidence of the transformation.
The Scheme
Every WYRIWE-compliant execution produces three linked hashes:
raw_input_hash = keccak256(raw_user_input)
sanitization_pipeline_hash = keccak256(sanitization_spec_cid || raw_input_hash)
input_hash = keccak256(sanitized_input)
Together they form a verifiable chain of custody. Any verifier can confirm input integrity using only the committed hashes and the public sanitization spec, without trusting the agent, gateway, or execution environment.
The no-sanitization case is handled explicitly via an IDENTITY_SENTINEL CID, making input_hash == raw_input_hash a provable claim rather than an assumption.
Stack Position
WYRIWE occupies L3 in the four-layer AI inference trust stack:
| Layer | Standard | Responsibility |
|---|---|---|
| L1 | Model manifest hash | Proves which model ran |
| L2 | ERC-8004 | Proves which agent ran it |
| L3 | WYRIWE | Proves what input was fed to the model |
| L4 | ERC-8263 / OCP | Proves the execution happened and output is committed |
Status
-
Spec repo: https://github.com/TMerlini/wyriwe
-
Formal ERC draft: https://github.com/TMerlini/wyriwe/blob/main/ERC-draft.md
-
Live reference implementation: https://gateway.ensub.org/agent/verify/:inputHash
-
Incorporated by reference in ERC-8263 v0.2 (§proofHash Constructions appendix) and the ERC-8004 + ERC-8263 + OCP Composition Note
-
inputHashis the shared key used by ERC-8274’s IProofVerifier interface -
commitmentRefin ERC-8183 §11 / Appendix B maps to WYRIWE’sinput_hash
PR to ethereum/ERCs incoming, posting here first for feedback before submission.
Tiago Merlini