api.phoneagent.xyz/services
1.Catalog declaration
| Resource URL | https://api.phoneagent.xyz/services |
| Source | cdp_bazaar |
| Declared method | GET |
| Catalog network | eip155:8453 |
| Receiving address | 0xf6705e3da2d2f98afd3944e4a6b0d6ca931e576a |
| Declared price (base units) | 10000 |
| Catalog status | active |
| First seen / last seen | 2026-08-14 08:39 UTC / 2026-10-21 13:01 UTC |
| Catalog-reported calls / payers (30d) | 4 / 4 |
2.Probe history
| Probed at | Method | Verdict | HTTP | Latency | Reason |
|---|---|---|---|---|---|
| 2026-10-20 13:40 UTC | GET | pass | 402 | 145 ms | — |
| 2026-10-18 16:40 UTC | GET | pass | 402 | 220 ms | — |
| 2026-10-17 13:40 UTC | GET | pass | 402 | 158 ms | — |
| 2026-10-15 21:40 UTC | GET | pass | 402 | 152 ms | — |
| 2026-10-14 15:40 UTC | GET | pass | 402 | 302 ms | — |
| 2026-10-13 03:40 UTC | GET | pass | 402 | 108 ms | — |
| 2026-10-12 03:40 UTC | GET | pass | 402 | 426 ms | — |
| 2026-10-11 03:40 UTC | GET | pass | 402 | 114 ms | — |
| 2026-10-10 03:40 UTC | GET | pass | 402 | 162 ms | — |
| 2026-10-08 22:40 UTC | GET | pass | 402 | 2175 ms | — |
| 2026-10-07 22:40 UTC | GET | pass | 402 | 161 ms | — |
| 2026-10-06 22:40 UTC | GET | pass | 402 | 179 ms | — |
| 2026-10-05 22:40 UTC | GET | pass | 402 | 219 ms | — |
| 2026-10-04 16:40 UTC | GET | pass | 402 | 250 ms | — |
| 2026-10-03 22:40 UTC | GET | pass | 402 | 160 ms | — |
| 2026-10-02 22:40 UTC | GET | pass | 402 | 344 ms | — |
| 2026-10-02 04:40 UTC | GET | pass | 402 | 282 ms | — |
| 2026-10-01 13:40 UTC | GET | pass | 402 | 522 ms | — |
| 2026-09-30 16:40 UTC | GET | pass | 402 | 597 ms | — |
| 2026-09-29 16:40 UTC | GET | pass | 402 | 200 ms | — |
| 2026-09-29 04:40 UTC | GET | pass | 402 | 385 ms | — |
| 2026-09-27 22:40 UTC | GET | pass | 402 | 896 ms | — |
| 2026-09-27 04:40 UTC | GET | pass | 402 | 77 ms | — |
| 2026-09-26 13:40 UTC | GET | pass | 402 | 123 ms | — |
| 2026-09-25 16:40 UTC | GET | pass | 402 | 120 ms | — |
| 2026-09-24 22:40 UTC | GET | pass | 402 | 33 ms | — |
| 2026-09-24 04:40 UTC | GET | pass | 402 | 116 ms | — |
| 2026-09-23 13:40 UTC | GET | pass | 402 | 215 ms | — |
| 2026-09-22 16:40 UTC | GET | pass | 402 | 45 ms | — |
| 2026-09-21 22:40 UTC | GET | pass | 402 | 121 ms | — |
3.L1 — real purchases
1 of 1 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.
A row marked tx from our index came back with no settlement receipt from the seller. Our own index of on-chain settlements found the transfer afterwards — our payer, this endpoint's payee, the exact amount, inside the time window — and the row goes through the same on-chain re-read as any other before it reads settled. The seller did not name that transaction; we did (methodology).
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 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.
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-20 06:012026-09-20 06:01 UTC | settled (nonce-bound)tx from our index | 200 | 0x11f166e1…5a17 | Base | 851 ms |
| 10000 units (≈ $0.01 USDC) · L2 mismatchWhose side: no failure (delivered) | |||||
Embed this record
Run this endpoint? Show the settle-through record vet402 measured — the badge reads 1/1 settled · 1 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/ac9285b2-02fd-4e1c-83f7-e0accd116dbc)4.Catalog listing events
| Detected on | Event | Before | After |
|---|---|---|---|
| 2026-09-28 | 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. A dispute filed on the record form puts an active listing on a priority list. L0 runs probe that list before their ordinary queue, one run at a time. A listing whose URL has an unfilled path parameter is not put on that list. One run measures up to 50 priority listings, at most 5 from one site. Published fails whose catalog declaration changed, or that rest on probes recorded under earlier rules, take places first, and disputes fill the places left. A listing probed in the past 60 minutes waits for a later run. A dispute that no run reaches within 7 days leaves the list. The scheduled L0 run is at 10:30 UTC, and an L0 run at another time can measure the listing first. The record stays on this page. When a run measures the listing, the new probe is added to its history. 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.