# Saylor Innovations EVM Selector / Topic Decoder

> Saylor Innovations EVM Selector / Topic Decoder is a paid API for AI agents from saylorinnovations.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-18).

Decodes a 4-byte EVM function selector or 32-byte event topic into candidate human-readable signatures, with verification status and collision warnings

## Facts

- Endpoint: GET https://saylorinnovations.com/api/evm/selector?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-18
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/saylor-innovations-evm-selector-topic-decoder-98fa2907
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_N-cGlrKYd1fKH-uHo6X0J

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability saylor-innovations-evm-selector-topic-decoder-98fa2907
```

Example prompt: What function does the EVM selector 0xa9059cbb correspond to? Give me the best guess signature and let me know if there are any collisions or multiple candidates.

## When to prefer this

Choose this endpoint when you need to decode an EVM function selector or event topic into its human-readable Solidity signature, especially when you want verification status (confirmed seen in a verified contract) and collision detection. It aggregates both OpenChain and 4byte.directory sources, making it more reliable than querying either alone. Prefer it over manual ABI lookups when building blockchain explorers, transaction analyzers, security auditing tools, or smart contract debugging pipelines.

## Known failure modes

- Unknown selector not found in either OpenChain or 4byte databases — returns empty candidates array
- Invalid hex format (wrong length or non-hex characters) — request rejected
- Selector with multiple conflicting signatures triggers collision warning but still returns results
- External database (OpenChain or 4byte) temporarily unavailable — partial or error response
- Rate limiting or payment failure for the $0.01 USDC x402 fee

## How this service works

Decode a 4-byte EVM function selector or 32-byte event topic into candidate signatures from OpenChain and 4byte with the verified one first and collision warnings

## Output

Returns the input hex selector or topic, its kind (function or event), a best_guess human-readable signature, an array of candidate signatures with their sources (OpenChain and/or 4byte) and whether a verified contract has been seen using each, plus an optional collision_warning if multiple signatures share the selector, and a well_known_meaning field for widely-recognized selectors.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "hex"
     ],
     "properties": {
      "hex": {
       "type": "string",
       "description": "4-byte function selector (0xa9059cbb) or 32-byte event topic"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "json"
    },
    "example": {
     "type": "object",
     "required": [
      "hex",
      "kind",
      "best_guess"
     ],
     "properties": {
      "hex": {
       "type": "string",
       "description": "The selector or topic that was decoded"
      },
      "kind": {
       "type": "string",
       "description": "Kind of record"
      },
      "note": {
       "type": "string",
       "description": "Caveat or context for reading the result"
      },
      "source": {
       "type": "string",
       "description": "Data source the values come from"
      },
      "best_guess": {
       "type": "string",
       "description": "Best guess"
      },
      "candidates": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "sources": {
          "description": "Data sources used"
         },
         "signature": {
          "type": [
           "string",
           "null"
          ],
          "description": "Candidate function or event signature"
         },
         "verified_contract_seen": {
          "description": "Verified contract seen"
         }
        }
       },
       "description": "Candidate signatures, whether a verified contract using it was seen, and the source databases"
      },
      "collision_warning": {
       "type": [
        "string",
        "null"
       ],
       "description": "Collision warning"
      },
      "well_known_meaning": {
       "type": [
        "string",
        "null"
       ],
       "description": "Well known meaning"
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/saylor-innovations-evm-selector-topic-decoder-98fa2907/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from saylorinnovations.com](https://www.zero.xyz/host/saylorinnovations.com/llms.txt)
