<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "BitcoinKernel",
  "identifier" : "/documentation/BitcoinKernel/TransactionOutput/init(scriptPubkey:amount:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "BitcoinKernel"
    ],
    "preciseIdentifier" : "s:13BitcoinKernel17TransactionOutputC12scriptPubkey6amountAcA06ScriptF0C_s5Int64Vtcfc"
  },
  "title" : "init(scriptPubkey:amount:)"
}
-->

# init(scriptPubkey:amount:)

Creates a transaction output from a script pubkey and amount.

```
init(scriptPubkey: ScriptPubkey, amount: Int64)
```

## Parameters

`scriptPubkey`

The locking script for this output.

`amount`

The value in satoshis. Valid range is `0...2_100_000_000_000_000`
(the 21 M BTC cap × 10⁸ satoshis/BTC). The kernel does not
reject over-cap values at construction — consensus does.

## Discussion

Useful for fabricating synthetic outputs in test vectors — e.g.,
preparing the `spentOutputs` argument for
[`verify(amount:transaction:precomputedData:inputIndex:flags:)`](/documentation/BitcoinKernel/ScriptPubkey/verify(amount:transaction:precomputedData:inputIndex:flags:)).