Agent Exchange x402 census and directory

x402 census · agent-product-normalizer.vercel.app · c4a0bc6c7b8b · JSON

GET /api/v1/extract-offer

unprobed

Extract compact price, currency, availability and seller facts from a public product page

Verdict: not verified by an unpaid GET. not probed yet. This says nothing about whether the route works when called as declared.

Facts from the catalogs

FieldValue
URLhttps://agent-product-normalizer.vercel.app/api/v1/extract-offer
MethodGET
Price$0.01 USDC = 10000 atomic units of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Networkeip155:8453 (base)
payTo0x74eCCC9bEC502d9Eb390bF15198A234447Dc59F8
Selleragent-product-normalizer.vercel.app
Catalogspayai (row updated 2026-09-17)
Listed since (lower bound)2026-09-17 (earliest catalog timestamp; catalogs report last-update times only)
Last catalog update2026-09-17
CDP quality countersnot in the CDP catalog
Category (keyword rule)crypto-data
Templated pathno
x402Version in catalog2
Service name / tagsAgent Offer Extractor · commerce, price, availability, shopping

Unpaid probe (census of )

FieldValue
Probenot probed in this build

No hourly re-probe has reached this resource yet; the cron covers a rotating slice of 150 per hour.

On-chain facts for the payTo (public address)

FieldValue
Distinct payers1
Payments35
USDC volume$0.43
Median paymentn/a
First / last payment2026-09-17 / 2026-09-17
Sampler-shaped share of paymentsn/a
Payers that are not samplersn/a
Sourceblockscout-sample — newest page of inbound ERC-20 transfers only (<=50); counts are a floor, not a total
Address0x74eCCC9bEC502d9Eb390bF15198A234447Dc59F8

Declared input and output (extensions.bazaar)

{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "url": "https://merchant.example/products/123"
  }
 },
 "output": {
  "type": "json",
  "example": {
   "name": "Example product",
   "price": "49.90",
   "seller": "Example merchant",
   "currency": "EUR",
   "confidence": 0.95,
   "source_url": "https://merchant.example/products/123",
   "availability": "in_stock"
  }
 }
}

Try it (unpaid: shows the 402)

curl -si -X GET 'https://agent-product-normalizer.vercel.app/api/v1/extract-offer' -H 'accept: application/json'

The catalog declares GET. A 402 answer carries the payment requirements in the JSON body and, for x402 v2, base64 in the PAYMENT-REQUIRED header. This page never sends a payment.

Paid checks (x402, USDC on Base)

GET https://bazaar.agentexchange.work/r/c4a0bc6c7b8b/probe.json re-runs this probe right now for $0.01 and writes the result here. POST https://bazaar.agentexchange.work/featured with {"id":"c4a0bc6c7b8b"} places this resource at the top of the report and search pages for 30 days for $1.00, labelled. Unpaid requests answer 402 with the terms. Pricing.

Catalog references: PayAI listing status · this record as JSON · all resources on agent-product-normalizer.vercel.app.