Skip to main content
Independent MeasurementWhat to fix first (Base)Read from the database 2026-09-28 02:03 UTC · reused for up to 5 min

What to fix first

The Base listings whose latest purchase did not deliver (2,576 of 4,291 bought), grouped by what went wrong. 4 more are awaiting on-chain verification and are not counted here. Seller-side groups come first, the fix that reaches the most sellers at the top; effort is 1 for a listing or config change, 2 for a server change, 3 when it depends on the facilitator. Each seller links to its own page.

1.On the seller's side

  1. 1. The paid request was refused as invalid

    134 sellers · 346 listings · seller's side · effort 1: a listing or config change

    Fix: Declare the input in the listing (body or query) with example values that work as written.

    What happened: vet402 signed the payment and the paid request got 400, 404, 415 or 422; the payment did not settle. 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.

    From the ledger status: settle_failed 346

    122 more sellers
  2. 2. Server error on the paid request

    62 sellers · 79 listings · seller's side · effort 2: a server change

    Fix: Check the route's logs: the handler or its upstream failed on the paid request.

    What happened: vet402 signed the payment and the paid request got a 5xx.

    From the ledger status: settle_failed 61, settled 18

    50 more sellers
  3. 3. No answer to the paid request

    37 sellers · 50 listings · seller's side · effort 2: a server change

    Fix: Make the paid route answer within a few seconds; look for slow upstream calls or cold starts.

    What happened: vet402 signed the payment and the paid request got no HTTP answer in time (timeout, 408 or a closed connection).

    From the ledger status: settled 34, settle_failed 16

    25 more sellers
  4. 4. A signed payment got 402 again

    31 sellers · 64 listings · seller's side · effort 3: depends on the facilitator

    Fix: Check the route's verify and settle step, and return the facilitator's error as errorReason.

    What happened: vet402 sent a signed payment and the server answered 402 again.

    From the ledger status: settle_failed 58, settled 6

    19 more sellers
  5. 5. Took the payment, then refused the input

    22 sellers · 50 listings · seller's side · effort 2: a server change

    Fix: Check the input before you settle, so an invalid request is refused without taking the payment; and declare the input in the listing with example values that work as written.

    What happened: The payment settled on-chain, and then the paid request got 400, 404, 415 or 422: the route took the payment before it checked the input, so the buyer paid for a refused request. When the seller declared a body, or a required query, that vet402 was not yet sending, the row is on vet402's side instead.

    From the ledger status: settled 50

    10 more sellers
  6. 6. Answered 2xx, but the payment was not confirmed

    17 sellers · 23 listings · seller's side · effort 2: a server change

    Fix: Settle the payment and return the PAYMENT-RESPONSE header with the 2xx.

    What happened: The paid request got a 2xx, but no settlement receipt came back, so the payment could not be confirmed as settled.

    From the ledger status: delivered_no_receipt 23

    5 more sellers
  7. 7. Asks for its own login or key

    14 sellers · 32 listings · seller's side · effort 2: a server change

    Fix: Let the x402 payment be enough: answer 402 to an unpaid request and the data to a paid one.

    What happened: The request got 401 or 403 (before or after payment).

    From the ledger status: settle_failed 15, settled 15, no_402 2

    2 more sellers
  8. 8. No payment option vet402 can pay on Base

    10 sellers · 28 listings · seller's side · effort 1: a listing or config change

    Fix: Offer an exact accept for USDC on Base mainnet (asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913).

    What happened: The 402 had no exact-scheme accept for USDC on Base mainnet that vet402 could sign.

    From the ledger status: no_eligible_accept 28

  9. 9. The 402 asked for a different price than the listing

    6 sellers · 8 listings · seller's side · effort 1: a listing or config change

    Fix: Make the listing's price and the 402's amount the same.

    What happened: The amount in the 402 did not match the price the listing declares. vet402 pays the declared price, so it did not sign.

    From the ledger status: price_mismatch 8

  10. 10. Server error before payment

    4 sellers · 4 listings · seller's side · effort 2: a server change

    Fix: Bring the server back up, or remove the listing while it is down.

    What happened: The unpaid request got a 5xx, so there was nothing to pay.

    From the ledger status: no_402 4

  11. 11. Rate-limited

    2 sellers · 2 listings · seller's side · effort 2: a server change

    Fix: Let paid requests through the rate limiter.

    What happened: The request got 429 Too Many Requests.

    From the ledger status: settle_failed 2

  12. 12. The listed method is not accepted

    1 seller · 4 listings · seller's side · effort 1: a listing or config change

    Fix: Declare the method the route accepts (GET or POST), or accept the declared one.

    What happened: The request got 405 to the method the listing declares.

    From the ledger status: settle_failed 4

  13. 13. The 402 named a different receiving address

    1 seller · 1 listing · seller's side · effort 1: a listing or config change

    Fix: Make the listing's payTo and the 402's payTo the same address.

    What happened: The payTo in the 402 was not the address the listing declares. vet402 did not sign.

    From the ledger status: payto_mismatch 1

  14. 14. No 402 to an unpaid request

    1 seller · 1 listing · seller's side · effort 2: a server change

    Fix: Return the 402 challenge before validating the input, so a buyer can see the price first.

    What happened: The unpaid request got a status other than 402 (for example 400 or 422), so there was nothing to pay.

    From the ledger status: no_402 1

2.On vet402's side: nothing for sellers to fix

  1. 15. vet402's wallet was out of USDC

    335 sellers · 620 listings · vet402's side

    Nothing for the seller to fix.

    What happened: Between 2026-09-13 00:00 and 2026-09-15 23:49 UTC, vet402's Base payer wallet had run out of USDC. The seller refused a payment that had nothing behind it (402 or 5xx).

    From the ledger status: settle_failed 620

    323 more sellers
  2. 16. vet402 did not send the declared request body

    252 sellers · 625 listings · vet402's side

    Nothing for the seller to fix.

    What happened: 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 or 422, before or after the payment settled.

    From the ledger status: settle_failed 600, settled 25

    240 more sellers
  3. 17. vet402 did not send the declared query

    181 sellers · 579 listings · vet402's side

    Nothing for the seller to fix.

    What happened: Before 2026-09-27 23:27 UTC, vet402 did not add the query parameters the seller's 402 declares to paid requests on Base, and this listing marks some of them as required. The seller refused the request with 400 or 422.

    From the ledger status: settle_failed 566, settled 13

    169 more sellers
  4. 18. vet402's own limits

    32 sellers · 41 listings · vet402's side

    Nothing for the seller to fix.

    What happened: vet402 did not pay: the price was over its per-purchase ceiling, its budget for the day was used up, its operator halted spending, or the 402 named vet402's own receiving address.

    From the ledger status: over_cap 41

    20 more sellers
  5. 19. vet402's own run did not finish

    5 sellers · 5 listings · vet402's side

    Nothing for the seller to fix.

    What happened: vet402's request did not complete on its side (its run was cut off, or a step failed inside vet402).

    From the ledger status: request_error 5

3.Not grouped yet

  1. 20. Not grouped yet

    9 sellers · 14 listings · not sorted yet

    See the recorded status and HTTP code on the seller page.

    What happened: A combination of status and HTTP code this page does not group yet.

    From the ledger status: settled 14

A count is one listing's latest purchase, not a rating: one attempt can fail for reasons on either side. The groups come from the status and HTTP code vet402 recorded (methodology · export.csv).