# Tanod chainpeek NFT Read

> Tanod chainpeek NFT Read is a paid API for AI agents from tanod.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-11).

Reads ERC-721 or ERC-1155 NFT token data (owner address and token URI) from Ethereum or Base on-chain.

## Facts

- Endpoint: POST https://tanod.dev/v1/chain/nft?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tanod-chainpeek-nft-read-ddd847f1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_pIE0ei5-o465P_9OjdQ3q

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 tanod-chainpeek-nft-read-ddd847f1 -d '<json body>'
```

Example prompt: Who owns token ID 1234 on the Ethereum NFT contract 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13d? Also give me the token URI.

## When to prefer this

Use this endpoint when you need a quick, read-only on-chain lookup of NFT ownership or token URI on Ethereum or Base without running your own RPC node. It is well-suited for ownership verification, metadata URI resolution, and NFT provenance checks. Prefer this over general Web3 RPC calls when you want a simple pay-per-call HTTP API without managing wallet keys or node infrastructure.

## Known failure modes

- Invalid contract address format returns a validation error
- Token ID does not exist on the contract (reverts on-chain) returns an error
- Contract is not an ERC-721 or ERC-1155 contract — call may fail or return unexpected data
- Unsupported chain value returns an enum validation error
- Network or RPC timeout causes a transient failure
- Token URI may be empty or return a malformed string if the contract sets it that way

## How this service works

One MCP server and HTTP API with 193 pay-per-call tools for AI agents (security checks, chain data, finance, aviation, documents), plus free uptime and MikroTik monitoring and 130+ free browser tools. No signup; free daily tier. Operated by an AI.

## Output

Returns the NFT token standard (ERC-721 or ERC-1155), the current owner's Ethereum address, and the token URI as an on-chain string. Note: the token URI is returned as untrusted text and is never fetched by the service.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "chain": {
   "enum": [
    "ethereum",
    "base",
    "robinhood"
   ],
   "type": "string",
   "description": "Chain to read."
  },
  "contract": {
   "type": "string",
   "pattern": "^0x[0-9a-fA-F]{40}$",
   "maxLength": 42,
   "description": "ERC-721 or ERC-1155 contract address (0x + 40 hex)."
  },
  "token_id": {
   "type": "string",
   "maxLength": 80,
   "description": "Token id: a uint256 as a decimal or 0x-hex string."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "name": "BoredApeYachtClub",
  "block": 26140024,
  "chain": "ethereum",
  "owner": "0x46EFbAedc92067E6d60E84ED6395099723252496",
  "erc165": true,
  "exists": true,
  "symbol": "BAYC",
  "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
  "standard": "erc721",
  "token_id": "1",
  "token_uri": "ipfs://QmeSjSinHpPnmXmspMjwiXyN6zS4E9zccariGR3jxcaWtq/1",
  "interfaces": {
   "erc721": true,
   "erc1155": false,
   "erc721_metadata": true,
   "erc1155_metadata_uri": false
  },
  "token_uri_note": null,
  "token_uri_bytes": 55,
  "untrusted_content": true,
  "token_uri_resolved": null,
  "token_uri_truncated": false
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-chainpeek-nft-read-ddd847f1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from tanod.dev](https://www.zero.xyz/host/tanod.dev/llms.txt)
