web3wagmi
← All standards

ERC-7992 Verifiable ML Model Inference (ZKML)

DraftERCcreated 2025-07-23requires ERC-165

Interfaces for registering ML model commitments and verifying zero-knowledge proofs of their inferences on-chain.

Author: Aryaethn (@aryaethn)

ERC-165 interface ids

Computed here as the XOR of the selectors each interface defines.

IERCZKMLRegistry0xd28519b1
IERCZKMLVerifier0x5df65472
IERCZKMLStorageExtension0x29c6ba89

Functions this standard introduces (9)

0xb0453384deprecateModel(uint256)
0x584ee35cgetInference(bytes32)view
0x6d361694getModel(uint256)view
0xa6571c04proofSystemOf(uint256)view
0x88e9606fregisterModel((bytes32,bytes32,bytes32,bytes4,string))
0x7b103999registry()view
0x871f5cceupdateModel(uint256,(bytes32,bytes32,bytes32,bytes4,string))
0x718859d5verifyAndStoreInference(uint256,bytes32,bytes,bytes)
0x80b171efverifyInference(uint256,bytes32,bytes,bytes)

Inherited (1)

0x01ffc9a7supportsInterface(bytes4)ERC-165

Events (5)

Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.

0xf340692c07394f5cc3f903d29d22b85dc25e11d0bf1f7faa1cf069e25b3dc38bModelRegistered(uint256,address,(bytes32,bytes32,bytes32,bytes4,string))
0x35928121147784ec0f208e524c7f2696f4fcd0688bcb1f795eb0c81e93726f9cModelUpdated(uint256,(bytes32,bytes32,bytes32,bytes4,string),(bytes32,bytes32,bytes32,bytes4,string))
0xf5201226a8a9c25d2b88221fb737afa13bed245e01ec515454bf815db7374f7aModelDeprecated(uint256)
0x9ff454ce625f8b31b5c2cb981f94be87237ff83d5c7858966ed8adf1e86fe421InferenceVerified(uint256,bytes32,bytes,address)
0x18ccdfacf5ac7b779e6d4b6881f0ccb340b3c88a9ffd997d735bbcae7e19abbaInferenceStored(bytes32)

Custom errors (9)

0x6d710e14ModelNotFound(uint256)
0x25a0f138NotModelOwner(uint256,address)
0xf5201226ModelDeprecated(uint256)
0x09bde339InvalidProof()
0xa407e5f7ModelMismatch()
0x67320673InputCommitmentMismatch()
0xbece19e6OutputMismatch()
0xad061ccdUnsupportedProofSystem(bytes4)
0x0edf7025VerificationRefused_ModelDeprecated(uint256)

Depends on (1)

Proposals this one names in its requires field.

What the specification covers

Compare with

Parsed from the canonical specification · discussion