qr-generator.pdfextractapi.workers.dev/generate
Withdrawn from the catalog. This route is absent from a complete fetch of the public discovery catalog, so it is left out of the public L0 fail count.
1.Catalog declaration
| Resource URL | https://qr-generator.pdfextractapi.workers.dev/generate |
| Source | cdp_bazaar |
| Declared method | POST |
| Catalog network | eip155:8453 |
| Receiving address | 0xa0ac44becc6302298f01ed255b175ca1060c189e |
| Declared price (base units) | 10000 |
| Catalog status | delisted (since 2026-10-01 01:03 UTC) |
| First seen / last seen | 2026-08-28 01:12 UTC / 2026-09-30 01:03 UTC |
| Catalog-reported calls / payers (30d) | 2 / 2 |
2.Probe history
| Probed at | Method | Verdict | HTTP | Latency | Reason |
|---|---|---|---|---|---|
| 2026-09-30 22:40 UTC | POST | fail | 404 | 48 ms | no_402HTTP 404 instead of 402 to an unpaid POST. |
| 2026-09-30 04:40 UTC | POST | fail | 404 | 335 ms | no_402HTTP 404 instead of 402 to an unpaid POST. |
| 2026-09-29 13:40 UTC | POST | fail | 404 | 282 ms | no_402HTTP 404 instead of 402 to an unpaid POST. |
| 2026-09-28 16:40 UTC | POST | pass | 402 | 473 ms | — |
| 2026-09-27 22:40 UTC | POST | pass | 402 | 2269 ms | — |
| 2026-09-27 04:40 UTC | POST | pass | 402 | 463 ms | — |
| 2026-09-26 13:40 UTC | POST | pass | 402 | 416 ms | — |
| 2026-09-25 16:40 UTC | POST | pass | 402 | 828 ms | — |
| 2026-09-24 22:40 UTC | POST | pass | 402 | 457 ms | — |
| 2026-09-24 04:40 UTC | POST | pass | 402 | 857 ms | — |
| 2026-09-23 13:40 UTC | POST | pass | 402 | 420 ms | — |
| 2026-09-22 16:40 UTC | POST | pass | 402 | 340 ms | — |
| 2026-09-21 22:40 UTC | POST | pass | 402 | 542 ms | — |
| 2026-09-21 04:40 UTC | POST | pass | 402 | 2241 ms | — |
| 2026-09-20 16:40 UTC | POST | pass | 402 | 399 ms | — |
| 2026-09-19 22:40 UTC | POST | pass | 402 | 907 ms | — |
| 2026-09-19 04:40 UTC | POST | pass | 402 | 478 ms | — |
| 2026-09-18 13:40 UTC | POST | pass | 402 | 952 ms | — |
| 2026-09-17 16:40 UTC | POST | pass | 402 | 360 ms | — |
| 2026-09-17 04:40 UTC | POST | pass | 402 | 349 ms | — |
| 2026-09-16 13:40 UTC | POST | pass | 402 | 382 ms | — |
| 2026-09-15 13:40 UTC | POST | pass | 402 | 434 ms | — |
| 2026-09-14 22:40 UTC | POST | pass | 402 | 621 ms | — |
| 2026-09-14 04:40 UTC | POST | pass | 402 | 343 ms | — |
| 2026-09-13 16:40 UTC | POST | pass | 402 | 400 ms | — |
| 2026-09-12 22:40 UTC | POST | pass | 402 | 336 ms | — |
| 2026-09-12 13:40 UTC | POST | pass | 402 | 321 ms | — |
| 2026-09-11 22:40 UTC | POST | pass | 402 | 729 ms | — |
| 2026-09-11 04:40 UTC | POST | pass | 402 | 441 ms | — |
| 2026-09-10 17:40 UTC | POST | pass | 402 | 619 ms | — |
3.L1 — real purchases
1 of 3 paid attempts settled on-chain, and 1 of those also returned a 2xx response (delivered). Each settled row carries its on-chain transaction hash, and that transaction is the evidence. On this page a receipt means the seller's own settlement receipt (PAYMENT-RESPONSE); a settled row can have none (see “tx from our index”). A settled row reads as nonce-bound when the on-chain re-read matched the one-time value stored for that purchase, so the transaction is the one for this purchase. Stellar is not in this count. The Stellar re-read checks payer, payee, amount and asset. A row reads as amount + payee when the re-read matched payer, payee, amount and asset and did not bind a one-time value. That tier holds rows from before 2026-09-04 and Stellar rows. They keep the settled label rather than being demoted (methodology). settled is the transfer vet402 confirmed on-chain. delivered is the response arriving. A settled row whose paid request answered 5xx counts as settled and not as delivered. definitions.
2 of those paid attempts are held as inconclusive rather than counted against this seller (0 settled and answered 4xx, 2 answered 4xx with no settlement receipt, 0 answered 402 or 5xx while our own payer wallet was out of USDC, 2026-09-13 00:00 to 2026-09-15 23:49 UTC). A 4xx says the request was not one the server would accept, and we cannot rule out that the request was ours to get wrong: vet402 buys with no API key of the seller's, and sends a POST body only when the seller declares one. This is the same principle the methodology already applied to path_template URLs, applied to the body and the authentication header as well. The rows are not deleted and not hidden — they are below, with their status and HTTP code, and they are out of the denominator for delivered (corrections).
2 of the paid attempts failed on vet402's side (for example our wallet was out of USDC, or we did not send the input the listing declares). The rows stay in the table; the embeddable badge below leaves them out of its count and names them as “vet402 side”.
Terms in this table
settled (nonce-bound)- vet402 re-read the transfer on-chain in that chain's pinned settlement asset, and the on-chain re-read matched the one-time value stored for that purchase, so the transaction is the one for this purchase. Stellar is not in this count.
settle_failed- vet402 signed a payment and got no settlement receipt back.
unsettled_4xx- held_reason in the export: the paid request got a 4xx with no settlement receipt and no transaction.
L2 mismatch- the content type was not JSON although the listing marks required keys, or the body read in full did not parse as JSON, was JSON but not an object or array, or lacked a key the listing marks as required.
L2 not_checked- not checked: the paid request did not answer 200, so there was no response to check against the listing's output schema.
Whose side- the same words as the seller page: seller's side only after failures on two different days (UTC), marked “attribution under review”; vet402's side; or not sorted (the rules).
| Attempted at | Result | HTTP | On-chain tx | Payment chain | Latency |
|---|---|---|---|---|---|
| 09-28 21:312026-09-28 21:31 UTC | settled (nonce-bound) | 200 | 0x74c54f2e…9a74 | Base | 1317 ms |
| 10000 units (≈ $0.01 USDC) · L2 mismatchWhose side: no failure (delivered) | |||||
| 09-15 23:502026-09-15 23:50 UTC | settle_failed (withdrawn from the catalog) | 400 | — | Base | 532 ms |
| 10000 units (≈ $0.01 USDC) · L2 not_checkedWhose side: vet402's sideLeft out of the public L0 fail count. | |||||
| 09-04 09:242026-09-04 09:24 UTC | settle_failed (withdrawn from the catalog) | 400 | — | Base | 555 ms |
| 10000 units (≈ $0.01 USDC) · L2 not_checkedWhose side: vet402's sideLeft out of the public L0 fail count. | |||||
Embed this record
Run this endpoint? Show the settle-through record vet402 measured — the badge reads 1/1 settled · 1 delivered · vet402 side 2 and updates as the record grows. It carries the host it is about and the date it was last measured, so a saved copy cannot pass itself off as current. It states a measurement, not a rating.
[](https://vet402.com/observatory/e/ef5d5c7a-fc0c-4f2c-a9f2-45be7099b836)4.Catalog listing events
| Detected on | Event | Before | After |
|---|---|---|---|
| 2026-10-01 | delisted | {"status":"active"} | {"status":"delisted"} |
unverified is not a failure; a fail is published only after two consecutive failing probes. Definitions: methodology.
5.Dispute this record
A dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.
Think a measurement above is wrong? Say which probe or purchase and what you observed instead. One person reads it and replies. The record is never deleted on dispute: if it was wrong, the correction is published with the same weight. If it was right, it stands. This listing is not active in the catalog, so a dispute filed on the record form does not put it on the re-probe list. The record stays on this page. The scheduled L0 run is at 10:30 UTC. This listing is not on that run. Send the dispute to support@vet402.com. Published corrections are listed at /corrections. Operators who control the receiving address can also sign a dispute via POST /api/v1/observatory/disputes (API reference). That route runs one fresh L0 check under the normal publication gate. A later purchase comes from the regular schedule.