# Tanod pactlint – Solidity Source & ABI Lookup

> Tanod pactlint – Solidity Source & ABI Lookup is a paid API for AI agents from tanod.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-10).

Retrieves the verified Solidity source code, ABI, and compiler settings for a smart contract at a given address on Ethereum or Base using Sourcify.

## Facts

- Endpoint: GET https://tanod.dev/v1/source/:chain/:address?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tanod-pactlint-solidity-source-abi-lookup-d3864903
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_CUDFwI161DPhv4hlTv6k6

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 tanod-pactlint-solidity-source-abi-lookup-d3864903
```

Example prompt: Can you pull the verified Solidity source code, ABI, and compiler settings for the contract at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on Ethereum?

## When to prefer this

Use this endpoint when you need the verified Solidity source, ABI, or compiler settings for a contract at a known address on Ethereum or Base, especially when you require Sourcify-verified provenance rather than Etherscan-style unverified data. Prefer this over generic block explorer APIs when auditability, compiler reproducibility, or ABI accuracy is critical.

## Known failure modes

- Contract not verified on Sourcify — returns null or empty files array
- Invalid address format (not a valid 0x hex address) — validation error
- Unsupported chain — only 'ethereum' and 'base' are accepted enum values
- Contract exists on-chain but has never been verified — no source available
- Network/upstream Sourcify API timeout or outage

## How this service works

pactlint (Tanod) source lookup: verified Solidity source, ABI and compiler settings of a contract (Sourcify) Use when an agent needs the verified source, ABI and compiler settings of a contract at a known address.

## Output

Returns a JSON object containing the verified Solidity source files (with path, content, size in bytes, and SHA-256 hash), the contract ABI (as an array or null if unavailable), compiler settings object, compiler version string, contract name, and the contract address and chain. All fields come from Sourcify's verified contract registry.

## 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"
    },
    "pathParams": {
     "type": "object",
     "required": [
      "chain",
      "address"
     ],
     "properties": {
      "chain": {
       "enum": [
        "ethereum",
        "base"
       ],
       "type": "string"
      },
      "address": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$"
      }
     }
    },
    "queryParams": {
     "type": "object",
     "properties": {}
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "chain",
      "address",
      "files"
     ],
     "properties": {
      "abi": {
       "type": [
        "array",
        "null"
       ]
      },
      "chain": {
       "type": "string"
      },
      "files": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "path": {
          "type": "string"
         },
         "bytes": {
          "type": "integer"
         },
         "sha256": {
          "type": "string"
         },
         "content": {
          "type": "string"
         }
        }
       }
      },
      "sha256": {
       "type": "string"
      },
      "address": {
       "type": "string"
      },
      "settings": {
       "type": [
        "object",
        "null"
       ]
      },
      "contract_name": {
       "type": [
        "string",
        "null"
       ]
      },
      "compiler_version": {
       "type": [
        "string",
        "null"
       ]
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-pactlint-solidity-source-abi-lookup-d3864903/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from tanod.dev](https://www.zero.xyz/host/tanod.dev/llms.txt)
