modal.mpp.tempo.xyz/sandbox/status
1.Catalog declaration
| Resource URL | https://modal.mpp.tempo.xyz/sandbox/status |
| Source | mpp_directory |
| Declared method | POST |
| Catalog network | eip155:4217 |
| Receiving address | 0xca4e835f803cb0b7c428222b3a3b98518d4779fe |
| Declared price (base units) | 100 |
| Catalog status | delisted (since 2026-11-07 01:30 UTC) |
| First seen / last seen | 2026-09-17 12:35 UTC / 2026-11-06 01:30 UTC |
| Catalog-reported calls / payers (30d) | — / — |
2.Probe history
| Probed at | Method | Verdict | HTTP | Latency | Reason |
|---|---|---|---|---|---|
| 2026-11-06 22:40 UTC | POST | fail | 404 | 804 ms | no_402HTTP 404 instead of 402 to an unpaid POST. |
| 2026-11-04 16:40 UTC | POST | unverified | 400 | 86 ms | request_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input). |
| 2026-11-01 16:40 UTC | POST | unverified | 400 | 63 ms | request_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input). |
| 2026-10-30 16:40 UTC | POST | unverified | 400 | 186 ms | request_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input). |
| 2026-10-28 16:40 UTC | POST | unverified | 400 | 141 ms | request_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input). |
| 2026-10-27 00:40 UTC | POST | unverified | 400 | 570 ms | request_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input). |
| 2026-10-25 06:40 UTC | POST | unverified | 400 | 347 ms | request_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input). |
| 2026-10-23 04:40 UTC | POST | unverified | 400 | 362 ms | request_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input). |
| 2026-10-21 16:40 UTC | POST | unverified | 400 | 203 ms | request_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input). |
| 2026-10-20 04:40 UTC | POST | unverified | 400 | 385 ms | request_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input). |
| 2026-10-18 16:40 UTC | POST | unverified | 400 | 205 ms | request_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input). |
| 2026-10-17 13:40 UTC | POST | unverified | 400 | 465 ms | request_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input). |
| 2026-10-15 21:40 UTC | POST | pass | 402 | 1117 ms | — |
| 2026-10-14 12:40 UTC | POST | pass | 402 | 122 ms | — |
| 2026-10-13 03:40 UTC | POST | pass | 402 | 99 ms | — |
| 2026-10-12 03:40 UTC | POST | pass | 402 | 547 ms | — |
| 2026-10-11 03:40 UTC | POST | pass | 402 | 631 ms | — |
| 2026-10-09 21:40 UTC | POST | pass | 402 | 151 ms | — |
| 2026-10-08 16:40 UTC | POST | pass | 402 | 247 ms | — |
| 2026-10-07 16:40 UTC | POST | pass | 402 | 89 ms | — |
| 2026-10-06 16:40 UTC | POST | pass | 402 | 99 ms | — |
| 2026-10-05 22:40 UTC | POST | pass | 402 | 2033 ms | — |
| 2026-10-04 16:40 UTC | POST | pass | 402 | 385 ms | — |
| 2026-09-29 10:31 UTC | POST | pass | 402 | 298 ms | — |
| 2026-09-24 10:30 UTC | POST | pass | 402 | 143 ms | — |
| 2026-09-20 11:24 UTC | POST | pass | 402 | 192 ms | — |
| 2026-09-17 12:35 UTC | POST | pass | 402 | 155 ms | — |
3.L1 — real purchases
2 of 2 paid attempts settled on-chain, and 0 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.
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 not_checked- not checked: the paid request did not answer 200, so there was no response to check against the listing's output schema.
Stage not_delivered- vet402 re-read the payment on the chain. The paid request returned 5xx, or another HTTP status outside 2xx that vet402 does not leave in settled. vet402 counts HTTP 4xx as inconclusive. vet402 leaves 202 Accepted, HTTP 2xx with a body vet402 recorded as empty, and no HTTP status on record in settled. This stage does not say whose side the failure is on. See Whose side.
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 |
|---|---|---|---|---|---|
| 10-10 14:302026-10-10 14:30 UTC | settled (nonce-bound)tx from our index | 500 | 0xba330cf7…5f56 | Tempo | 3549 ms |
| 100 units (≈ $0.0001 USDC) · L2 not_checkedWhose side: not sorted: vet402 unprovenStage: not_delivered | |||||
| 10-04 12:002026-10-04 12:00 UTC | settled (nonce-bound)tx from our index | 500 | 0x8339e0c3…5521 | Tempo | 2773 ms |
| 100 units (≈ $0.0001 USDC) · L2 not_checkedWhose side: not sorted: vet402 unprovenStage: not_delivered | |||||
Embed this record
Run this endpoint? Show the settle-through record vet402 measured — the badge reads 2/2 settled · 0 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/51e44ee5-e4dd-4a9c-b1a3-142ffeda42fd)4.Catalog listing events
| Detected on | Event | Before | After |
|---|---|---|---|
| 2026-11-07 | 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.