# Class BSV::Transaction::VerificationError <a id="class-BSV-Transaction-VerificationError"></a>

**Inherits:** `StandardError`

Error raised during SPV verification.

Carries a machine-readable code alongside a human-readable message, matching
the typed error pattern used by the Go SDK (ErrInvalidMerklePath,
ErrFeeTooLow, ErrScriptVerificationFailed).

## Error Codes

*   <code>:invalid_merkle_proof</code> — merkle path verification failed
    against the chain tracker
*   <code>:insufficient_fee</code> — transaction fee is below the fee model's
    requirement
*   <code>:output_overflow</code> — total outputs exceed total inputs
*   <code>:script_failure</code> — script interpreter rejected an input
    (original `ScriptError` in <code>#cause</code>)
*   <code>:missing_source</code> — required input data (unlocking script,
    source locking script, or source satoshis) is absent

## Constants
### `INSUFFICIENT_FEE` <a id="constant-INSUFFICIENT_FEE"></a> <a id="INSUFFICIENT_FEE-constant"></a>
Not documented.

### `INVALID_MERKLE_PROOF` <a id="constant-INVALID_MERKLE_PROOF"></a> <a id="INVALID_MERKLE_PROOF-constant"></a>
Not documented.

### `MISSING_SOURCE` <a id="constant-MISSING_SOURCE"></a> <a id="MISSING_SOURCE-constant"></a>
Not documented.

### `OUTPUT_OVERFLOW` <a id="constant-OUTPUT_OVERFLOW"></a> <a id="OUTPUT_OVERFLOW-constant"></a>
Not documented.

### `SCRIPT_FAILURE` <a id="constant-SCRIPT_FAILURE"></a> <a id="SCRIPT_FAILURE-constant"></a>
Not documented.

## Attributes
### `code` [R] <a id="attribute-i-code"></a> <a id="code-instance_method"></a>
- **@return** [Symbol] the error code

## Public Instance Methods
### `initialize(code, message)` <a id="method-i-initialize"></a> <a id="initialize-instance_method"></a>
- **@param** `code` [Symbol] error code
- **@param** `message` [String] human-readable description
- **@return** [VerificationError] a new instance of VerificationError
