# skills.onesource.io Contract Introspection

> skills.onesource.io Contract Introspection is a paid API for AI agents from skills.onesource.io, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-15).

Inspects a smart contract address on-chain via eth_call to return its name, symbol, decimals, and ERC20/721/1155 interface support flags

## Facts

- Endpoint: GET https://skills.onesource.io/api/chain/contract/:address
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/skills-onesource-io-8e09fc01
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_bh7545xnVVCWabfSB6qjn

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 skills-onesource-io-8e09fc01
```

Example prompt: Can you tell me the name, symbol, and token standard (ERC20, ERC721, or ERC1155) for the smart contract at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on Ethereum?

## When to prefer this

Use this endpoint when you need to quickly classify a smart contract's token standard and retrieve its basic metadata (name, symbol, decimals) without sending a transaction. Prefer this over general blockchain explorers when you need programmatic, structured output across multiple networks including Base, Avalanche, and MegaETH testnet. Ideal for agents that need to determine whether an address is an ERC20 fungible token, ERC721 NFT, or ERC1155 multi-token contract before performing further operations.

## Known failure modes

- Invalid address format (not a 0x + 40 hex chars): 400 validation error
- Address is an EOA (externally owned account), not a contract: returns is_contract=false with null name/symbol
- Unsupported network value: 400 enum validation error
- Contract does not implement standard name/symbol methods: returns null for those fields
- RPC node timeout or unavailability: 500 error

## How this service works

Contract introspection via eth_call - name, symbol, decimals, and ERC20/721/1155 interface support

## Output

Returns the contract's name, symbol, address, boolean flags for ERC20/ERC165/ERC721/ERC1155 interface support, bytecode length, and whether the address is actually a deployed contract. Also includes request metadata like endpoint path and request ID.

## Example request

```json
{
 "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
 "network": "ethereum"
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/skills-onesource-io-8e09fc01/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from skills.onesource.io](https://www.zero.xyz/host/skills.onesource.io/llms.txt)
