# ERC-721 Token ID by Owner Index

> ERC-721 Token ID by Owner Index is a paid API for AI agents from twin.unykorn.org, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-01).

Returns the Nth token ID owned by a specific address in an ERC-721 NFT collection on a given EVM chain

## Facts

- Endpoint: POST https://twin.unykorn.org/erc721-token-of-owner?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-01
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/erc-721-token-id-by-owner-index-eaa518bb
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_i3ljwkDEF4AgyUKSiVqod

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 erc-721-token-id-by-owner-index-eaa518bb -d '<json body>'
```

Example prompt: What's the token ID of the 2nd NFT that wallet 0xAbCd...1234 owns in the collection at contract 0x1234...abcd on Base?

## When to prefer this

Use this endpoint when you need to enumerate or iterate through the specific token IDs that a wallet address owns in an ERC-721 collection by positional index. It complements the 'NFT balance' endpoint (which gives the count) — call the balance endpoint first to know the range, then use this endpoint to retrieve each token ID. Ideal for building full NFT inventory lists, verifying ownership of a specific token, or feeding token IDs into downstream metadata lookups.

## Known failure modes

- Index out of bounds — owner holds fewer NFTs than the requested index
- Invalid wallet address format (non-0x or wrong length)
- Invalid contract address format
- Unsupported chain value outside the accepted enum
- Contract is not a valid ERC-721 contract
- Network or RPC timeout for the specified chain
- Payment failure via x402 protocol

## How this service works

The Nth token id an address owns in a collection — Genesis402 / UnyKorn Operator Network

## Output

Returns a JSON object with ok=true, type='erc721-token-of-owner', the resolved token ID for the given index, and a payment receipt including transaction hash, amount in USD, and a unique receipt ID.

## 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"
    },
    "index": {
     "type": "integer",
     "minimum": 0
    },
    "owner": {
     "type": "string",
     "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "contract": {
     "type": "string",
     "pattern": "^0x[0-9a-fA-F]{40}$"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

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

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/erc-721-token-id-by-owner-index-eaa518bb/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)
