NFT owner, Celo
Owner of an NFT on Celo: the wallet that holds one ERC-721 token id right now (ownerOf), plus the collection's name and symbol. Use to verify who holds an NFT before a trade, a mint gate or an airdrop; for how many a wallet holds use celo_nft_balance, for the token's metadata celo_nft_metadata. A missing contract is 404, a token that does not exist 422, both uncharged.
Inputs
| Name | Type | Description |
|---|---|---|
contract (required) | string | 0x ERC-721 collection contract address |
tokenId (required) | string | Token id, a whole number |
Request
Over HTTP, with a card key from /credits:
curl -H "Authorization: Bearer adt_…" "https://agent-data-tools.revmesh2074.workers.dev/celo/nft-owner?contract=0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A&tokenId=1"
Or one of your 25 free calls, no key:
curl "https://agent-data-tools.revmesh2074.workers.dev/celo/nft-owner?contract=0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A&tokenId=1&trial=1"
Without a key, the same URL answers 402 Payment Required with x402 and MPP terms, so an agent with a wallet pays per call in USDC (Base, Polygon, Arbitrum or Solana over x402; Base or Tempo over MPP) and retries.
Example result
{
"chain": "Celo",
"chainId": 42220,
"contract": "0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A",
"tokenId": "1",
"owner": "0x69e67aad5495a48c4ef3f770d93a99935e1dc90d",
"name": "Uniswap V3 Positions NFT-V1",
"symbol": "UNI-V3-POS"
}
From an AI agent (MCP)
Add the MCP server to Claude, Cursor or any MCP client. This tool is celo_nft_owner, and the first 25 successful calls are free:
https://agent-data-tools.revmesh2074.workers.dev/mcp