Agent Exchange x402 census and directory

x402 census · agent-product-normalizer.vercel.app · 3b96d50ca02b · JSON

GET /api/v1/normalize

unprobed

Normalize a public product page into agent-ready commerce JSON

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/normalize
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 Product Normalizer · commerce, product-data, shopping, price, availability

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": {
   "offer": {
    "price": "49.90",
    "currency": "EUR",
    "availability": "in_stock"
   },
   "product": {
    "name": "Example product",
    "brand": "Example brand"
   },
   "quality": {
    "grade": "high",
    "warnings": [],
    "confidence": 0.95,
    "primary_source": "json_ld"
   },
   "schema_version": "2026-09-01"
  }
 }
}

Try it (unpaid: shows the 402)

curl -si -X GET 'https://agent-product-normalizer.vercel.app/api/v1/normalize' -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/3b96d50ca02b/probe.json re-runs this probe right now for $0.01 and writes the result here. POST https://bazaar.agentexchange.work/featured with {"id":"3b96d50ca02b"} 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.