# ChainScope Contract Inspect

> ChainScope Contract Inspect is a paid API for AI agents from chainsscope.duckdns.org, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Inspects a blockchain address to determine if it is a smart contract, returning token metadata such as name, symbol, decimals, and chain.

## Facts

- Endpoint: POST https://chainsscope.duckdns.org/tools/contract-inspect
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/chainscope-contract-inspect-ba1bcfa4
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_pbwtpkI490oJPRBkPjOq5

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 chainscope-contract-inspect-ba1bcfa4 -d '<json body>'
```

Example prompt: Can you check if 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on Ethereum is a smart contract, and if so, tell me its token name, symbol, and decimals?

## When to prefer this

Choose this endpoint when you need to quickly classify a blockchain address as a smart contract versus an externally-owned account (wallet), and retrieve standardized token metadata (name, symbol, decimals) across Ethereum, Base, Bitcoin, or Solana — all through a single consistent interface. Prefer this over chain-specific SDKs or block explorers when you want a unified multi-chain API that returns structured JSON without managing separate RPC connections per chain.

## Known failure modes

- Invalid or malformed address returns an error or null result
- Unsupported chain identifier causes a validation error
- Address is a wallet EOA — is_contract returns false with no token metadata
- Network timeout or RPC node unavailability causes a failed lookup
- Address exists but has no token metadata (non-token contract)

## How this service works

Ethereum/Base only: is this address a contract, and if it looks like an ERC20 token, its name/symbol/decimals via eth_call -- skips the manual ABI-decoding work.

## Output

Returns a JSON object containing the contract's human-readable name (e.g. 'USD Coin'), the chain it's on (e.g. 'ethereum'), its ticker symbol (e.g. 'USDC'), the full address, the number of decimal places, and a boolean is_contract flag confirming whether the address is a deployed smart contract.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "chain": {
   "enum": [
    "ethereum",
    "base",
    "arbitrum",
    "optimism",
    "polygon"
   ],
   "type": "string"
  },
  "address": {
   "type": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "name": "USD Coin",
  "chain": "ethereum",
  "symbol": "USDC",
  "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  "decimals": 6,
  "is_contract": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/chainscope-contract-inspect-ba1bcfa4/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from chainsscope.duckdns.org](https://www.zero.xyz/host/chainsscope.duckdns.org/llms.txt)
