chain.openverbs.com: x402 purchase results on Base, as of 2026-09-28
24 Base listings. By the latest attempt at each: 1 delivered · 0 failed on the seller's side · 2 on vet402's side · 1 not sorted (vet402 cannot show the failure was not its own) · 20 not tried yet. Latest attempt: 2026-09-28 18:00 UTC.
Rows marked census or retest were bought to give this seller a row of its own, or to buy again after a failure on vet402's side.
1.Your listings
- chain.openverbs.com/v1/decodePOST
- Latest attempt
- 2026-09-28 18:00 UTC
- Result
- Refused, and no payment was taken
- Whose side
- not sorted: no charge
What we saw: vet402 signed the payment and the paid request got a 4xx other than 402, with no settlement receipt and no transaction on the row. No money moved, and vet402 cannot rule out that its own request was the problem (held_reason unsettled_4xx), so the row is not counted against the seller. Since 2026-09-16 23:25 UTC vet402 sends the request body the seller's 402 declares (an empty JSON body when it declares none), and since 2026-09-27 23:27 UTC it adds the query parameters the seller's 402 declares on Base.Last result about the seller: none among the attempts shown. The latest attempt is not sorted; vet402 has not bought this listing again since.The 402 terms vet402 paid: vet402 signed: exact · 0.004 USDC · payTo 0xb3f4…194a. Input sent: body declared, query empty. The listing's maxTimeoutSeconds is 300; vet402 waits 20 seconds for the paid answer.Signed payment: scheme exact · 0.004 USDC · payTo 0xb3f4…194a · nonce 0xd385…0e3d · validBefore not recorded.Answer to the paid request: HTTP 400 · Content-Type application/json · no PAYMENT-RESPONSE recorded.What to fix: Nothing is counted against the seller. If the request was meant to succeed, declare the input in the listing (body or query) with example values that work as written.Recorded (L1 paid purchase):settle_failed(vet402 signed a payment and got no settlement receipt back) · HTTP 400 · no tx · held asunsettled_4xx(the paid request got a 4xx with no settlement receipt and no transaction) · bought by theretestIn export.csv?days=2: the row withattempted_at2026-09-28T18:00:39Z andresource_keychain.openverbs.com/v1/decode.Dispute this purchaseEmail me when this result changesEarlier attempts- 2026-09-15 00:01 UTC · vet402's wallet held less USDC than the price · vet402's side
settle_failed(vet402 signed a payment and got no settlement receipt back) · HTTP 400 · no tx · held asunsettled_4xx(the paid request got a 4xx with no settlement receipt and no transaction)Dispute this purchaseWhat vet402 recorded
When vet402 signed, its payer wallet held less USDC than the price, by the wallet's balance rebuilt from its own USDC transfers on-chain. The payment had nothing behind it, so the failure is on vet402's side.The 402 terms vet402 paid: vet402 signed: exact · 0.004 USDC · payTo 0xb3f4…194a. Input sent: body not recorded, query not recorded. The listing's maxTimeoutSeconds is 300; vet402 waits 20 seconds for the paid answer.Signed payment: scheme exact · 0.004 USDC · payTo 0xb3f4…194a · nonce 0x622a…2bec · validBefore not recorded.Answer to the paid request: HTTP 400 · Content-Type application/json · no PAYMENT-RESPONSE recorded.In export.csv this row's held_reason is unsettled_4xx (the paid request got a 4xx with no settlement receipt and no transaction). This page names the cause the row shows: vet402's wallet held less USDC than the price.
- chain.openverbs.com/v1/blockPOST
- Latest attempt
- 2026-09-13 00:00 UTC
- Result
- delivered
- Whose side
- no failure (delivered)
What we saw: Paid; vet402 confirmed the transfer on-chain and the paid request answered HTTP 200.The 402 terms vet402 paid: vet402 signed: exact · 0.001 USDC · payTo 0xb3f4…194a. Input sent: body not recorded, query not recorded. The listing's maxTimeoutSeconds is 300; vet402 waits 20 seconds for the paid answer.Signed payment: scheme exact · 0.001 USDC · payTo 0xb3f4…194a · nonce 0x5712…8ec7 · validBefore not recorded.Answer to the paid request: HTTP 200 · Content-Type application/json · PAYMENT-RESPONSE: success true, names a transaction.Recorded (L1 paid purchase):settled(vet402 confirmed the USDC transfer on-chain) · HTTP 200 · tx 0x9aca24b1…fa8fIn export.csv?days=18: the row withattempted_at2026-09-13T00:00:50Z andresource_keychain.openverbs.com/v1/block.Dispute this purchaseEmail me when this result changes - chain.openverbs.com/v1/nft-metadataPOST
- Latest attempt
- 2026-09-10 12:07 UTC
- Result
- vet402 did not send the declared request body
- Whose side
- vet402's side
What we saw: Before 2026-09-16 23:25 UTC, vet402 sent an empty JSON body on paid POST requests, even when the listing declares a body. The seller refused it with 400, 415 or 422, and the payment did not settle (a payment that settled is under "Charged, then refused an input vet402 had not sent").Last result about the seller: none among the attempts shown. The latest attempt failed on vet402's side; vet402 has not bought this listing again since.The 402 terms vet402 paid: vet402 signed: exact · 0.006 USDC · payTo 0xb3f4…194a. Input sent: body not recorded, query not recorded. The listing's maxTimeoutSeconds is 300; vet402 waits 20 seconds for the paid answer.Signed payment: scheme exact · 0.006 USDC · payTo 0xb3f4…194a · nonce 0x9b25…a9fd · validBefore not recorded.Answer to the paid request: HTTP 400 · Content-Type application/json · no PAYMENT-RESPONSE recorded.What to fix: Nothing for the seller to fix.In export.csv this row's held_reason is unsettled_4xx (the paid request got a 4xx with no settlement receipt and no transaction). This page names the cause the row shows: vet402 did not send the declared request body.This failure was on vet402's side, not the seller's.Recorded (L1 paid purchase):settle_failed(vet402 signed a payment and got no settlement receipt back) · HTTP 400 · no tx · held asunsettled_4xx(the paid request got a 4xx with no settlement receipt and no transaction)In export.csv?days=20: the row withattempted_at2026-09-10T12:07:48Z andresource_keychain.openverbs.com/v1/nft-metadata.Dispute this purchaseEmail me when this result changes - chain.openverbs.com/v1/token-balancePOST
- Latest attempt
- 2026-09-07 07:00 UTC
- Result
- vet402 did not send the declared request body
- Whose side
- vet402's side
What we saw: Before 2026-09-16 23:25 UTC, vet402 sent an empty JSON body on paid POST requests, even when the listing declares a body. The seller refused it with 400, 415 or 422, and the payment did not settle (a payment that settled is under "Charged, then refused an input vet402 had not sent").Last result about the seller: none among the attempts shown. The latest attempt failed on vet402's side; vet402 has not bought this listing again since.The 402 terms vet402 paid: vet402 signed: exact · 0.001 USDC · payTo 0xb3f4…194a. Input sent: body not recorded, query not recorded. The listing's maxTimeoutSeconds is 300; vet402 waits 20 seconds for the paid answer.Signed payment: scheme exact · 0.001 USDC · payTo 0xb3f4…194a · nonce 0x3c94…592b · validBefore not recorded.Answer to the paid request: HTTP 400 · Content-Type application/json · no PAYMENT-RESPONSE recorded.What to fix: Nothing for the seller to fix.In export.csv this row's held_reason is unsettled_4xx (the paid request got a 4xx with no settlement receipt and no transaction). This page names the cause the row shows: vet402 did not send the declared request body.This failure was on vet402's side, not the seller's.Recorded (L1 paid purchase):settle_failed(vet402 signed a payment and got no settlement receipt back) · HTTP 400 · no tx · held asunsettled_4xx(the paid request got a 4xx with no settlement receipt and no transaction)In export.csv?days=23: the row withattempted_at2026-09-07T07:00:47Z andresource_keychain.openverbs.com/v1/token-balance.Dispute this purchaseEmail me when this result changes - chain.openverbs.com/v1/abiPOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes - chain.openverbs.com/v1/addressPOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes - chain.openverbs.com/v1/btc-addressPOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes - chain.openverbs.com/v1/btc-feesPOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes - chain.openverbs.com/v1/btc-mempoolPOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes - chain.openverbs.com/v1/btc-txPOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes - chain.openverbs.com/v1/ens-recordsPOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes - chain.openverbs.com/v1/ens-resolvePOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes - chain.openverbs.com/v1/ens-reversePOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes - chain.openverbs.com/v1/explainPOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes - chain.openverbs.com/v1/gasPOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes - chain.openverbs.com/v1/gas-estimatePOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes - chain.openverbs.com/v1/logsPOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes - chain.openverbs.com/v1/proxyPOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes - chain.openverbs.com/v1/read-contractPOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes - chain.openverbs.com/v1/receiptPOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes - chain.openverbs.com/v1/tokenPOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes - chain.openverbs.com/v1/token-allowancePOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes - chain.openverbs.com/v1/token-riskPOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes - chain.openverbs.com/v1/txPOST
- Latest attempt
- not tried yet
- Result
- —
- Whose side
- —
vet402 has not tried to buy this listing yet.Email me when this result changes
2.How to read this
Each listing shows its latest attempt on Base and up to four earlier ones. A row where vet402 signed a payment and sent the paid request is an L1 result (“Recorded (L1 paid purchase)”); a row where vet402 did not sign is marked “not bought” and is not an L1 result. The listing's record page also shows the L0 state (“Published state”), which checks that an unpaid request gets a valid 402, so a listing can pass L0 and still fail here. Whose side puts a failure on the seller's side when the row shows vet402 was not at fault: it signed on the listing's terms, its wallet held the price, it sent the declared input, and the seller answered explicitly or had its declared time. Even then, one such failure is “not sorted: one failure so far”: a failure goes on the seller's side only when the same listing has one on two different days (UTC), and those rows are marked “under re-check” while we re-check them. A row that cannot show all of that is “not sorted”, and so is a held row (held_reason in the export), a failure where no payment was taken (“no charge”), and a payment that settled before the seller refused an input vet402 had not sent. “Signed payment” and “Answer to the paid request” show what the row recorded, and nothing else: the answer's body and header values are not published. The maxTimeoutSeconds on a row is the listing's value today; a declared price or address on a not-bought row is the value recorded at the time of the attempt. The transaction link opens the settlement on Basescan. Listings removed from the Bazaar, and listings whose catalog network is not Base, are not on this page. The fix-first page groups the same results across sellers (methodology).
3.Think a row is wrong?
Use “Dispute this purchase” on the row: it opens Dispute this record on the listing's record page with the purchase time filled in. Say what you saw instead. The row is not deleted on dispute; a correction is published with the same weight.