ART-606 · Verify-Rails · EVM Interface Identity Family

ERC-165 Interface ID Verifier

Recomputes an ERC-165 interfaceId as the XOR of 4-byte function selectors over a declared list of function signatures, using keccak256. Compares against an optional claimed id and flags a match against well-known standard ids as a courtesy label. Zero network calls: never queries a live contract's supportsInterface(bytes4).

Pure XOR-of-selectors recompute Known-standard label, not verification Never calls supportsInterface() on-chain
🔒 All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data — use synthetic or anonymised inputs only.
Scope: declared list hashes to this value, nothing more
This tool never queries a contract's supportsInterface(bytes4). A CONSISTENT match against a claimed_interface_id means the function list you declared hashes to that value; it says nothing about whether any deployed contract actually implements those functions or would return true from supportsInterface() for this id. Omitting or mistyping one signature changes the result.
Declared function signatures (one canonical signature per line)
Claim to check (optional)
Computed Interface ID
Overall Determination
Per-check findings
CheckVerdictDetail
Per-signature selectors
SignatureCanonicalSelector
Compliance Flags
Not proven by this check
⚠ DECISION-SUPPORT DRAFT. Never a claim that any deployed contract implements these functions or returns true from supportsInterface().
OpenChainGraph v0.4 artifact · execution_hash:


    

Ask your agent

Copy this paragraph into Claude, OpenClaw, or any MCP-aware agent to run this exact tool, with this sample, and verify the artifact.

Run the AINumbers MCP tool `verify_erc165_interface_id`. Task: Recompute an ERC-165 interfaceId as the XOR of 4-byte function selectors (the first 4 bytes of keccak256 of each canonical Solidity signature) over a caller-declared list of function signatures, using the vendored keccak256 bundle already pinned in this repository.
Call it with arguments: {"policy_parameters":{}}
Verify before trusting: call `verify_execution_hash` on mcp.ainumbers.co (https://mcp.ainumbers.co/mcp) with the parameter `claimed_hash` set to the returned `execution_hash`, passing the full artifact the run returned (the object containing `policy_parameters` + `output_payload` + `execution_hash`; equivalently `policy_parameters` + `output_payload` with `claimed_hash`), not the bare hash string.
Return the ledger link https://ledger.ainumbers.co/ so a human can re-verify without contacting us.
PII rule: All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data — use synthetic or anonymised inputs only.
Open the tool with the sample prefilled: https://ainumbers.co/chaingraph/art-606-erc165-interface-id-verifier.html#p=v1.H4sIAAAAAAAA_wECAP3_e31Dv6ajAgAAAA