Skip to main content
Independent MeasurementEndpoint record (L0 · L1)Published state: withdrawnLast probed: 2026-10-21 · 22 days ago

gblin.digital/api/x402/treasury-state

Withdrawn from the catalog. This route is absent from a complete fetch of the public discovery catalog, so it is left out of the public L0 fail count.

1.Catalog declaration

Catalog declaration for this endpoint
Resource URLhttps://gblin.digital/api/x402/treasury-state
Sourcecdp_bazaar
Declared methodGET
Catalog networkeip155:8453
Receiving address0x0eba5d314f4f5dcb7a094953fa9311a45172dd1b
Declared price (base units)1000
Catalog statusdelisted (since 2026-10-26 13:05 UTC)
First seen / last seen2026-08-14 08:39 UTC / 2026-10-23 13:02 UTC
Catalog-reported calls / payers (30d)1 / 1

2.Probe history

2026-09-232026-10-21
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-21 16:40 UTCGETfail200175 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-10-20 04:40 UTCGETfail200151 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-10-18 16:40 UTCGETfail200127 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-10-17 04:40 UTCGETfail2002230 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-10-15 15:40 UTCGETfail200170 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-10-14 12:40 UTCGETfail200360 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-10-13 03:40 UTCGETfail200346 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-10-11 21:40 UTCGETfail200344 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-10-10 21:40 UTCGETfail200402 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-10-09 21:40 UTCGETfail200151 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-10-08 16:40 UTCGETfail200108 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-10-07 16:40 UTCGETfail200125 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-10-06 16:40 UTCGETfail200152 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-10-05 22:40 UTCGETfail20022 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-10-04 13:40 UTCGETfail2002019 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-10-03 16:40 UTCGETfail200563 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-10-02 22:40 UTCGETfail200308 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-10-01 22:40 UTCGETfail200164 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-10-01 04:40 UTCGETfail2002122 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-09-30 13:40 UTCGETfail200146 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-09-29 16:40 UTCGETfail200316 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-09-28 22:40 UTCGETfail200156 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-09-28 04:40 UTCGETfail200246 msno_402HTTP 200 instead of 402 to an unpaid GET.
2026-09-27 13:40 UTCGETpass402355 ms—
2026-09-26 16:40 UTCGETpass402299 ms—
2026-09-25 22:40 UTCGETpass40294 ms—
2026-09-25 13:40 UTCGETpass402298 ms—
2026-09-24 16:40 UTCGETpass402137 ms—
2026-09-23 22:40 UTCGETpass402295 ms—
2026-09-23 04:40 UTCGETpass402152 ms—

3.L1 — real purchases

4 of 5 paid attempts settled on-chain, and 4 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, 0 answered 4xx with no settlement receipt, 1 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).

1 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; the embeddable badge below leaves them out of its count and names them as “vet402 side”.

Terms in this table

settle_failed
vet402 signed a payment and got no settlement receipt back.
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.
settled (amount + payee)
vet402 re-read the transfer on-chain in that chain's pinned settlement asset: the on-chain re-read matched payer, payee, amount and asset and did not bind a one-time value (rows before 2026-09-04, and Stellar).
payer_unfunded
held_reason in the export: a 402 or 5xx while vet402's Base wallet was out of USDC (2026-09-13 to 2026-09-15).
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.
L2 match
the response parsed as JSON and had the keys the listing marks as required. With an example that marks no key as required, a JSON object or array is enough.
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). vet402 checks the current 402 from the seller before the catalog schema. An output example in the 402 (extensions.bazaar.info.output.example) is part of that check when the catalog also declares an output.
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).
4/5
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
09-15 12:08settle_failed (withdrawn from the catalog)402—Base1838 ms
1000 units (≈ $0.001 USDC) · L2 not_checkedWhose side: vet402's sideLeft out of the public L0 fail count.
09-09 01:02settled (nonce-bound)2000x299a9619…00cdBase4217 ms
1000 units (≈ $0.001 USDC) · L2 matchWhose side: no failure (delivered)
08-28 12:19settled (amount + payee)2000xc0349d4d…eec4Base3345 ms
1000 units (≈ $0.001 USDC) · L2 no_declarationWhose side: no failure (delivered)
08-21 08:32settled (amount + payee)2000x47188832…f143Base3010 ms
1000 units (≈ $0.001 USDC) · L2 no_declarationWhose side: no failure (delivered)
08-14 10:02settled (amount + payee)2000xd13f1869…fb91Base1344 ms
1000 units (≈ $0.001 USDC) · L2 no_declarationWhose side: no failure (delivered)

Embed this record

Run this endpoint? Show the settle-through record vet402 measured — the badge reads 4/4 settled · 4 delivered · vet402 side 1 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.

vet402: 4 of 4 paid attempts settled with an on-chain receipt, and 4 of those also returned a deliverable HTTP 2xx response. settled is the confirmed transfer; delivered is a 2xx other than 202 with a non-empty body. 1 further paid attempt failed on vet402's side (for example its wallet was out of USDC, or it did not send the input the listing declares) and is left out of these counts. A measurement of what happened when vet402 paid this endpoint, not a recommendation. (gblin.digital · measured 2026-09-15)

[![vet402 receipt](https://vet402.com/api/badge/endpoint/23ae2adb-1aa0-4605-b00e-ae94dd1af712.svg)](https://vet402.com/observatory/e/23ae2adb-1aa0-4605-b00e-ae94dd1af712)

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

Catalog listing events, newest first
Detected onEventBeforeAfter
2026-10-26delisted{"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.

20–2,000 characters · 0 so far