Skip to main content
Independent MeasurementEndpoint record (L0 · L1)Published state: passLast probed: 2026-11-11 · 1 day ago

nova-retail-controlled-proof.onrender.com/retail/v1/context/state-ping

1.Catalog declaration

Catalog declaration for this endpoint
Resource URLhttps://nova-retail-controlled-proof.onrender.com/retail/v1/context/state-ping
Sourcecdp_bazaar
Declared methodPOST
Catalog networkeip155:8453
Receiving address0xd764f1b590476657c20ab754beace9ebc1d9d0e3
Declared price (base units)2000
Catalog statusactive
First seen / last seen2026-10-03 01:04 UTC / 2026-11-12 16:05 UTC
Catalog-reported calls / payers (30d)4 / 3

2.Probe history

2026-10-032026-11-11
Figure 1. Probe timeline, last 25 probes for this endpoint (UTC). Filled = pass, crossed = fail, dashed = unverified. Same-day probes overlap. Marks closer than one mark width are stepped down one lane.
L0 probe history, newest first
Probed atMethodVerdictHTTPLatencyReason
2026-11-11 04:40 UTCPOSTpass402245 ms—
2026-11-08 22:40 UTCPOSTpass402461 ms—
2026-11-06 16:40 UTCPOSTpass402524 ms—
2026-11-04 13:40 UTCPOSTunverified400348 msrequest_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 UTCPOSTfail503162 msno_402HTTP 503 instead of 402 to an unpaid POST.
2026-10-30 16:40 UTCPOSTfail503411 msno_402HTTP 503 instead of 402 to an unpaid POST.
2026-10-28 16:40 UTCPOSTfail503230 msno_402HTTP 503 instead of 402 to an unpaid POST.
2026-10-27 00:40 UTCPOSTunverified400489 msrequest_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input).
2026-10-25 00:40 UTCPOSTunverified400398 msrequest_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 UTCPOSTunverified400272 msrequest_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 UTCPOSTunverified400215 msrequest_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 UTCPOSTunverified400173 msrequest_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 UTCPOSTunverified400376 msrequest_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input).
2026-10-17 04:40 UTCPOSTunverified400698 msrequest_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input).
2026-10-15 15:40 UTCPOSTunverified400321 msrequest_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input).
2026-10-14 12:40 UTCPOSTunverified400326 msrequest_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input).
2026-10-13 03:40 UTCPOSTunverified400178 msrequest_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input).
2026-10-11 21:40 UTCPOSTunverified400602 msrequest_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input).
2026-10-10 21:40 UTCPOSTunverified400583 msrequest_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input).
2026-10-09 21:40 UTCPOSTunverified400309 msrequest_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input).
2026-10-08 16:40 UTCPOSTunverified400341 msrequest_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input).
2026-10-07 16:40 UTCPOSTunverified400416 msrequest_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input).
2026-10-06 16:40 UTCPOSTunverified400469 msrequest_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input).
2026-10-05 22:40 UTCPOSTunverified400864 msrequest_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input).
2026-10-03 10:30 UTCPOSTunverified400171 msrequest_shapeUnpaid POST with an empty JSON body answered 400 before any payment challenge; not measured (vet402 does not guess the input).

3.L1 — real purchases

0 of 1 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.

1 of those paid attempts are held as inconclusive rather than counted against this seller (0 settled and answered 4xx, 1 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).

Terms in this table

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 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).
0/1
Figure 2. Settle-through: one cell per paid attempt. Filled = settled on-chain, crossed = signed, and not settled on-chain.
L1 purchase history, newest first
Attempted atResultHTTPOn-chain txPayment chainLatency
11-08 21:32settle_failed400—Base853 ms
2000 units (≈ $0.002 USDC) · L2 not_checkedWhose side: not sorted: no charge

Get one email when this record's verdict changes. No digest, no marketing — one message per change, and only for this endpoint. We first send one confirmation email; nothing else goes out until you confirm.

4.Catalog listing events

No listing changes observed.

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. 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.

About the purchase at 2026-11-08T21:32:06Z (UTC). The form starts with that time; add what you saw instead.

20–2,000 characters · 59 so far