# ERC-721 Token IDs by Owner (Ethereum)

> ERC-721 Token IDs by Owner (Ethereum) is a paid API for AI agents from agentshelf.syntexa.ch, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-21).

Returns the list of ERC-721 token IDs owned by a wallet address in a given Ethereum collection, using tokenOfOwnerByIndex enumeration (up to 100 IDs).

## Facts

- Endpoint: POST https://agentshelf.syntexa.ch/v1/eth-erc721-tokens?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-21
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/erc-721-token-ids-by-owner-ethereum-6a108096
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_xVu2Ue7eKWtcf8srPgwhi

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-ids-by-owner-ethereum-6a108096 -d '<json body>'
```

Example prompt: Can you look up all the ERC-721 token IDs that the wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 owns in the NFT collection at contract 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D on Ethereum mainnet?

## When to prefer this

Use this endpoint when you need the actual token IDs (not just a balance count) that a wallet holds in a specific ERC-721 collection on Ethereum mainnet, and the contract implements the ERC-721 Enumerable extension (tokenOfOwnerByIndex). It is ideal for ownership verification, portfolio listing, or access-gating workflows where you need the specific token IDs. It is not suitable for non-enumerable contracts, ERC-1155 tokens, or chains other than Ethereum mainnet.

## Known failure modes

- Contract does not implement the ERC-721 Enumerable interface — returns an error and is not billed
- Invalid Ethereum address format for contract or owner — rejected with a validation error
- Wallet owns more than 100 tokens — only first 100 are returned
- Contract address not on Ethereum mainnet — not supported
- Network or RPC timeout when querying the chain

## How this service works

Call when an agent needs the ERC-721 token ids one wallet owns in an Ethereum collection, via tokenOfOwnerByIndex when enumerable (at most 100). Unsupported enumeration errors and is not billed. No log scan. Send JSON {"contract":"0x1111111111111111111111111111111111111111","owner":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}. Exact $0.005 USDC on Base. Try unpaid POST /v1/sandbox/eth-erc721-tokens first.

## Output

A list of up to 100 ERC-721 token IDs owned by the specified wallet in the given contract, retrieved via the tokenOfOwnerByIndex enumeration method. Non-enumerable contracts return an unsupported error without being billed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "owner": {
   "type": "string",
   "examples": [
    "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
   ],
   "description": "Wallet whose token ids are listed. Example: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. At most 100 ids are returned."
  },
  "contract": {
   "type": "string",
   "examples": [
    "0x1111111111111111111111111111111111111111"
   ],
   "description": "ERC-721 collection on Ethereum mainnet. Example: 0x1111111111111111111111111111111111111111. Enumeration uses tokenOfOwnerByIndex only."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/erc-721-token-ids-by-owner-ethereum-6a108096/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agentshelf.syntexa.ch](https://www.zero.xyz/host/agentshelf.syntexa.ch/llms.txt)
