web3wagmi
← All standards

ERC-8262 Zero-Knowledge Compliance Oracle

DraftERCcreated 2026-04-07requires ERC-165

On-chain ZK compliance verification without revealing transaction data

Authors: DROO (@DROOdotFOO), Bloo (@bloo-berries), Merkle Bonsai (@Jabher), Jan (@sssngth)

ERC-165 interface ids

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

IERC8262Verifier0x77fcc7b7
IERC8262Oracle0x9da56d09

Functions this standard introduces (15)

0x81cfd0b2attestationTTL()view
0xd1e8eba9checkCompliance(address,uint8)view
0x0916d812checkComplianceByType(address,uint8,uint8)view
0xb6f5e5a7getAttestationHistory(address,uint8)view
0x10078d3egetHistoricalProof(bytes32)view
0xde3d74bagetProofType(bytes32)view
0xadaad467getVerifier(uint8)view
0x4fda1451getVerifierAtVersion(uint8,uint256)view
0x93618b1dgetVerifierVersion(uint8)view
0x589b799cproviderConfigHash()view
0xf33bc62bsubmitCompliance(uint8,uint8,bytes,bytes,bytes32)
0x17fb2d94submitComplianceBatch(uint8,uint8[],bytes[],bytes[],bytes32[])
0xe0d500fdverifyProof(uint8,bytes,bytes)view
0x1990952averifyProofAtVersion(uint8,uint256,bytes,bytes)view
0xffa8194bverifyProofBatch(uint8[],bytes[],bytes[])view

Events (8)

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

0xe12796e59faa257427491b754971ac0139bc3390f73fbf02a62527ebcb82933dComplianceVerified(address,uint8,bool,bytes32,uint256,uint256)
0x1ed774659ba784933f75b902db9b0df1186c34ec0271d3f3c0dc6a466ab191e6ProviderWeightsUpdated(bytes32,uint256,string)
0xaa28f08709282a88bedaa75d1b39a227f609711d48be34ca55a057f7932f031fAttestationTTLUpdated(uint256,uint256)
0xfdde4bfc1a9ef28a2e3dbe34a4ccc65b0ad588f6b0406e492637aeaa73342160ConfigRevoked(bytes32)
0xf998e8d3a4064cb8f584334c53ac42a599c59e70ff1d35947f4618ce2eec7136MerkleRootRegistered(bytes32)
0x8e09236575db9ccc3d3d68a0be746b44d2081de12fc5eb23ee641a1ce31fafaaMerkleRootRevoked(bytes32)
0xbd99ff466bfd86687168a8e4a397c9e00f2d738b951071c200747d03cc19aa47ReportingThresholdRegistered(bytes32)
0x243e5f783c65b8fc7e6f542af982aa7f89ea8c09e4c624c017ccd17f1e3b6a80ReportingThresholdRevoked(bytes32)

Depends on (1)

Proposals this one names in its requires field.

What the specification covers

Compare with

Parsed from the canonical specification · discussion