{"uid":"cap_i9nzdU0Gm_PKLKwD4XR4z","slug":"openverbs-nft-metadata-resolver-00596192","name":"OpenVerbs NFT Metadata Resolver","description":"Resolve one NFT (contract + tokenId) into normalized metadata: name, description, image, attributes and token standard (ERC-721 or ERC-1155). Reads the on-chain tokenURI/uri, then fetches and normalizes the metadata document (ipfs/ar/http/data), rewriting ipfs image links to a gateway URL. Returns `found:false` for non-NFT contracts. Live reads with automatic endpoint fallback.","url":"https://chain.openverbs.com/v1/nft-metadata","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","properties":{"chain":{"enum":["ethereum","base","arbitrum","optimism","polygon"],"type":"string","description":"EVM chain to query. One of: ethereum, base, arbitrum, optimism, polygon. Default \"ethereum\"."},"tokenId":{"type":["string","integer"],"description":"Token id (decimal or 0x-hex integer)."},"contract":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"NFT contract address."}},"additionalProperties":false},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.006","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.006/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.006","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.006","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_B8La9ykojOQGlX8IxTOcS","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.006","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Resolves an NFT (contract address + tokenId) on a specified EVM chain into normalized metadata including name, description, image URL, attributes, and token standard (ERC-721 or ERC-1155).","exampleAgentPrompt":"Can you look up the metadata for token ID 1234 of the NFT contract 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13d on Ethereum — I want the name, image, and any traits it has.","exampleUseCases":[{"title":"Displaying NFT details in a wallet","prompt":"Show me the name, image, and traits for token ID 7495 of the contract 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13d on Ethereum."},{"title":"Verifying NFT attributes for a trade","prompt":"Before I buy this NFT, can you pull the metadata for token 212 at contract 0x8a90CAb2b38dba80c64b7734e58Ee1dB38B8992e on Polygon — I need to confirm its rarity traits and that the image resolves correctly."},{"title":"Checking cross-chain NFT metadata","prompt":"I have an NFT on Base — contract 0x2Af673933DF5CaB96c9bC0e0Ce1Ced3C7e25A82, token ID 5 — can you fetch its normalized metadata and tell me what token standard it uses?"}],"resultDescription":"Returns a normalized metadata object including: NFT name, description, image URL (with IPFS links rewritten to a gateway URL), array of attributes/traits, and token standard (ERC-721 or ERC-1155). Returns `found: false` if the contract is not an NFT contract.","failureModes":["Non-NFT contract address returns `found: false` instead of metadata","Invalid contract address format (must be 0x-prefixed 40-char hex) causes validation error","Token ID not minted or out of range returns an error or `found: false`","Unsupported chain name causes validation error (must be ethereum, base, arbitrum, optimism, or polygon)","Unreachable or malformed tokenURI/metadata document may result in partial or failed response","IPFS or Arweave metadata that is offline may cause fetch failure"],"whenToPreferThis":"Use this endpoint when you need normalized, ready-to-display NFT metadata for a specific token on a supported EVM chain (Ethereum, Base, Arbitrum, Optimism, Polygon). It handles the full resolution pipeline — on-chain tokenURI read, IPFS/Arweave/HTTP metadata fetch, and image URL normalization — in a single call. Prefer this over raw RPC calls when you want a clean, consistent output format without building your own IPFS gateway or metadata normalization logic.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-13T18:41:15.473Z","isFirstParty":false}