# EVM Contract or Wallet Detector

> EVM Contract or Wallet Detector is a paid API for AI agents from flat-rate-llm.kikoribera03.workers.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-14).

Determines whether an Ethereum address is a smart contract or a plain EOA wallet by checking its bytecode size via eth_getCode

## Facts

- Endpoint: POST https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/is-contract
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/evm-contract-or-wallet-detector-61994893
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_YBDB6aD0LhtduRD_Aq_yy

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 evm-contract-or-wallet-detector-61994893 -d '<json body>'
```

Example prompt: Before I send any funds, can you check if 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D on Ethereum mainnet is a smart contract or a plain wallet, and tell me how big its bytecode is?

## When to prefer this

Choose this endpoint when you need a cheap, fast, read-only check to distinguish smart contract addresses from externally owned accounts (EOAs) on EVM-compatible chains before executing fund transfers, airdrops, or integrations. It is ideal as a pre-flight safety check in agentic workflows where sending funds to a contract vs. a wallet has different consequences. Prefer it over a full eth_call or transaction simulation when you only need to know whether code exists at an address and how large it is.

## Known failure modes

- Invalid or malformed Ethereum address returns an error
- Unsupported chain/network identifier results in an error response
- Network timeout or RPC node unavailability may cause a failed response
- Address with no activity returns isContract: false with bytecodeBytes: 0 (indistinguishable from a fresh wallet)
- Self-destructed contracts may return bytecodeBytes: 0 even though they once had code

## How this service works

60 paid endpoints with no metering, no API key and no account. Each endpoint has one flat price per call, whatever the size of the request: LLM completions with automatic failover across several large models, read-only EVM tooling over Base, Ethereum, Polygon, Arbitrum and Optimism, and pure crypto utilities that touch no network.

## Output

Returns a JSON object with `isContract` (boolean: true if the address has deployed bytecode, false if it is a plain EOA wallet) and `bytecodeBytes` (integer: the size of the deployed bytecode in bytes, 0 for plain wallets).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "address"
 ],
 "properties": {
  "chain": {
   "type": "string",
   "description": "base | ethereum | polygon | arbitrum | optimism."
  },
  "address": {
   "type": "string",
   "description": "Address to inspect."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "isContract": {
   "type": "boolean"
  },
  "bytecodeBytes": {
   "type": "number"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/evm-contract-or-wallet-detector-61994893/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from flat-rate-llm.kikoribera03.workers.dev](https://www.zero.xyz/host/flat-rate-llm.kikoribera03.workers.dev/llms.txt)
