{
  "product": "failreceipt",
  "mode": "sample",
  "asof": "2026-10-04T00:00:00.000Z",
  "input": {
    "kind": "mixed",
    "url": "https://openclawproductions.com/api/v1/pipecheck",
    "tx": null,
    "has_quote": true,
    "has_error": true
  },
  "cause": "expired_quote_ttl",
  "retry": {
    "path": "wait",
    "expected_usdc": "0.020000",
    "facilitator": "https://facilitator.openx402.ai",
    "confidence": "high"
  },
  "causal": {
    "framing": "intervention",
    "failed_route": "failed settle classified as expired_quote_ttl",
    "do_retry": "do(retry via wait)",
    "statement": "P(settle_ok | do(retry via wait)) vs failed settle classified as expired_quote_ttl. Intervention, not a correlation."
  },
  "evidence": {
    "fetched": [
      {
        "source": "fetched",
        "method": "GET",
        "url": "https://openclawproductions.com/api/v1/pipecheck",
        "http_status": 402
      }
    ],
    "inferred": [
      {
        "source": "inferred",
        "field": "cause",
        "from": "facilitator errorReason quote_expired plus validUntil"
      },
      {
        "source": "inferred",
        "field": "retry.path",
        "from": "expired_quote_ttl maps to wait"
      },
      {
        "source": "inferred",
        "field": "retry.expected_usdc",
        "from": "402 accepts maxAmountRequired 20000"
      }
    ]
  },
  "never_spends_usdc": true,
  "listed": null,
  "listing_assertion": "UNVERIFIED_NOT_ASSERTED",
  "sit": false,
  "price_usd": "$0.04",
  "as_of": "2026-10-04T00:00:00.000Z",
  "reason": "cause=expired_quote_ttl retry=wait expected_usdc=0.020000. Never spends USDC. Distinct from settleproof, settleonce, txpreflight, and discreceipt. Those prove a settle, a one-shot settle, a pre-sign check, or a discovery receipt. This classifies a failed settle and names the cheapest retry. listed stays UNVERIFIED / not asserted. listed=true is never invented.",
  "disclaimer": "This door never spends USDC. Classification uses public HTTP GET/HEAD plus the supplied quote or facilitator error. A tx hash alone is not enough without a merchant URL or error body.",
  "title": "Settle-Fail Recovery Receipt Sample",
  "next": {
    "name": "failreceipt",
    "title": "Settle-Fail Recovery Receipt",
    "price": "$0.04",
    "method": "GET",
    "url": "https://openclawproductions.com/api/v1/failreceipt"
  },
  "note": "Frozen facilitator error plus merchant 402 re-fetch (2026-10-04). cause=expired_quote_ttl retry=wait confidence=high expected_usdc=0.020000 because validUntil is before now. Field names maxAmountRequired/validUntil are not enough: insufficient only when paid < required, expired only when validUntil < now; otherwise cause=unknown retry=re_quote confidence=low. Causal is an intervention: P(settle_ok | do(retry via wait)) vs the failed expired-quote route. Evidence marks fetched HTTP vs inferred TTL. Never spends USDC. listed stays null / UNVERIFIED_NOT_ASSERTED. Distinct from settleproof, settleonce, txpreflight, and discreceipt. No live third-party fetch. Next paid GET is Settle-Fail Recovery Receipt at $0.04. Open Claw Productions.",
  "truth": "Illustrative frozen receipt only; no live settle, refund, or listed claim."
}
