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

gateway.spraay.app/api/v1/notify/sms

1.Catalog declaration

Catalog declaration for this endpoint
Resource URLhttps://gateway.spraay.app/api/v1/notify/sms
Sourcecdp_bazaar
Declared methodPOST
Networkeip155:8453
Receiving address0xad62f03c7514bb8c51f1ea70c2b75c37404695c8
Declared price (base units)20000
Catalog statusactive
First seen / last seen2026-08-14 08:39 UTC / 2026-10-03 01:04 UTC
Catalog-reported calls / payers (30d)13 / 10

2.Probe history

2026-09-132026-10-04
Figure 1. Probe timeline, last 30 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-10-04 22:40 UTCPOSTpass402310 ms—
2026-10-04 04:40 UTCPOSTpass402251 ms—
2026-10-03 13:40 UTCPOSTpass402336 ms—
2026-10-02 13:40 UTCPOSTpass4022214 ms—
2026-10-01 16:40 UTCPOSTpass402179 ms—
2026-09-30 22:40 UTCPOSTpass402191 ms—
2026-09-30 04:40 UTCPOSTpass4022102 ms—
2026-09-29 13:40 UTCPOSTpass402403 ms—
2026-09-28 16:40 UTCPOSTpass402432 ms—
2026-09-27 22:40 UTCPOSTpass402461 ms—
2026-09-27 04:40 UTCPOSTpass402249 ms—
2026-09-26 13:40 UTCPOSTpass402160 ms—
2026-09-25 16:40 UTCPOSTpass402278 ms—
2026-09-24 22:40 UTCPOSTpass402144 ms—
2026-09-24 04:40 UTCPOSTpass402203 ms—
2026-09-23 13:40 UTCPOSTpass402343 ms—
2026-09-22 16:40 UTCPOSTpass402129 ms—
2026-09-21 22:40 UTCPOSTpass402260 ms—
2026-09-21 04:40 UTCPOSTpass402215 ms—
2026-09-20 13:40 UTCPOSTpass402186 ms—
2026-09-19 16:40 UTCPOSTpass402185 ms—
2026-09-19 04:40 UTCPOSTpass402316 ms—
2026-09-18 13:40 UTCPOSTpass402251 ms—
2026-09-17 16:40 UTCPOSTpass402341 ms—
2026-09-16 22:40 UTCPOSTpass4022172 ms—
2026-09-16 13:40 UTCPOSTpass402443 ms—
2026-09-15 13:40 UTCPOSTpass402208 ms—
2026-09-14 22:40 UTCPOSTpass402360 ms—
2026-09-14 04:40 UTCPOSTpass402206 ms—
2026-09-13 16:40 UTCPOSTpass402162 ms—

3.L1 — real purchases

0 of 3 paid attempts settled on-chain, and 0 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 also matched the one-time signature nonce we generated for that purchase, and amount + payee when it matched amount, payee, asset and chain with no nonce on record — the binding shipped on 2026-09-04, so earlier rows carry the weaker evidence and keep their label rather than being demoted (methodology). settled is the transfer we confirmed on-chain; delivered is the response arriving. A settled row whose paid request answered 5xx counts as settled and not as delivered — definitions.

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

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

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 “under re-check”; vet402's side; or not sorted (the rules).
0/3
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 txLatency
09-09 01:01settle_failed400—550 ms
20000 units (≈ $0.02 USDC) · L2 not_checkedWhose side: vet402's side
08-27 12:31settle_failed400—392 ms
20000 units (≈ $0.02 USDC) · L2 not_checkedWhose side: vet402's side
08-20 12:56settle_failed400—558 ms
20000 units (≈ $0.02 USDC) · L2 not_checkedWhose side: vet402's side

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

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. Operators who control the receiving address can also sign a dispute via POST /api/v1/observatory/disputes (API reference), which re-measures through the normal publication gate.

20–2,000 characters · 0 so far