x402 census · roastx402endpoint.vercel.app · c1b4ac2d4e46 · JSON
GET /api/roast
live
Pay for a lighthearted developer roast generated on-demand.
Verdict: live. The unpaid GET reached a valid 402. The live amount equals the catalog price.
Facts from the catalogs
| Field | Value |
|---|---|
| URL | https://roastx402endpoint.vercel.app/api/roast |
| Method | GET |
| Price | $0.0017 USDC = 1700 atomic units of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
| Network | eip155:8453 (base) |
| payTo | 0xBbBA34E9e10130CE852Aa9f1D651cd73C36206d4 |
| Seller | roastx402endpoint.vercel.app |
| Catalogs | cdp (row updated 2026-09-30) |
| Listed since (lower bound) | 2026-09-30 (earliest catalog timestamp; catalogs report last-update times only) |
| Last catalog update | 2026-09-30 |
| CDP quality counters | 87 calls and 57 unique payers in 30 days, last call 2026-09-30 (catalog-reported, not verified on chain) |
| Category (keyword rule) | other/unknown |
| Templated path | no |
| x402Version in catalog | 2 |
| Service name / tags | Roast Generator · roast, humor, developer, fun |
Unpaid probe (census of 2026-09-30)
| Field | Value |
|---|---|
| Probed at | 2026-09-30T23:12:07.504Z |
| HEAD | 402 |
| GET | 402 |
| Verdict | live live: valid 402 to an unpaid GET |
| 402 carried in | header |
| x402Version in the 402 | 2 |
| accepts[0] | {"scheme":"exact","network":"eip155:8453","amount":"1700","payTo":"0xBbBA34E9e10130CE852Aa9f1D651cd73C36206d4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}} |
| Live amount equals catalog price | yes |
| Live payTo equals catalog payTo | yes |
| extensions.bazaar in the 402 | yes |
| PAYMENT-REQUIRED header | yes |
| WWW-Authenticate offer | none |
| Content type / server / CORS | application/json / Vercel / none |
| Latency | 5,575 ms |
| Error | Payment required |
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 | 20 |
| Payments | 107 |
| USDC volume | $0.18 |
| Median payment | $0.0017 |
| First / last payment | 2026-07-09 / 2026-09-22 |
| Sampler-shaped share of payments | 100.0% |
| Payers that are not samplers | 0 |
| Source | forensics-2026-09-30 |
| Address | 0xBbBA34E9e10130CE852Aa9f1D651cd73C36206d4 (contract) |
Declared input and output (extensions.bazaar)
{
"input": {
"method": "GET",
"pathParams": {},
"queryParams": {},
"type": "http"
},
"output": {
"type": "json",
"example": {
"explanation": "Thanks for the payment! You've earned a lighthearted developer roast.",
"generatedAt": "2026-07-05T00:00:00.000Z",
"roast": "Your code is so bad, even GitHub Copilot refuses to autocomplete it."
}
}
}
Try it (unpaid: shows the 402)
curl -si -X GET 'https://roastx402endpoint.vercel.app/api/roast' -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/c1b4ac2d4e46/probe.json re-runs this probe right now for $0.01 and writes the result here. POST https://bazaar.agentexchange.work/featured with {"id":"c1b4ac2d4e46"} 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: agentic.market (CDP Bazaar front end) · this record as JSON · all resources on roastx402endpoint.vercel.app.