{"uid":"cap_dQ4-a6ga26UGtVcJcs4Xl","slug":"basenft-oracle-x402-nft-ownership-verifier-064814f1","name":"BaseNFT Oracle x402 – NFT Ownership Verifier","description":"Real-Time Base NFT Collection, Floor Price & Ownership Verification Oracle on Base Mainnet.","url":"https://basenft-x402.vercel.app/v1/verify-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","queryParams"],"properties":{"type":{"const":"http"},"method":{"const":"GET"},"queryParams":{"type":"object","title":"OwnerRequest","required":["wallet"],"properties":{"wallet":{"type":"string","title":"Wallet","pattern":"^0x[0-9a-fA-F]{40}$","maxLength":42,"minLength":42},"collection":{"type":"string","title":"Collection","default":"basenames","maxLength":64,"minLength":1}},"additionalProperties":false}},"additionalProperties":false},"output":{"type":"object","properties":{"type":{"const":"json"},"example":{"type":"object","required":["success","source","wallet","is_holder","tokens_held","block_number","observed_at"],"properties":{"source":{"type":"string"},"wallet":{"type":"string"},"network":{"const":"base-mainnet"},"success":{"type":"boolean"},"is_holder":{"type":"boolean"},"collection":{"type":"object","required":["address","identity_verified","metadata_source"],"properties":{"name":{"type":["string","null"]},"slug":{"type":["string","null"]},"symbol":{"type":["string","null"]},"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"metadata_source":{"enum":["local_registry","user_supplied_address"]},"identity_verified":{"const":false}}},"limitations":{"type":"array","items":{"type":"string"}},"observed_at":{"type":"string","format":"date-time"},"tokens_held":{"type":"integer","minimum":0},"block_number":{"type":"integer","minimum":0},"contract_address":{"type":"string"},"erc721_interface_reported":{"const":true}}}}}}},"responseSchema":{"type":"object","properties":{"address":{"type":"string"},"collection":{"type":"string"},"total_supply":{"type":"integer"},"floor_price_eth":{"type":"number"},"floor_price_usd":{"type":"number"}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","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.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_UNrcnCicgP9pOy06MAdEO","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Verifies whether a given wallet address holds tokens from a specified Base Mainnet NFT collection and returns ownership details including token count and block number.","exampleAgentPrompt":"Check if the wallet 0x1234567890abcdef1234567890abcdef12345678 holds any NFTs from the Basenames collection on Base mainnet and tell me how many tokens they have.","exampleUseCases":[{"title":"Token-gated access check","prompt":"I need to verify whether the wallet 0xAbCdEf1234567890AbCdEf1234567890AbCdEf12 holds any Basenames NFTs on Base mainnet before granting them access to our Discord server."},{"title":"NFT holder eligibility for airdrop","prompt":"Can you check if wallet 0x9876543210abcdef9876543210abcdef98765432 is a holder of the 'basenames' collection on Base so I can determine if they qualify for our upcoming airdrop?"},{"title":"Portfolio ownership audit","prompt":"Tell me how many NFTs from the Basenames collection are held by wallet 0xDEADBEEFdeadbeefDEADBEEFdeadbeefDEADBEEF on Base mainnet, and at which block number the data was observed."}],"resultDescription":"Returns a JSON object indicating whether the queried wallet is a holder (is_holder boolean), the number of tokens held (tokens_held integer), the block number at which the check was performed, the collection's contract address, metadata source, whether identity was verified, a timestamp (observed_at), and a success flag. Also surfaces any limitations associated with the lookup.","failureModes":["Invalid wallet address format (not a valid 0x-prefixed 40-character hex address) returns a validation error","Unknown or unsupported collection slug returns an error or empty collection metadata","Network or RPC failure on Base mainnet may return a failed success flag","Payment not completed via x402 protocol results in a 402 Payment Required response","Rate limiting or service unavailability returns a 5xx error"],"whenToPreferThis":"Use this endpoint when you need real-time, on-chain verification of NFT ownership for a specific wallet on Base mainnet — particularly for Basenames or other Base-native collections. It is ideal for token-gating, airdrop eligibility checks, and holder authentication workflows where a simple true/false holder status plus token count is sufficient. Prefer this over general NFT APIs when you specifically need Base mainnet data with x402 micropayment-compatible access.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-19T06:32:51.746Z","isFirstParty":false}