---
title: "An observable MPP core requirement fails — x402 defect class mpp-core-observable-invalid"
description: "An observable MPP core requirement fails (mpp-core-observable-invalid), an x402 defect class: The named observable core check passes under mpp-core-v1 and its cited draft-01 source. The field, response condition and failed challenge indexes determine the assertion; unmeasured registry, binding and payment behavior make no assertion. Detectable by an unpaid probe. A buyer can receive an ambiguous or malformed challenge, select an unsupported credential header, or reuse cacheable or expired payment terms. The observation identifies the failing condition without claiming a payment was attempted."
canonical: "https://scvd.store/defects/mpp-core-observable-invalid"
url: "https://scvd.store/defects/mpp-core-observable-invalid"
term_code: "mpp-core-observable-invalid"
defined_in: "https://scvd.store/defects"
data: "https://scvd.store/defects.json"
vocabulary_version: "18"
license: "https://creativecommons.org/licenses/by/4.0/"
---

# An observable MPP core requirement fails

`mpp-core-observable-invalid` — an x402 defect class.

**Asserts:** The named observable core check passes under mpp-core-v1 and its cited draft-01 source. The field, response condition and failed challenge indexes determine the assertion; unmeasured registry, binding and payment behavior make no assertion.

**Costs:** A buyer can receive an ambiguous or malformed challenge, select an unsupported credential header, or reuse cacheable or expired payment terms. The observation identifies the failing condition without claiming a payment was attempted.

**Detectable:** unpaid — a free probe can see it

**Falsified by:** The captured response satisfying the named check under the same battery at the observation time, or evidence that the required field was not captured and the check should have remained unmeasured.

**How an operator clears it:** Correct the named auth parameter, encoding, expiry or response header in the challenge producer, then obtain a fresh read. A passing core subset does not establish method validity or payment delivery.

**What a buyer does:** Keep the cited check and observation time. Resolve the reported condition before constructing a credential, and independently validate the chosen method and payment terms; this store's till does not speak MPP.

**Our signal:** `mpp_core.checks with state fail, under the core block's cited battery and source digest`

---

Vocabulary v18, 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.
