{"uid":"cap_LRjaEa5yXgt0I4CLZqR9J","slug":"op-mainnet-nft-metadata-lookup-e15078ed","name":"OP Mainnet NFT Metadata Lookup","description":"Pay-per-call data for AI agents, paid in USDC on Base with x402: token risk checks (rug check) on Base, Ethereum, Arbitrum, Optimism, Polygon and Solana, onchain reads (balances, transactions, gas, contracts, NFTs, whale trades, new pools, ENS and Basenames), ECB exchange rates, and Canadian sales tax and business days.","url":"https://ca-tax-api-mainnet.lxtap.workers.dev/optimism/nft?utm_source=zero.xyz","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"],"type":"string"},"queryParams":{"type":"object","required":["contract","tokenId"],"properties":{"tokenId":{"type":"string","pattern":"^\\d{1,78}$","description":"Token id as a decimal string"},"contract":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"NFT collection contract on OP Mainnet"}},"additionalProperties":false}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":{"type":"json","example":{"chain":"optimism","owner":"0xc2EEdF3bC7F93366c00c6074DF0e6F122fa2445c","tokenId":"1043","contract":"0x4857DB576eE0e45F10525eC59527BfD10beeC60b","imageUrl":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLz… (240 chars, truncated in this example)","metadata":{"name":"CL - USDC/ETH - 2397.1<>2421.2","image":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLz… (240 chars, truncated in this example)","description":"This NFT represents a liquidity position in a Velodrome Finance USDC-ETH pool. The owner of this NFT can modify or redeem the position.\n\nPool Address: 0xca231d91ec00385a54e541f504617d2197f9b7c3\nUSDC A… (240 chars, truncated in this example)"},"standard":"ERC-721","tokenUri":"data:application/json;base64,eyJuYW1lIjo…","collection":"Slipstream V3 Deposit","fetchedFrom":"inline data URI"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.008","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","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.008/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.008","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.008","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_yoW0rFqPWaILi18DbtX6w","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.008","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches on-chain and off-chain metadata for an ERC-721 or ERC-1155 NFT on OP Mainnet, including collection name, owner, token URI, decoded metadata JSON, and a browser-loadable image URL.","exampleAgentPrompt":"Can you pull up the metadata and image for token ID 1234 from the Optimism NFT contract at 0x4200000000000000000000000000000000000042? I want to see the collection name, who owns it, and the image.","exampleUseCases":[{"title":"NFT ownership verification on Optimism","prompt":"Who currently owns token ID 77 from the NFT contract 0x4200000000000000000000000000000000000042 on OP Mainnet? I need to verify ownership before we process a transfer."},{"title":"Display NFT artwork in a gallery app","prompt":"Fetch the image URL and metadata for token ID 500 from the Optimism NFT collection at contract 0x4200000000000000000000000000000000000042 so I can display it in the gallery."},{"title":"Audit NFT collection traits and attributes","prompt":"Get the full decoded metadata JSON for token ID 999 on the OP Mainnet contract 0x4200000000000000000000000000000000000042 — I want to see all the traits and attributes stored in the token."}],"resultDescription":"Returns the collection name, current owner address (for ERC-721), token URI, decoded metadata JSON (resolved from IPFS, Arweave, HTTPS, or inline data URI), and a browser-loadable image URL for the specified NFT on OP Mainnet.","failureModes":["Invalid contract address format returns a validation error","Token ID does not exist on the contract returns not-found error","IPFS or Arweave metadata gateway timeout causes incomplete metadata response","Contract is not an ERC-721 or ERC-1155 token returns an error","Network or RPC unavailability for OP Mainnet causes fetch failure"],"whenToPreferThis":"Use this endpoint when you need comprehensive NFT metadata for a specific token on OP Mainnet (Optimism), including off-chain metadata resolution from IPFS, Arweave, or HTTPS sources. Prefer this over generic blockchain RPCs when you need the full decoded metadata JSON and a ready-to-use image URL without writing your own URI resolution logic. Choose the Ethereum sibling endpoint for Ethereum mainnet NFTs.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-23T12:44:13.026Z","isFirstParty":false,"canonicalSlug":"op-mainnet-nft-metadata-lookup-e15078ed"}