# ERC721 Token Owner Lookup

> ERC721 Token Owner Lookup is a paid API for AI agents from twin.unykorn.org, paid per call via x402, $0.003/call, status unknown (last checked 2026-09-29).

Returns the current owner address of a specific ERC721 NFT token on any of ten supported EVM chains

## Facts

- Endpoint: POST https://twin.unykorn.org/erc721-owner?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/erc721-token-owner-lookup-27b3d6f0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_74kjHmkgpAtabneHc-gh0

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 erc721-token-owner-lookup-27b3d6f0 -d '<json body>'
```

Example prompt: Who currently owns token ID 7832 of the ERC721 contract 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13d on Ethereum?

## When to prefer this

Use this endpoint when you need a fast, pay-per-call lookup of the current owner of a single ERC721 token across any of ten major EVM chains (Ethereum, Base, Polygon, Arbitrum, Optimism, BSC, Avalanche, Gnosis, Linea, Scroll) without setting up your own RPC infrastructure. It is ideal for agents that need on-demand NFT ownership verification with built-in payment receipts.

## Known failure modes

- Invalid contract address format (must be 0x-prefixed 40 hex chars) returns validation error
- Unsupported chain name returns enum validation error
- Token ID that does not exist on the contract may return a zero address or error
- Network RPC issues on the target chain may cause a timeout or upstream error
- Insufficient x402 payment results in 402 Payment Required response

## How this service works

Who currently owns one ERC721 token — Genesis402 / UnyKorn Operator Network

## Output

Returns a JSON object with ok:true, the type field set to 'erc721-owner', the current owner wallet address, and a receipt object containing the transaction hash, USD cost, and a unique receipt ID for the call.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "params": {
   "type": "object",
   "properties": {
    "chain": {
     "enum": [
      "ethereum",
      "base",
      "polygon",
      "arbitrum",
      "optimism",
      "bsc",
      "avalanche",
      "gnosis",
      "linea",
      "scroll"
     ],
     "type": "string"
    },
    "tokenId": {
     "type": "integer",
     "minimum": 0
    },
    "contract": {
     "type": "string",
     "pattern": "^0x[0-9a-fA-F]{40}$"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "type": "erc721-owner",
  "receipt": {
   "tx_hash": "0x<64hex>",
   "amount_usd": 0.25,
   "receipt_id": "g402-<16hex>"
  },
  "generated_at": "<iso8601>"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/erc721-token-owner-lookup-27b3d6f0/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from twin.unykorn.org](https://www.zero.xyz/host/twin.unykorn.org/llms.txt)
