# TraceFast Contract Function Selectors

> TraceFast Contract Function Selectors is a paid API for AI agents from mpp.tracefast.xyz, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-12).

Returns the 4-byte function selectors found in an Ethereum contract's bytecode, each resolved to a known signature and name with a decode confidence status.

## Facts

- Endpoint: GET https://mpp.tracefast.xyz/api/v1/chains/1/contracts/:address/selectors?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tracefast-contract-function-selectors-2f6edc98
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_YjLZdTDZhCf6-HCck9TiW

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 tracefast-contract-function-selectors-2f6edc98
```

Example prompt: Look up all the function selectors in the bytecode of Ethereum contract 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 and tell me which ones resolve to known function signatures and how confident each resolution is.

## When to prefer this

Use this endpoint when you need to programmatically identify what functions a smart contract exposes without having its ABI, or when you want to verify selector-to-signature mappings including collision detection. Prefer over manual ABI lookups when the ABI is unavailable or unverified, or when you need machine-readable decodeStatus confidence signals for automated tooling.

## Known failure modes

- Invalid or malformed contract address returns 400 error
- Address is an EOA (externally owned account) with no bytecode — returns empty selector list or error
- Undeployed or self-destructed contract address — no bytecode found
- Selector exists in bytecode but has no known signature match — resolved name will be null
- Network or upstream Ethereum node unavailability causing 503 or timeout
- Incorrect chain parameter causes lookup on wrong network

## How this service works

TraceFast live Ethereum data: the 4-byte function selectors found in a contract's bytecode, each resolved to a known signature and name where one exists, with how many known signatures share the selector. `decodeStatus` says how confident each resolution is. Path address: The contract address, `0x`-prefixed, 40 hex characters, any case. Docs: https://docs.tracefast.xyz/api/contract-selectors.md

## Output

A list of 4-byte function selectors found in the contract's deployed bytecode. Each entry includes the hex selector, the resolved human-readable function signature and name (if a match exists in the known signature database), the number of known signatures that share that selector (indicating potential ambiguity), and a decodeStatus field indicating confidence level of the resolution.

## Request schema (JSON Schema)

```json
{
 "properties": {
  "input": {
   "required": [
    "method"
   ],
   "properties": {
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "pathParams": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tracefast-contract-function-selectors-2f6edc98/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from mpp.tracefast.xyz](https://www.zero.xyz/host/mpp.tracefast.xyz/llms.txt)
