{"uid":"cap_zf1VYu5Fxb9-nQmCjWXcF","slug":"skills-onesource-io-a0427b34","name":"NFT Owner Lookup by Token ID (ERC721)","description":"Look up the current owner of an ERC721 NFT by token_id via ownerOf (eth_call)","url":"https://skills.onesource.io/api/chain/nft-owner","method":"GET","headers":{},"bodySchema":{"type":"object","properties":{"network":{"enum":["ethereum","sepolia","avax","megaeth","megaeth-testnet","base"],"type":"string","default":"ethereum"},"contract":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"token_id":{"type":"string","pattern":"^[0-9]+$"}}},"responseSchema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["owner","token_id","contract_address"],"properties":{"owner":{"type":"string"},"token_id":{"type":"string"},"contract_address":{"type":"string"}}},"meta":{"type":"object","required":["endpoint","request_id"],"properties":{"endpoint":{"type":"string"},"request_id":{"type":"string"}}}}},"example":{"request":{"network":"ethereum","contract":"0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D","token_id":"1"},"response":{"data":{"owner":"0x46efbaedc92067e6d60e84ed6395099723252496","token_id":"1","contract_address":"0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"},"meta":{"endpoint":"/api/chain/nft-owner","request_id":"8f50191273f5084d"}}},"exampleRequest":{"network":"ethereum","contract":"0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D","token_id":"1"},"tags":["x402"],"displayCostAmount":"0.003000","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.003000/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_yl1W_Tlcr_VO20EzzXWnG","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.003","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns the current on-chain owner address of a specific ERC721 NFT by querying ownerOf via eth_call","exampleAgentPrompt":"Who currently owns token ID 4231 from the CryptoPunks contract at 0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB on Ethereum mainnet?","exampleUseCases":[{"title":"Verify NFT ownership for marketplace disputes","prompt":"Can you check who currently owns token 5847 from the Bored Ape Yacht Club contract on Ethereum to settle this ownership dispute?"},{"title":"Automated compliance check for token transfers","prompt":"I need you to verify the current owner of token ID 234 in the Pudgy Penguins contract on Ethereum mainnet to confirm our transfer records are accurate."},{"title":"Real-time holder lookup across NFT collections","prompt":"Which wallet address owns token 1099 from the Doodles NFT contract on Base network right now?"}],"resultDescription":"Returns the wallet address of the current owner of the specified ERC721 token, as returned by the on-chain ownerOf function via eth_call on the requested network.","failureModes":["Token ID does not exist (reverted or not minted) — contract call reverts","Invalid contract address format — 400 validation error","Network not supported or unavailable — 400 or 503 error","Contract is not ERC721 or does not implement ownerOf — call reverts or returns unexpected data","Token has been burned — may revert or return zero address"],"whenToPreferThis":"Use this endpoint when you need the current on-chain owner of a specific ERC721 token and need a simple, low-latency lookup without indexing overhead. Prefer this over NFT marketplace APIs when you need authoritative on-chain data rather than cached or indexed data. Good for verification, compliance, or automation workflows that need real-time ownership state across Ethereum, Base, Avalanche, or Sepolia.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T06:33:18.396Z","isFirstParty":false}