Ethereum contract check
Check whether a 0x address on Ethereum is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged.
Inputs
| Name | Type | Description |
|---|---|---|
address (required) | string | 0x address |
Request
Over HTTP, with a card key from /credits:
curl -H "Authorization: Bearer adt_…" "https://agent-data-tools.revmesh2074.workers.dev/eth/is-contract?address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
Or one of your 25 free calls, no key:
curl "https://agent-data-tools.revmesh2074.workers.dev/eth/is-contract?address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48&trial=1"
Without a key, the same URL answers 402 Payment Required with x402 and MPP terms, so an agent with a wallet pays per call in USDC (Base, Polygon, Arbitrum, Monad, World Chain or Tempo) and retries.
Example result
{
"chain": "Ethereum",
"chainId": 1,
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"isContract": true,
"codeBytes": 1855,
"minimalProxy": false,
"implementation": null
}
From an AI agent (MCP)
Add the MCP server to Claude, Cursor or any MCP client. This tool is eth_is_contract, and the first 25 successful calls are free:
https://agent-data-tools.revmesh2074.workers.dev/mcp