Pay-to-Taproot (P2TR)

Pay-to-Taproot (P2TR) is a type of Bitcoin output that allows coins to be sent either to a specific public key or to a set of alternative spending conditions organized in a Merkle tree. Typically, a P2TR output is locked to what looks like a single Schnorr public key, called Q. However, Q is actually the combination of a "real" public key (P) and another (M) that represents spending scripts, bundled together using a Merkle root.

There are two primary ways to unlock funds sent to P2TR: through the "key path," simply by providing a signature from the owner of key P, or through the "script path," by meeting one of the alternate conditions embedded in the Merkle tree of scripts. Only the method used to spend the coins is revealed; any unused spending conditions remain private, enhancing privacy.

P2TR builds on features from earlier script types like Pay-to-Public-Key (P2PK) and Pay-to-Script-Hash (P2SH), offering more flexibility while reducing the data stored on the blockchain. This also means that whether you’re using a single signer or a multisig wallet, all P2TR outputs look the same, making blockchain analysis much harder.

P2TR outputs are a type of SegWit (version 1) output, so their signatures are kept in the witness data, not in the ScriptSig, and P2TR addresses use the Bech32 encoding format. P2TR outputs become spendable once the Taproot upgrade goes live; until then, coins sent to P2TR outputs can’t be spent.