# AllTheBot Contract Check (ETH)

> AllTheBot Contract Check (ETH) is a paid API for AI agents from api.zkrobotics.fr, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-12).

Checks whether an Ethereum address is a smart contract, EOA wallet, or EIP-7702 delegated wallet, returning bytecode size, ETH balance, and ERC-20 token symbol.

## Facts

- Endpoint: GET https://api.zkrobotics.fr/x402/eth/contract?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/allthebot-contract-check-eth-45ea85d9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5wZ7PCPXF8qPZ8TKTv0pu

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 allthebot-contract-check-eth-45ea85d9
```

Example prompt: Before I send USDC to 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on Ethereum, can you check whether it's a regular wallet or a smart contract, and tell me its ETH balance and any ERC-20 token info?

## When to prefer this

Choose this endpoint when you need to classify an Ethereum mainnet address before sending funds or interacting with it programmatically — especially when you want to distinguish between EOAs, EIP-7702 delegated wallets, and smart contracts, or when you need ERC-20 metadata for a token contract address. Use the sibling Base endpoint for Base network addresses.

## Known failure modes

- Invalid address format (not matching 0x + 40 hex chars) returns a validation error
- Address not found or network timeout returns an error
- Non-Ethereum addresses (e.g. Base, Polygon) not supported — use the Base variant instead
- Rate limit or payment failure returns 402 Payment Required

## How this service works

Pay-per-call APIs for AI agents over x402: token safety reports, Base and Ethereum on-chain reads, crypto prices, domain checks (DNS, WHOIS, SSL, email), finance data (FX, SEC), worldwide weather forecasts, France alerts, text AI, fun content. USDC on Base, no account, no API key.

## Output

Returns a JSON object with the address type ('contract', 'eoa', or 'eip7702'), bytecode size in bytes, ETH balance as a string, network name ('ethereum'), and if applicable an ERC-20 object with symbol and decimals.

## 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",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "address"
     ],
     "properties": {
      "address": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "eth": "0",
  "type": "contract",
  "erc20": {
   "symbol": "USDC",
   "decimals": 6
  },
  "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  "network": "ethereum",
  "bytecode_size": 2186
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/allthebot-contract-check-eth-45ea85d9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.zkrobotics.fr](https://www.zero.xyz/host/api.zkrobotics.fr/llms.txt)
