Home › Glossary › P2TR

P2TR

Also called: Pay to Taproot, Taproot address, bc1p address, SegWit v1, witness version 1, Taproot output.

P2TR (Pay to Taproot) is the SegWit version 1 output type from BIP 341: one 32-byte key with optional hidden scripts. Addresses start with bc1p.

P2TR, Pay to Taproot, is the output type introduced by Taproot. Every P2TR output is locked to a single 32-byte public key, which can also secretly commit to a tree of alternative scripts. Its addresses start with bc1p.

How it works

BIP 341 defines P2TR as a SegWit version 1 witness program of 32 bytes:

scriptPubKey: 1 <32-byte output key>    (0x5120{32 bytes}, 34 bytes)

The output key Q is an internal key P tweaked with the root of a script tree (Q = P + hash(P || root)·G). It can be spent two ways:

  • Key path: one 64-byte Schnorr signature (BIP 340) for Q, plus an optional sighash byte. Nothing about any scripts is revealed.
  • Script path: reveal one script from the tree, the inputs that satisfy it and a control block proving it was committed to. Scripts follow tapscript rules (BIP 342), and only the branch used appears on chain (the MAST idea).

Why it matters

Single-key payments, MuSig2 multisig and cooperative contract settlements all look the same on chain: one key, one signature. That improves privacy and keeps the common case cheap. Taproot activated at block 709,632 on 14 November 2021.

Addresses and wallets

P2TR addresses use Bech32m (BIP 350) and are 62 characters, such as bc1p5cyxnuxmeuwuvkwfem96lqzszd02n6xdcjrs20cac6yqjjwudpxqkedrcr (a BIP 86 test vector). Single-key wallets derive keys on m/86'/0'/0', and output descriptors describe them with tr() (BIP 386). Read the Taproot guide or compare BIP 84 vs BIP 86.

BIPs that define P2TR

Related terms

  • Taproot: Taproot is the 2021 Bitcoin soft fork (BIPs 340, 341, 342) that added Schnorr signatures and P2TR outputs which hide unused spending conditions.
  • Schnorr signatures: Schnorr signatures are the 64-byte digital signatures standardized in BIP 340 and used by Taproot. They are simpler and more flexible than ECDSA.
  • Bech32m: Bech32m is the modified Bech32 address format from BIP 350, used for SegWit version 1 and later, such as Taproot addresses starting with bc1p.
  • Tapscript: Tapscript is the script language for Taproot script paths (BIP 342): Bitcoin Script with Schnorr signature checks, OP_CHECKSIGADD and OP_SUCCESS hooks.
  • MuSig2: MuSig2 is a Schnorr multi-signature scheme (BIP 327): several signers share one aggregate key and produce one ordinary-looking signature.

Learn more

Guides