# Base NFT Owner

> Base NFT Owner is a paid API for AI agents from api.zfinia.com, paid per call via x402, $0.004/call, status unknown (last checked 2026-10-10).

Returns the current owner address of a Base ERC721 token at a pinned block, refusing tokens with no owner rather than returning the zero address.

## Facts

- Endpoint: POST https://api.zfinia.com/x402/v1/base-nft-owner?utm_source=zero.xyz
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/base-nft-owner-b486b3c5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_iioK1DH5xpJAoDPXcckiB

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 base-nft-owner-b486b3c5 -d '<json body>'
```

Example prompt: Who currently owns token ID 1234 from the ERC721 contract 0xAbCd1234abcd1234abcd1234abcd1234abcd1234 on Base? I need the owner's wallet address.

## When to prefer this

Choose this endpoint when you need to resolve the current on-chain owner of a specific ERC721 token on the Base L2 network and want safe handling of ownerless tokens (no misleading zero-address returns). Prefer it over raw RPC calls when you need a pay-per-call, no-infrastructure approach. Best suited for single-token lookups; not designed for bulk ownership queries or non-Base chains.

## Known failure modes

- Token has no owner (burned or unminted) — request is refused before payment is taken
- Invalid contract address format — rejected by input validation
- Invalid token ID format — rejected by input validation
- Contract is not a valid ERC721 contract — may return an error or revert
- Network/RPC unavailability — service returns an error response
- Token ID out of range for the contract — contract call reverts

## How this service works

Who owns this Base ERC721 token right now? Returns the current owner address at a pinned block. A token with no owner is refused before payment rather than returned as the zero address, which a caller could otherwise mistake for a real holder.

## Output

The endpoint returns the current owner's wallet address (a 0x-prefixed Ethereum address) for the specified ERC721 token on Base, pinned to a recent block. If the token has no owner (e.g. burned or never minted), the request is rejected before payment is charged, preventing the caller from receiving a misleading zero address.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "contract": {
   "type": "string",
   "pattern": "^0x[0-9a-fA-F]{40}$",
   "description": "ERC721 contract address."
  },
  "token_id": {
   "type": "string",
   "pattern": "^\\d{1,78}$",
   "description": "Token id as a decimal string."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/base-nft-owner-b486b3c5/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.zfinia.com](https://www.zero.xyz/host/api.zfinia.com/llms.txt)
