{"uid":"cap_3VhONz2SbQ132nyjZYEg5","slug":"402api-seller-check-d9186982","name":"402api Seller Check","description":"Pay-per-call checks on Base, $0.02 USDC each via x402: a token safety check and an x402 seller check.","url":"https://tokencheck.402api.dev/v1/seller-check?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","properties":{"url":{"type":"string","pattern":"^https?://","maxLength":2048,"description":"The x402 resource URL you are about to pay (http/https). Give this or payTo."},"payTo":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"A seller's Base payTo address (reputation + its most-called Bazaar resource is probed). Give this or url."}}},"discoverable":{"const":true}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","oneOf":[{"type":"object","required":["verdict","reasons","bazaar","measuredAt"],"properties":{"index":{"type":"object"},"notes":{"type":"array","items":{"type":"string"}},"payTo":{"type":["string","null"]},"probe":{"type":["object","null"],"description":"status, ms, tls, x402 (version, valid, accepts with recognised asset, usd, payTo)"},"query":{"type":"object"},"bazaar":{"type":"object","description":"listed, listing (description, amount, 30-day calls/payers), other listings for the payTo"},"cached":{"type":"boolean"},"reasons":{"type":"array","items":{"type":"string"}},"verdict":{"enum":["looks legit","caution","avoid"]},"measuredAt":{"type":"string"},"reputation":{"type":["object","null"],"description":"last24h / last7d: payments, distinctPayers, totalUsd, medianUsd, topPayerShare, complete"}},"description":"HTTP 200: the seller report"},{"type":"object","example":{"error":"query parameter `token` must be a 0x-prefixed 40-hex-digit Base token address"},"required":["error"],"properties":{"error":{"type":"string","description":"What went wrong, in plain words"}},"description":"Error body. HTTP 400 = bad or missing input; HTTP 503 = check failed or timed out (25 s). The payment is not settled on errors, so the caller is not charged."}]}}}}},"responseSchema":{"type":"json","example":{"index":{"payTosTracked":1494,"indexedThroughTime":"2026-10-10T00:45:03.000Z","indexedThroughBlock":52401878,"payTosFullyBackfilled":1494},"notes":["Measured facts, not advice. Incoming USDC counts every transfer to the payTo, not only x402 settlements; distinct payers can still be one operator with many wallets."],"payTo":"0x589a2314a2e05f45e40c4823da3ba58d421db3d8","probe":{"ms":890,"ok":true,"tls":{"ok":true,"issuer":"Let's Encrypt","validTo":"2026-12-10T09:14:50.000Z","daysLeft":61},"url":"https://www.api-xpay.com/x402/ping","x402":{"valid":true,"source":"PAYMENT-REQUIRED header","accepts":[{"usd":0.005,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x589a2314a2e05f45e40c4823da3ba58d421db3d8","scheme":"exact","network":"eip155:8453","problems":[],"recognised":"USDC on Base","amountAtomic":"5000","maxTimeoutSeconds":60}],"version":2,"problems":[],"description":"Health check ping","resourceUrl":"https://www.api-xpay.com/x402/ping"},"method":"GET","status":402,"measuredAt":"2026-10-10T00:45:30.978Z","methodNote":"GET without payment"},"query":{"url":"https://www.api-xpay.com/x402/ping","payTo":null},"bazaar":{"listed":true,"listing":{"asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","payTo":"0x589a2314a2e05f45e40c4823da3ba58d421db3d8","amount":"5000","method":"GET","network":"eip155:8453","calls30d":4581,"resource":"https://www.api-xpay.com/x402/ping","payers30d":110,"description":"Health check ping","lastUpdated":"2026-10-09T21:29:46.127Z","serviceName":"X Pay","lastCalledAt":"2026-10-09T18:46:08.848Z","lastSeenByIndexer":"2026-10-09T23:20:21.000Z","firstSeenByIndexer":"2026-10-09T23:20:21.000Z"},"catalogSize":34791,"otherListings":[{"calls30d":4539,"resource":"https://www.api-xpay.com/x402/payment","description":"Payment receipt with transaction details"},{"calls30d":4357,"resource":"https://www.api-xpay.com/x402/status","description":"Service status and payment configuration"}],"listingsForPayTo":14,"catalogRefreshedAt":"2026-10-09T23:20:22.525Z"},"reasons":["Unpaid GET answered 402 with valid x402 v2 requirements (PAYMENT-REQUIRED header): $0.005 USDC on Base to 0x589a2314a2e05f45e40c4823da3ba58d421db3d8 in 890 ms.","Listed in the CDP Bazaar as \"X Pay\" (Bazaar reports 4,581 calls / 110 payers in 30 d).","20,049 USDC payment(s) from 137 distinct payer(s), $2,276.68 total, in the last 7 d."],"verdict":"looks legit","measuredAt":"2026-10-10T00:45:31.943Z","reputation":{"payTo":"0x589a2314a2e05f45e40c4823da3ba58d421db3d8","last7d":{"complete":true,"payments":20049,"totalUsd":2276.67891,"medianUsd":0.005,"coveredSince":"2026-10-03T00:45:05.000Z","topPayerShare":0.073,"distinctPayers":137},"method":"USDC Transfer events on Base whose recipient is this address, indexed continuously by TradingLab from eth_getLogs (every incoming USDC transfer counts, not only x402 settlements; amounts in USD at 1 USDC = $1)","indexed":true,"last24h":{"complete":true,"payments":1930,"totalUsd":409.22096,"medianUsd":0.005,"coveredSince":"2026-10-09T00:45:05.000Z","topPayerShare":0.29,"distinctPayers":17},"firstPaymentSeen":"2026-10-03T00:45:15.000Z","indexedThroughBlock":52401878}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.02","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.02/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_ltWZR1qIwLM9TDnKi4WkS","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.02","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Checks whether an x402 seller's URL or Base wallet address is trustworthy, returning a verdict, reputation data, Bazaar listing info, and a live probe result.","exampleAgentPrompt":"Before I pay for this API, can you check whether https://www.api-xpay.com/x402/ping is a legitimate x402 seller — give me its verdict, reputation, and whether it's properly listed on Bazaar?","exampleUseCases":[{"title":"Vetting a new pay-per-call API","prompt":"I found an x402 API at https://someapi.example.com/x402/data that charges $0.005 per call — can you check if that seller looks legit before I start paying?"},{"title":"Checking a wallet before a large batch run","prompt":"I'm about to run 5,000 automated calls that will pay out to 0x589a2314a2e05f45e40c4823da3ba58d421db3d8 — can you verify this Base address is a reputable x402 seller first?"},{"title":"Monitoring a seller's Bazaar reputation","prompt":"Pull up the reputation report for the seller behind https://api-xpay.com/x402/payment — how many distinct payers have they had in the last 30 days and what's their verdict?"}],"resultDescription":"A JSON report containing: a top-level verdict ('looks legit', 'caution', or 'avoid'), an array of human-readable reasons, the resolved payTo address, a live probe result with TLS details and x402 protocol validity (version, accepted assets, USD price, problems), Bazaar listing info (listed status, call volume, payer count, service name, other listings for the same payTo), on-chain reputation stats (last 24h and 7d payments, distinct payers, total USD, median USD, top payer share), index metadata, and optional notes. Errors return a plain-English error string with HTTP 400 (bad input) or 503 (check failed/timed out).","failureModes":["HTTP 400: missing or malformed input — neither url nor payTo provided, or payTo is not a valid 0x-prefixed 40-hex-digit address, or url doesn't start with http/https","HTTP 503: check failed or timed out (25s limit) — seller server unreachable or probe timed out","Cached result may be slightly stale — response includes 'cached: true' and 'measuredAt' timestamp","Seller not listed on Bazaar — bazaar.listed will be false and listing will be absent","payTo resolution may fail if the probed URL returns an unexpected x402 header format"],"whenToPreferThis":"Use this endpoint when an AI agent or user needs to verify the safety and legitimacy of an x402 pay-per-call resource before committing payments on Base. It is the go-to check for pre-payment due diligence in x402 workflows, combining live TLS probing, x402 protocol compliance validation, Bazaar listing lookup, and on-chain payment reputation into a single $0.02 call. Prefer it over manual block-explorer lookups when you want a structured verdict with reasons rather than raw transaction data.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-12T21:41:51.654Z","isFirstParty":false,"canonicalSlug":"402api-seller-check-d9186982"}