api.loyalspark.online/x402-gateway/recipient-api/accept-offer
1.Catalog declaration
| Resource URL | https://api.loyalspark.online/x402-gateway/recipient-api/accept-offer |
| Source | cdp_bazaar |
| Declared method | POST |
| Network | eip155:8453 |
| Receiving address | 0x40a8cdd6a10ec1a8cb3dfb2834675e7a2cf4ad8b |
| Declared price (base units) | 10000 |
| Catalog status | active |
| First seen / last seen | 2026-08-14 08:39 UTC / 2026-09-29 01:02 UTC |
| Catalog-reported calls / payers (30d) | 78 / 16 |
2.Probe history
| Probed at | Method | Verdict | HTTP | Latency | Reason |
|---|---|---|---|---|---|
| 2026-09-28 22:40 UTC | POST | pass | 402 | 196 ms | — |
| 2026-09-28 04:40 UTC | POST | pass | 402 | 549 ms | — |
| 2026-09-27 13:40 UTC | POST | pass | 402 | 678 ms | — |
| 2026-09-26 16:40 UTC | POST | pass | 402 | 514 ms | — |
| 2026-09-25 22:40 UTC | POST | pass | 402 | 1392 ms | — |
| 2026-09-25 04:40 UTC | POST | pass | 402 | 250 ms | — |
| 2026-09-24 13:40 UTC | POST | pass | 402 | 231 ms | — |
| 2026-09-23 16:40 UTC | POST | pass | 402 | 208 ms | — |
| 2026-09-22 22:40 UTC | POST | pass | 402 | 281 ms | — |
| 2026-09-22 04:40 UTC | POST | pass | 402 | 320 ms | — |
| 2026-09-21 13:40 UTC | POST | pass | 402 | 217 ms | — |
| 2026-09-20 22:40 UTC | POST | pass | 402 | 303 ms | — |
| 2026-09-20 04:40 UTC | POST | pass | 402 | 206 ms | — |
| 2026-09-19 13:40 UTC | POST | pass | 402 | 189 ms | — |
| 2026-09-18 16:40 UTC | POST | pass | 402 | 190 ms | — |
| 2026-09-17 22:40 UTC | POST | pass | 402 | 164 ms | — |
| 2026-09-17 12:35 UTC | POST | pass | 402 | 144 ms | — |
| 2026-09-14 11:24 UTC | POST | pass | 402 | 101 ms | — |
| 2026-09-10 11:24 UTC | POST | pass | 402 | 168 ms | — |
| 2026-09-07 11:24 UTC | POST | pass | 402 | 265 ms | — |
| 2026-09-02 11:24 UTC | POST | pass | 402 | 187 ms | — |
| 2026-08-14 08:52 UTC | POST | fail | 402 | 125 ms | accepts_invalid |
3.L1 — real purchases
2 of 2 paid attempts settled with a receipt, and 0 of those also returned a 2xx response (delivered). Each settled row carries its on-chain transaction hash — the receipt is the evidence. 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.
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).
2 of those paid attempts are held as inconclusive rather than counted against this seller (2 settled and answered 4xx, 0 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
settled (nonce-bound)- vet402 confirmed the USDC transfer on-chain, and the on-chain re-read also matched the one-time nonce vet402 signed for that purchase.
settled_4xx- held_reason in the export: the payment settled, then the paid request got a 4xx.
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).
| Attempted at | Result | HTTP | Receipt (tx) | Latency |
|---|---|---|---|---|
| 09-24 06:012026-09-24 06:01 UTC | settled (nonce-bound)tx from our index | 401 | 0x27a3f0f2…b5ee | 1950 ms |
| 10000 units (≈ $0.01 USDC) · L2 not_checkedWhose side: not sorted (held) | ||||
| 09-18 00:012026-09-18 00:01 UTC | settled (nonce-bound)tx from our index | 401 | 0xbb648a3c…46a2 | 1748 ms |
| 10000 units (≈ $0.01 USDC) · L2 not_checkedWhose side: not sorted (held) | ||||
Embed this record
Run this endpoint? Show the settle-through record vet402 measured — the badge reads 2/2 settled · 0 delivered · 2 inconclusive 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/626e4eae-8728-4f5f-b2ef-af4be76c3bc4)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.