{"uid":"cap_TZ9RKfHfvANo-ozAJ_SHj","slug":"nft-owner-lookup-by-token-id-erc721-64bcff13","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://api.onesource.io/api/chain/nft-owner","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET","HEAD","DELETE"],"type":"string"},"queryParams":{"type":"object","required":["contract","token_id"],"properties":{"network":{"enum":["ethereum","sepolia","robinhood"],"type":"string","default":"ethereum"},"contract":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"token_id":{"type":"string","pattern":"^[0-9]+$"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"owner":{"type":"string"},"token_id":{"type":"string"},"contract_address":{"type":"string"}},"description":"Endpoint-specific response payload"},"meta":{"type":"object","required":["endpoint","request_id"],"properties":{"endpoint":{"type":"string"},"cost_usdc":{"type":"string"},"request_id":{"type":"string"},"payment_chain":{"type":"string"},"payment_token":{"type":"string"}}},"error":{"type":["object","null"],"properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}}}}}},"responseSchema":{"type":"json","example":{"data":{"owner":"0x46efbaedc92067e6d60e84ed6395099723253d67","token_id":"1","contract_address":"0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d"},"meta":{"endpoint":"/api/chain/nft-owner","cost_usdc":"0.001","request_id":"00000000abcdef01","payment_chain":"base","payment_token":"USDC"}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.003","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.003/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_jMBWb1vyfBBSd5jqi0Uvs","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.003","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns the current owner address of a specific ERC721 NFT by calling ownerOf on-chain via eth_call","exampleAgentPrompt":"Who currently owns token ID 42 of the ERC721 contract 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D on Ethereum mainnet?","exampleUseCases":[{"title":"Verify NFT holder before airdrop","prompt":"Check who owns token 5678 of the Pudgy Penguins contract so we can confirm they're eligible for our exclusive airdrop."},{"title":"Gate access based on NFT ownership","prompt":"Can you look up the current owner of token ID 299 in the PROOF Collective contract on mainnet? I need to verify they actually hold it before granting them access to our Discord."},{"title":"Resolve NFT custody in transactions","prompt":"Before we complete this sale, confirm which wallet currently holds token 1 of the Art Blocks contract 0xa7d8d9ef8d0231fd0f2f64f3da7b0023d5c2dcc0 on Ethereum."}],"resultDescription":"Returns the Ethereum wallet address that currently owns the specified ERC721 token, resolved directly from the contract's ownerOf function via eth_call on the requested network.","failureModes":["Token ID does not exist or has been burned — contract may revert, returning an error","Invalid contract address format (must be 0x-prefixed 40 hex chars) — validation error","Contract is not an ERC721 contract — ownerOf call may revert or return unexpected result","Network unavailable or RPC error — upstream eth_call failure","token_id must be a non-negative integer string — malformed input rejected"],"whenToPreferThis":"Use this endpoint when you need to quickly verify the current on-chain owner of a specific ERC721 NFT by token ID without needing full metadata or traits. Ideal for ownership checks, gating logic, or verifying NFT custody before an action. Prefer this over the NFT metadata endpoint when only the owner address is needed.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T18:49:23.449Z","isFirstParty":false}