---
title: "Required parameters a buyer discovers only by being refused — x402 defect class inputs-undeclared"
description: "Required parameters a buyer discovers only by being refused (inputs-undeclared), an x402 defect class: A resource needing parameters declares them in the challenge, before payment. Detectable by an unpaid probe. The buyer is refused AFTER signing, and their ledger records that as this endpoint failing. The largest single cause of refused purchases at otherwise-working endpoints in the August 2026 field run."
canonical: "https://scvd.store/defects/inputs-undeclared"
url: "https://scvd.store/defects/inputs-undeclared"
term_code: "inputs-undeclared"
defined_in: "https://scvd.store/defects"
data: "https://scvd.store/defects.json"
vocabulary_version: "22"
license: "https://creativecommons.org/licenses/by/4.0/"
---

# Required parameters a buyer discovers only by being refused

`inputs-undeclared` — an x402 defect class.

**Asserts:** A resource needing parameters declares them in the challenge, before payment.

**Costs:** The buyer is refused AFTER signing, and their ledger records that as this endpoint failing. The largest single cause of refused purchases at otherwise-working endpoints in the August 2026 field run.

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

**Falsified by:** A declared input contract in the challenge, or the resource succeeding with no parameters.

**How an operator clears it:** Declare required parameters in the challenge itself, before payment, so a buyer learns them by reading rather than by being refused after signing. If the resource can serve a sensible default, accept a bare call too.

**What a buyer does:** Expect a refusal after payment if you call bare. Read the resource's documentation for its required parameters before paying, send them on the first call, and keep the settlement reference so a refused call can be retried as a paid retry rather than a second purchase.

**Our signal:** `no-input-contract`

---

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.
