api.x402dataapi.com: x402 purchase results on Base, as of 2026-09-12
1 Base listing. By the latest attempt at each: 0 delivered · 0 failed on the seller's side · 0 on vet402's side · 1 not sorted (vet402 cannot show the failure was not its own) · 0 not tried yet. Latest attempt: 2026-09-12 18:00 UTC.
1.Your listings
- api.x402dataapi.com/v1/agent-accessibilityPOST
- Latest attempt
- 2026-09-12 18:00 UTC
- Result
- Charged, then refused an input vet402 had not sent
- Whose side
- not sorted: charged, then rejected an input vet402 had not sent
What we saw: The payment settled on-chain, and then the paid request got 400, 415 or 422. At the time vet402 did not send the input this listing declares: the request body before 2026-09-16 23:25 UTC, or on Base the query before 2026-09-27 23:27 UTC. Both facts stand: the seller took the payment, and the request lacked the declared input. The row is not counted against either side.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 · 1 USDC · payTo 0xe3e5…c28b. 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 · 1 USDC · payTo 0xe3e5…c28b · nonce 0xcf79…2acb · validBefore not recorded.Answer to the paid request: HTTP 400 · Content-Type application/json; charset=utf-8 · PAYMENT-RESPONSE: success true, names a transaction.What to fix: Nothing is counted against the seller. Checking the input before settling avoids taking a payment for a request you refuse.In export.csv this row's held_reason is settled_4xx (the payment settled, then the paid request got a 4xx). This page names the cause the row shows: charged, then refused an input vet402 had not sent.Recorded (L1 paid purchase):settled(vet402 confirmed the USDC transfer on-chain) · HTTP 400 · tx 0x959e53b1…2b7f · held assettled_4xx(the payment settled, then the paid request got a 4xx)In export.csv?days=18: the row withattempted_at2026-09-12T18:00:29Z andresource_keyapi.x402dataapi.com/v1/agent-accessibility.Dispute this purchaseEmail me when this result changesEarlier attempts- 2026-08-27 12:31 UTC · Charged, then refused an input vet402 had not sent · not sorted: charged, then rejected an input vet402 had not sent
settled(vet402 confirmed the USDC transfer on-chain) · HTTP 400 · tx 0xc5749cec…b4e4 · held assettled_4xx(the payment settled, then the paid request got a 4xx)Dispute this purchaseWhat vet402 recorded
The payment settled on-chain, and then the paid request got 400, 415 or 422. At the time vet402 did not send the input this listing declares: the request body before 2026-09-16 23:25 UTC, or on Base the query before 2026-09-27 23:27 UTC. Both facts stand: the seller took the payment, and the request lacked the declared input. The row is not counted against either side.The 402 terms vet402 paid: vet402 signed: exact · 1 USDC · payTo 0xe3e5…c28b. 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 · 1 USDC · payTo 0xe3e5…c28b · nonce not recorded · validBefore not recorded.Answer to the paid request: HTTP 400 · Content-Type application/json; charset=utf-8 · PAYMENT-RESPONSE: success true, names a transaction.In export.csv this row's held_reason is settled_4xx (the payment settled, then the paid request got a 4xx). This page names the cause the row shows: charged, then refused an input vet402 had not sent. - 2026-08-20 12:55 UTC · Charged, then refused an input vet402 had not sent · not sorted: charged, then rejected an input vet402 had not sent
settled(vet402 confirmed the USDC transfer on-chain) · HTTP 400 · tx 0x41d1378c…19bf · held assettled_4xx(the payment settled, then the paid request got a 4xx)Dispute this purchaseWhat vet402 recorded
The payment settled on-chain, and then the paid request got 400, 415 or 422. At the time vet402 did not send the input this listing declares: the request body before 2026-09-16 23:25 UTC, or on Base the query before 2026-09-27 23:27 UTC. Both facts stand: the seller took the payment, and the request lacked the declared input. The row is not counted against either side.The 402 terms vet402 paid: vet402 signed: exact · 1 USDC · payTo 0xe3e5…c28b. 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 · 1 USDC · payTo 0xe3e5…c28b · nonce not recorded · validBefore not recorded.Answer to the paid request: HTTP 400 · Content-Type application/json; charset=utf-8 · PAYMENT-RESPONSE: success true, names a transaction.In export.csv this row's held_reason is settled_4xx (the payment settled, then the paid request got a 4xx). This page names the cause the row shows: charged, then refused an input vet402 had not sent. - 2026-08-14 09:55 UTC · Charged, then refused an input vet402 had not sent · not sorted: charged, then rejected an input vet402 had not sent
settled(vet402 confirmed the USDC transfer on-chain) · HTTP 400 · tx 0x0f19bfcb…fcbc · held assettled_4xx(the payment settled, then the paid request got a 4xx)Dispute this purchaseWhat vet402 recorded
The payment settled on-chain, and then the paid request got 400, 415 or 422. At the time vet402 did not send the input this listing declares: the request body before 2026-09-16 23:25 UTC, or on Base the query before 2026-09-27 23:27 UTC. Both facts stand: the seller took the payment, and the request lacked the declared input. The row is not counted against either side.The 402 terms vet402 paid: vet402 signed: exact · 0.001 USDC · payTo 0xe3e5…c28b. 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 0xe3e5…c28b · nonce not recorded · validBefore not recorded.Answer to the paid request: HTTP 400 · Content-Type application/json; charset=utf-8 · PAYMENT-RESPONSE: success true, names a transaction.In export.csv this row's held_reason is settled_4xx (the payment settled, then the paid request got a 4xx). This page names the cause the row shows: charged, then refused an input vet402 had not sent.
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.