{
  "source_review_date": "2026-10-12",
  "review_type": "editorial primary-source review, not independent external audit",
  "primary_sources": [
    {
      "id": "bitpay-expiry",
      "publisher": "BitPay Support",
      "title": "What happens when an invoice expires?",
      "url": "https://support.bitpay.com/hc/en-us/articles/360022482971-What-happens-when-an-invoice-expires",
      "page_updated": "2026-02-24",
      "reviewed_on": "2026-10-12",
      "supports": "Consumer help describes 15 minutes, decline and refund notification for a payment submitted to an expired invoice. Product-specific policy, not chain invalidation."
    },
    {
      "id": "bitpay-supported-assets",
      "publisher": "BitPay Support",
      "title": "What cryptocurrencies can I use to pay a BitPay Invoice?",
      "url": "https://support.bitpay.com/hc/en-us/articles/203411543-What-cryptocurrencies-can-I-use-to-pay-a-BitPay-Invoice",
      "page_updated": "2026-10-10",
      "reviewed_on": "2026-10-12",
      "supports": "Includes Litecoin; availability varies by shopper or merchant location. Not a promise of support on every invoice or network."
    },
    {
      "id": "bitpay-states",
      "publisher": "BitPay developer documentation",
      "title": "Invoice States",
      "url": "https://developer.bitpay.com/docs/invoice-states",
      "page_updated": null,
      "reviewed_on": "2026-10-12",
      "supports": "Defines base and exception states, new/paid/complete distinction, expired unpaid invoices, partial and excess treatment. Configuration and BTC examples are not LTC confirmation counts."
    },
    {
      "id": "bitpay-invoice-api",
      "publisher": "BitPay developer documentation",
      "title": "Invoices",
      "url": "https://developer.bitpay.com/reference/invoices",
      "page_updated": null,
      "reviewed_on": "2026-10-12",
      "supports": "expirationTime and invoiceTime are millisecond Unix timestamps; acceptanceWindow is configurable (0-900000 ms), defaults to account settings then 15 minutes. enabled currencies are per invoice."
    },
    {
      "id": "bitpay-refund-claim",
      "publisher": "BitPay Support",
      "title": "How to Claim Refunds for Underpaid, Overpaid, or Declined Invoices",
      "url": "https://support.bitpay.com/hc/en-us/articles/360049269071-How-to-Claim-Refunds-for-Underpaid-Overpaid-or-Declined-Invoices",
      "page_updated": "2026-09-08",
      "reviewed_on": "2026-10-12",
      "supports": "Notification and sign-in collect a refund destination. Claim link valid for three days; official support can issue replacement. Processing/executed stages distinct. No timing guarantee made."
    },
    {
      "id": "bitpay-refund-resource",
      "publisher": "BitPay developer documentation",
      "title": "Refunds",
      "url": "https://developer.bitpay.com/reference/refunds",
      "page_updated": null,
      "reviewed_on": "2026-10-12",
      "supports": "A refund has separate lifecycle and transaction ID; customer supplies refundAddress. No general refund denomination or legal entitlement inferred."
    },
    {
      "id": "litecoin-block-header",
      "publisher": "Litecoin Core v0.21.5.8",
      "title": "Block header structure",
      "url": "https://github.com/litecoin-project/litecoin/blob/v0.21.5.8/src/primitives/block.h",
      "page_updated": null,
      "reviewed_on": "2026-10-12",
      "supports": "Header stores nTime; GetBlockTime returns that value. This field is not a local observed receipt timestamp."
    },
    {
      "id": "litecoin-timestamp-validation",
      "publisher": "Litecoin Core v0.21.5.8",
      "title": "ContextualCheckBlockHeader",
      "url": "https://github.com/litecoin-project/litecoin/blob/v0.21.5.8/src/validation.cpp",
      "page_updated": null,
      "reviewed_on": "2026-10-12",
      "supports": "Header timestamp checked against median past and allowed future bound; it does not certify exact wall-clock broadcasting or processor receipt."
    },
    {
      "id": "litecoin-transaction-structure",
      "publisher": "Litecoin Core v0.21.5.8",
      "title": "Transaction structure",
      "url": "https://github.com/litecoin-project/litecoin/blob/v0.21.5.8/src/primitives/transaction.h",
      "page_updated": null,
      "reviewed_on": "2026-10-12",
      "supports": "Ordinary outputs contain value and script, not a merchant invoice state. Scope excludes custom timed scripts and private MWEB reconciliation."
    },
    {
      "id": "bitcoin-header-reference",
      "publisher": "Bitcoin developer documentation",
      "title": "Block headers",
      "url": "https://developer.bitcoin.org/reference/block_chain.html",
      "page_updated": null,
      "reviewed_on": "2026-10-12",
      "supports": "Shared header-timestamp concept. No Bitcoin confirmation target, block cadence or timestamp guarantee was applied to Litecoin."
    }
  ],
  "documentation_limits": [
    "BitPay invoice-state docs and API reference show different BTC confirmation examples; none is generalized to LTC.",
    "Consumer expiry help describes 15 minutes; the API acceptance window can be configured, so actual invoice cutoff governs.",
    "Boundary acceptance cannot be inferred from our timestamp equality label.",
    "Service statuses in the casebook are assigned generic snapshots, not measured provider behavior or a BitPay simulator."
  ],
  "differentiation": {
    "existing_catalogue_count": 189,
    "reviewed_existing_slugs": [
      "handling-litecoin-payment-refunds-and-underpayments",
      "what-a-litecoin-payment-qr-code-actually-tells-your-wallet",
      "can-you-cancel-a-litecoin-payment-what-changes-after-broadcast",
      "how-to-ask-for-litecoin-payment-support-without-exposing-your-wallet"
    ],
    "contribution": "Buyer retry decision; five-clock timeline; explicit timezone normalization and undecided exact boundary; ten constructed cases with provider outcome separated from arithmetic."
  }
}
