Optionalbip32BIP32 derivation information for all public keys involved in this UTXO. This array contains derivation paths for each cosigner's public key in a multisig setup.
Critical for:
Each entry maps a public key to its derivation path and master fingerprint.
OptionalnonThe non-witness UTXO information for non-segwit transactions. (The buffer of the full previous transaction) Required for non-segwit inputs in PSBTs.
OptionalprevThe full previous transaction in hexadecimal format. Required for non-segwit inputs in PSBTs to prevent fee attacks. For P2SH and some hardware wallets, this is mandatory.
OptionalredeemThe redeem script for P2SH outputs. For multisig P2SH addresses, this contains the actual multisig script that defines the m-of-n signature requirements. Required for spending P2SH outputs.
Example: For a 2-of-3 P2SH multisig, this would be the script:
OP_2
OptionalsequenceThe sequence number of the input. This is used for relative time locks and signaling RBF.
The transaction ID of the UTXO in reversed hex format (big-endian).
Package-wide TXID Convention: All TXIDs provided to this package should be in big-endian format (human-readable format), which is the standard format used by:
The package will internally convert these to little-endian format when needed for Bitcoin protocol operations and PSBT construction.
The value of the UTXO in satoshis.
The output index of the UTXO in its parent transaction.
OptionalwitnessThe witness script for P2WSH and P2SH-P2WSH outputs. For segwit multisig addresses, this contains the multisig script that gets committed to in the witness program. Required for spending segwit script outputs.
Note: For P2SH-P2WSH, both redeemScript and witnessScript are needed:
OptionalwitnessThe witness UTXO information for segwit transactions. Required for segwit inputs in PSBTs.
Represents an Unspent Transaction Output (UTXO) with essential information for PSBT creation.
Remarks
TXID Format Convention for @caravan/transactions Package:
Throughout this entire package, all input TXIDs are expected to be in big-endian format (human-readable format). This includes:
This maintains consistency with external expectations (block explorers, wallets, APIs) while the package internally handles the conversion to Bitcoin's native little-endian format when constructing raw transactions and PSBTs.
Output Format: When this package returns fee-bumped PSBTs, the internal TXID references within those PSBTs will be in little-endian format to ensure compatibility with Bitcoin's internal data structures and protocol requirements.
See
https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki