---
title: "Serves the goods twice for one settled payment — x402 defect class replay-accepted"
description: "Serves the goods twice for one settled payment (replay-accepted), an x402 defect class: A byte-identical, already-settled payment presented a second time is not served as a new sale: it is refused, or answered with the original purchase's own outcome naming the settlement that paid for it. Detectable by an paid probe. The seller gives its product away. The authorization's nonce is spent, so nothing reaches them on the second pass — and from their side both requests look like successful sales."
canonical: "https://scvd.store/defects/replay-accepted"
url: "https://scvd.store/defects/replay-accepted"
term_code: "replay-accepted"
defined_in: "https://scvd.store/defects"
data: "https://scvd.store/defects.json"
vocabulary_version: "22"
license: "https://creativecommons.org/licenses/by/4.0/"
---

# Serves the goods twice for one settled payment

`replay-accepted` — an x402 defect class.

Launch Check v4 compares complete response bytes. Transaction references alone do not establish redelivery; changed bytes alone do not establish fresh fulfillment. Historical v3 served_again and redelivered mappings were heuristics, and a fresh challenge alone proves no second charge. Read the report's battery, response evidence and payment_attempt.verification separately. The September 13 correction at /corrections withdraws the stronger interpretation; saved signed records retain their bytes.

**Asserts:** A byte-identical, already-settled payment presented a second time is not served as a new sale: it is refused, or answered with the original purchase's own outcome naming the settlement that paid for it.

**Costs:** The seller gives its product away. The authorization's nonce is spent, so nothing reaches them on the second pass — and from their side both requests look like successful sales.

**Detectable:** paid — only a settled payment reveals it

**Falsified by:** The endpoint answering the identical presented payment on the second attempt with a refusal, or with the original purchase naming its settlement transaction, at the stated moment.

**How an operator clears it:** Record each settled authorization nonce at settle time and, BEFORE fulfillment runs, either refuse a byte-identical presentation or answer it with the original purchase and its settlement reference, charged nothing — one keyed read at the till. Naming the original settlement either way keeps you clear of the nonce-unbound class below.

**What a buyer does:** This costs the seller, not you, but it tells you the till keeps no settlement ledger: keep your own record of what you paid and the response you got, because the door cannot help you reconstruct it later.

**Our signal:** `launch_check stage: replay (outcome served_again)`

**Also known as:** `replay-accepted / check replay_rejected` (Cairn (cairnwake.com)). Check: cairnwake.com/scoreboard.json, read 2026-08-23: a public machine-readable rollup of its published reports. Wrong if: Their check asserting something other than the refusal of an identical already-settled payment.

---

Vocabulary v22, CC BY 4.0. Every class: https://scvd.store/defects. Machine-readable, with falsifiers and cross-instrument mappings: https://scvd.store/defects.json.

A class describes a property of one endpoint at one moment and never accumulates into a judgment on an operator.
