api.monpham.work/v1/cbs/chat/completions
1.Catalog declaration
| Resource URL | https://api.monpham.work/v1/cbs/chat/completions |
| Source | cdp_bazaar |
| Declared method | GET |
| Catalog network | eip155:8453 |
| Receiving address | 0x7eebd75b116a553e02cbaca28cfbd47bc411e6b1 |
| Declared price (base units) | 10000 |
| Catalog status | delisted (since 2026-10-16 13:04 UTC) |
| First seen / last seen | 2026-08-18 01:06 UTC / 2026-10-15 13:03 UTC |
| Catalog-reported calls / payers (30d) | 2 / 2 |
2.Probe history
| Probed at | Method | Verdict | HTTP | Latency | Reason |
|---|---|---|---|---|---|
| 2026-10-15 21:40 UTC | GET | fail | 530 | 141 ms | no_402HTTP 530 instead of 402 to an unpaid GET. |
| 2026-10-14 15:40 UTC | GET | pass | 402 | 862 ms | — |
| 2026-10-13 03:40 UTC | GET | pass | 402 | 813 ms | — |
| 2026-10-12 03:40 UTC | GET | pass | 402 | 927 ms | — |
| 2026-10-11 03:40 UTC | GET | pass | 402 | 898 ms | — |
| 2026-10-10 03:40 UTC | GET | pass | 402 | 781 ms | — |
| 2026-10-08 22:40 UTC | GET | pass | 402 | 942 ms | — |
| 2026-10-07 16:40 UTC | GET | pass | 402 | 853 ms | — |
| 2026-10-06 22:40 UTC | GET | pass | 402 | 785 ms | — |
| 2026-10-04 22:40 UTC | GET | pass | 402 | 810 ms | — |
| 2026-10-04 04:40 UTC | GET | pass | 402 | 839 ms | — |
| 2026-10-03 04:40 UTC | GET | pass | 402 | 873 ms | — |
| 2026-10-02 13:40 UTC | GET | pass | 402 | 921 ms | — |
| 2026-10-01 16:40 UTC | GET | pass | 402 | 949 ms | — |
| 2026-09-30 22:40 UTC | GET | pass | 402 | 827 ms | — |
| 2026-09-30 04:40 UTC | GET | pass | 402 | 1001 ms | — |
| 2026-09-27 22:40 UTC | GET | pass | 402 | 1007 ms | — |
| 2026-09-27 04:40 UTC | GET | pass | 402 | 1381 ms | — |
| 2026-09-26 13:40 UTC | GET | pass | 402 | 1082 ms | — |
| 2026-09-25 16:40 UTC | GET | pass | 402 | 763 ms | — |
| 2026-09-24 22:40 UTC | GET | pass | 402 | 777 ms | — |
| 2026-09-24 04:40 UTC | GET | pass | 402 | 2737 ms | — |
| 2026-09-23 13:40 UTC | GET | pass | 402 | 860 ms | — |
| 2026-09-22 16:40 UTC | GET | pass | 402 | 997 ms | — |
| 2026-09-21 22:40 UTC | GET | pass | 402 | 1309 ms | — |
| 2026-09-21 04:40 UTC | GET | pass | 402 | 921 ms | — |
| 2026-09-20 13:40 UTC | GET | pass | 402 | 959 ms | — |
| 2026-09-19 16:40 UTC | GET | pass | 402 | 304 ms | — |
| 2026-09-19 04:40 UTC | GET | fail | 530 | 319 ms | no_402HTTP 530 instead of 402 to an unpaid GET. |
| 2026-09-18 13:40 UTC | GET | pass | 402 | 630 ms | — |
3.L1 — real purchases
2 of 2 paid attempts settled on-chain, and 2 of those also returned a deliverable 2xx response (delivered: other than 202 Accepted with a non-empty body). 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 a 2xx other than 202 with a non-empty body. A settled row whose paid request answered 5xx counts as settled and not as delivered. definitions.
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.
L2 no_declaration- the listing's output schema gave vet402 nothing to check this response against (no schema, a schema with no required keys and no example properties, or example properties with a content type that is not JSON). An output example in the 402 (extensions.bazaar.info.output.example) counts as a declaration. When the catalog also declares an output, the example's top-level keys are required. When it does not, vet402 checks that the response is a JSON object or array, and the record page reads match (no required keys).
Stage delivered- vet402 re-read the payment on the chain and the paid request returned HTTP 2xx other than 202 Accepted with a body vet402 did not record as empty.
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-16 00:002026-09-16 00:00 UTC | settled (nonce-bound) | 200 | 0x028bb610…a8ba | Base | 3311 ms |
| 10000 units (≈ $0.01 USDC) · L2 no_declarationWhose side: no failure (delivered)Stage: delivered | |||||
| 09-09 19:002026-09-09 19:00 UTC | settled (nonce-bound) | 200 | 0xf38cb83f…a915 | Base | 3443 ms |
| 10000 units (≈ $0.01 USDC) · L2 no_declarationWhose side: no failure (delivered)Stage: delivered | |||||
Embed this record
Run this endpoint? Show the settle-through record vet402 measured — the badge reads 2/2 settled · 2 delivered 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/5ee1a3f7-5e59-4d1b-a5f1-79762e407b52)4.Catalog listing events
| Detected on | Event | Before | After |
|---|---|---|---|
| 2026-10-16 | delisted | {"status":"active"} | {"status":"delisted"} |
| 2026-10-06 | relisted | {"status":"delisted"} | {"status":"active"} |
| 2026-10-06 | delisted | {"status":"active"} | {"status":"delisted"} |
| 2026-09-30 | relisted | {"status":"delisted"} | {"status":"active"} |
| 2026-09-28 | 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.