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
| Field | Value |
|---|---|
| URL | https://agent-product-normalizer.vercel.app/api/v1/normalize |
| Method | GET |
| Price | $0.01 USDC = 10000 atomic units of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
| Network | eip155:8453 (base) |
| payTo | 0x74eCCC9bEC502d9Eb390bF15198A234447Dc59F8 |
| Seller | agent-product-normalizer.vercel.app |
| Catalogs | payai (row updated 2026-09-17) |
| Listed since (lower bound) | 2026-09-17 (earliest catalog timestamp; catalogs report last-update times only) |
| Last catalog update | 2026-09-17 |
| CDP quality counters | not in the CDP catalog |
| Category (keyword rule) | crypto-data |
| Templated path | no |
| x402Version in catalog | 2 |
| Service name / tags | Agent Product Normalizer · commerce, product-data, shopping, price, availability |
Unpaid probe (census of )
| Field | Value |
|---|---|
| Probe | not 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)
| Field | Value |
|---|---|
| Distinct payers | 1 |
| Payments | 35 |
| USDC volume | $0.43 |
| Median payment | n/a |
| First / last payment | 2026-09-17 / 2026-09-17 |
| Sampler-shaped share of payments | n/a |
| Payers that are not samplers | n/a |
| Source | blockscout-sample — newest page of inbound ERC-20 transfers only (<=50); counts are a floor, not a total |
| Address | 0x74eCCC9bEC502d9Eb390bF15198A234447Dc59F8 |
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.