<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "BitcoinKernel",
  "identifier" : "/documentation/BitcoinKernel/ScriptVerifyStatus",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "BitcoinKernel"
    ],
    "preciseIdentifier" : "s:13BitcoinKernel18ScriptVerifyStatusO"
  },
  "title" : "ScriptVerifyStatus"
}
-->

# ScriptVerifyStatus

Status codes returned alongside the `valid` boolean from
[`verify(amount:transaction:precomputedData:inputIndex:flags:)`](/documentation/BitcoinKernel/ScriptPubkey/verify(amount:transaction:precomputedData:inputIndex:flags:)).

```
enum ScriptVerifyStatus
```

## Overview

Distinguishes **usage errors** (bad flag combinations, missing spent
outputs) from **script-execution failures**. A return of
`(valid: false, status: .ok)` means the script evaluated cleanly but
the spend didn’t satisfy its locking conditions — a genuine
verification failure. A non-`.ok` status means the verification
request itself was malformed.

Maps to `btck_ScriptVerifyStatus` constants in the kernel C API.