> For the complete documentation index, see [llms.txt](https://docs.leather.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.leather.io/learn/witness-data.md).

# What is Transaction Witness Data?

Witness data is the signature part of a Bitcoin transaction. What it contains and what SegWit changed about it.

Witness data is the part of a Bitcoin transaction that proves the sender may spend the inputs. It usually holds:

* **Signatures**, made with the sender's private key.
* **Public keys**, used to check the signatures.
* **Scripts and other data** that more complex spending conditions need, such as multisig.

## What SegWit changed

The SegWit upgrade of 2017 moved witness data into a separate part of the transaction.

* **Lower fees:** witness data counts for a quarter of the weight of other data. A block holds at most 4 million weight units, so more transactions fit and each costs less.
* **Fixed TXIDs:** the TXID no longer covers the witness data. Changing a signature's encoding can no longer change a transaction's ID before it confirms. This fixed transaction malleability, which had confused wallets and services that tracked payments by TXID.
* **Layers:** fixed TXIDs let protocols such as the Lightning Network build chains of unconfirmed transactions safely.

See [What is Segregated Witness (SegWit)?](/learn/segwit.md) and [What is Transaction Malleability?](/learn/transaction-malleability.md).

## Witness data in Leather

Leather's Native SegWit and Taproot addresses both store signatures as witness data.
