---
title: "ERC-165 Interface ID Verifier"
method: POST
path: "/v1/tools/verify_erc165_interface_id"
tags: ["TODO_TAGS_REVIEW", "TODO_AP2_EXPORT_REVIEW"]
---

# ERC-165 Interface ID Verifier

`POST /v1/tools/verify_erc165_interface_id`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/verify_erc165_interface_id`
- Auth: none declared

Recomputes 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. Zero network calls: this tool never queries a live contract's supportsInterface(bytes4) and makes no claim about what any deployed contract actually returns. Compares the recomputed id against an optional claimed_interface_id and flags a match against seven well-known standard ids (ERC-165 itself, ERC-721 core/Metadata/Enumerable, ERC-1155 core/MetadataURI, ERC-2981) purely as a courtesy label, never as verification. Malformed signature entries are excluded from the XOR and reported separately rather than silently dropped. A CONSISTENT match only establishes that the declared function list hashes to that value -- never that the list is complete, correct, or actually implemented anywhere.

**Tool URL:** https://ainumbers.co/chaingraph/art-606-erc165-interface-id-verifier.html

## Request body

- object
  - `claimed_interface_id` string, required
  - `function_signatures` unknown[], required
    - unknown

## Response `200`

Successful tool execution result

- object
  - `claimed_interface_id` string
  - `computed_interface_id` string
  - `duplicate_signatures` unknown[]
    - unknown
  - `findings` object[]
    - `check` string
    - `detail` string
    - `verdict` string
  - `known_standard_match` string
  - `malformed_signatures` unknown[]
    - unknown
  - `not_proven` object[]
    - `detail` string
    - `item` string
  - `overall_determination` string
  - `scope_note` string
  - `selectors` object[]
    - `canonical_signature` string
    - `selector` string
    - `signature` string

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
