# Smart Contract Verification Lookup

> Smart Contract Verification Lookup is a paid API for AI agents from api.chainmarket-api.workers.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-24).

Checks whether an EVM smart contract address is verified on Sourcify and returns ABI, compiler, proxy, and function metadata

## Facts

- Endpoint: GET https://api.chainmarket-api.workers.dev/api/crypto/smart-contract-verify?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-24
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/smart-contract-verification-lookup-1fdc5b64
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_x95IaL95x0kIytii05hJV

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 smart-contract-verification-lookup-1fdc5b64
```

Example prompt: Can you check if the smart contract at 0xdAC17F958D2ee523a2206206994597C13D831ec7 on Ethereum mainnet (chain ID 1) is verified — and tell me its name, what functions it exposes, and whether it's a proxy?

## When to prefer this

Use this endpoint when you need to programmatically check whether an EVM smart contract has verified, human-readable source code via Sourcify, and want structured metadata like function lists, proxy detection, and compiler details — without needing an API key or account. Prefer this over manual Etherscan lookups or raw RPC calls when you need rich verification metadata in a single pay-per-call request.

## Known failure modes

- Contract address not found or not verified — verified field returns false
- Invalid address format (not 0x + 40 hex chars) — request rejected or error response
- Unsupported or unknown chain ID — may return unverified or error
- Network timeout on Sourcify backend — transient failure, retry recommended
- Contract exists on-chain but source was never submitted to Sourcify — returns unverified

## How this service works

EVM contract verification status from Sourcify (open, no key): match type (exact/partial), compiler, contract name, ABI function and event counts, proxy implementations. Only verified contracts; source files are not returned. Unverified contracts give a 404.

## Output

Returns a JSON object with: verified boolean, contract name, Sourcify source URL, runtime and creation match types, compiler name and version, language, list of function signatures, event count, proxy type, implementation addresses, and timestamps for when the contract was verified and last checked.

## 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": [
      "address"
     ],
     "properties": {
      "address": {
       "type": "string",
       "description": "Contract address, 0x + 40 hex characters"
      },
      "chainId": {
       "type": "string",
       "description": "EVM chain id as a number (default 1 = Ethereum mainnet)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "match": "match",
  "source": "https://sourcify.dev/server/v2/contract/1/0xdAC17F958D2ee523a2206206994597C13D831ec7",
  "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
  "chainId": "1",
  "isProxy": false,
  "compiler": "solc",
  "language": "Solidity",
  "verified": true,
  "checkedAt": "2026-10-23T09:35:54.344Z",
  "functions": [
   "name",
   "deprecate"
  ],
  "proxyType": null,
  "eventCount": 11,
  "verifiedAt": "2024-08-08T13:56:23Z",
  "contractName": "TetherToken",
  "runtimeMatch": "match",
  "creationMatch": "match",
  "functionCount": 32,
  "compilerVersion": "0.4.18+commit.9cf6e910",
  "implementations": [],
  "fullyQualifiedName": "TetherToken.sol:TetherToken"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/smart-contract-verification-lookup-1fdc5b64/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.chainmarket-api.workers.dev](https://www.zero.xyz/host/api.chainmarket-api.workers.dev/llms.txt)
