Questions tagged [p2tr]

Pay to Taproot is the native SegWit v1 output format. It commits directly to a public key which in turn can optionally commit to a script tree, thus combining capabilities of previous output formats. P2TR addresses are Bech32m encoded and start with the prefix `bc1p`.

Filter by
Sorted by
Tagged with
3 votes
1 answer
37 views

How to spend an imported rawtr() descriptor with bitcoin-cli?

I created a transaction that creates a taproot output that can be spent using the private key (KEY) corresponding to the taproot output key. Then I imported the WIF formatted private key into Bitcoin ...
0 votes
1 answer
36 views

What are the last bytes for in a taproot script-path sighash?

I am trying to follow BIP341 to understand the signature hash calculation for taproot script path spends. From the bitcoin testing framework code, I see that if the transaction is spending from a ...
  • 779
1 vote
2 answers
52 views

Can one infer the multisig status of a P2TR spend?

Given raw transaction input/output data, is it possible to know if a Taproot output is multisig or not? I'm getting raw block data from a bitcoin node, and want to classify each spend according to the ...
1 vote
1 answer
60 views

What would happen if you tweaked a public key with an odd y-coordinate?

From BIP341 this example code shows how you can tweak an x-only pubkey: def taproot_tweak_pubkey(pubkey, h): t = int_from_bytes(tagged_hash("TapTweak", pubkey + h)) if t >= ...
  • 779
2 votes
2 answers
62 views

How do you calculate a taproot sighash?

I'm having trouble manually recreating the taproot sighash from the example below. I used btcdeb to pass in an input transaction (with a P2TR output), and a valid tx that spends from it. In the logs ...
  • 779
5 votes
1 answer
269 views

What is the largest multisig quorum currently possible?

Bitcoin script allows for a UTXO to be (un)encumbered by an N-of-N signature. When N is 1, this is referred to as a single signature. What are the limits of N for this application? What is the ...
8 votes
1 answer
328 views

BIP-341: Should key-path-only P2TR be eschewed altogether?

Consider BIP-341 "Constructing and spending Taproot outputs" where it says If the spending conditions do not require a script path, the output key should commit to an unspendable script ...
  • 251
4 votes
1 answer
105 views

Which wallets or libraries besides core support (or will support) P2TR descriptors?

I want to help test the WIP Bitcoin Dev Kit "Add support for Taproot and tr() descriptors", PR #593 against other implementations besides Bitcoin Core (already testing again Core 22.0). In ...
3 votes
1 answer
152 views

Taproot signing with PSBT: How to determine signing method?

As far as I can tell there are three ways you can produce a valid Schnorr signature in a Taproot environment: For a p2tr output that uses a BIP-0086 commitment (key spend, sign with internal key, ...
  • 228
4 votes
1 answer
241 views

Is taproot considered nonstandard to older clients?

When asking an older bitcoind node to broadcast a transaction which includes or spends a p2tr output, how will they respond? Will they broadcast the transaction? Will only certain bitcoind versions ...
  • 1,524
0 votes
1 answer
54 views

Keypath spending: Verify destination address across address formats [duplicate]

In a Tapscript Keypath Transaction (there is an unrelated Scriptpath too) I can have outputs to all possible address? (I.e. to P2PKH, P2SH, P2WPKH / P2WSH and P2TR) I have a list of addresses in all ...
  • 133
1 vote
0 answers
50 views

which wallets/softwares utilize taproot capabilites?

this question is not about being able to pay/receive to taproot addresses as I know there's a list for that here. I'm curious to see if anyone knows about wallets/software that utilize taproot ...
2 votes
1 answer
113 views

What is the weight of a P2TR input?

I'm looking for a detailed explanation of the weight, vsize and serialized length of a P2TR input, in the same vein as How big is the input of a P2PKH transaction?.
  • 66.1k
10 votes
1 answer
2k views

What is the script assembly and execution in P2TR spend (spend from Taproot)

So I have found and fundamentally understand how P2PKH is assembled from inputs and outputs to create a bitcoin forth-like script for execution. I looked at the SegWit BIP examples section and I found ...
  • 421
7 votes
2 answers
1k views

How can I find samples for P2TR transactions on mainnet?

Can I ask for a P2TR transaction id example past block 709632? I was trying to debug one of my scripts and something is wrong when searching for witness_v1_keyhash, and couldn't manually find one in ...
  • 1,626
1 vote
1 answer
120 views

Issue when broadcasting Taproot transaction to older nodes

I'm trying to broadcast a Taproot transaction to random nodes across the network (Testnet3). When I try to broadcast to older nodes like 0.18.0, I get the error "Witness version reserved for soft-...
user avatar
4 votes
1 answer
379 views

XPRIV/XPUB type for P2TR

As far as I understand, there is a standard that describes what address types an extended private key or extended public key is intended to derive and it works as such: xpriv/xpub => Legacy ...
4 votes
0 answers
283 views

P2TR bech32m mismatch

When attempting to create a p2tr address using the private key 0x0000...01 I get, bc1pmfr3p9j00pfxjh0zmgp99y8zftmd3s5pmedqhyptwy6lm87hf5sspknck9 which does not match the provided test vectors provided ...
  • 5,328
3 votes
1 answer
196 views

Where can I find taproot spend examples on testnet/signet?

I am in the middle of writing some Taproot libraries and would like some testnet/signet p2tr spends. Is there an easy way to find them? Most explorers don't have any filters like that. Even a list of ...
  • 7,679
6 votes
1 answer
1k views

How can I create P2TR addresses with Bitcoin Core 22.0?

I'm trying to test P2TR with Bitcoin Core, and I don't know how to get taproot addresses. How should I create them using 22.0?
3 votes
1 answer
185 views

Tests for Pay To Taproot addresses?

I am having trouble finding examples showing a known WIF to a valid mainnet P2TR address. I am working on a tool and want to see if my P2TR conversions/encodings are outputting the correct P2TR ...
  • 5,328
2 votes
1 answer
169 views

Recognizing Taproot outputs in raw transactions

What can be the contents of an P2TR output script? Is it always OP_1 0x20 <32-bit public key>? Can multisig script be there, and if yes - in what format, and more importantly - how do I convert ...
2 votes
2 answers
108 views

tracking invoice address type migration

I'd love to see charts with stats on percent of utxos by invoice address type (specially P2PKH, P2SH, P2SH-P2WPKH, P2WPKH, P2TR), over time; and same for percent of coin supply. No doubt I can pay a ...
  • 562
0 votes
1 answer
88 views

Can you use un-tweaked public key with P2TR?

Given some public key, is turning it into a working P2TR address and then going back from P2TR to get the same pubkey possible? I've read about the tweaking but don't really get it - do you need to ...
  • 35
3 votes
1 answer
211 views

Is there a way to convert a P2PKH address into P2TR?

As far as I understand, Taproot enhances privacy by allowing someone to only reveal a specific key path, which in my understanding means that it's fairly flexible - is it possible to construct a P2TR ...
  • 35
1 vote
0 answers
74 views

P2TR Scriptpath failing (Timelocked contract)

Goal is to archive the following logic: $alice = A; $bob = B; pk($bob) || (pk($alice) && older(10)) I went through The Taproot Workshop and came up with the following code: from io import ...
  • 133
4 votes
1 answer
554 views

How can I spend from a P2TR address on Signet with the Bitcoin Core wallet in 22.0?

Apparently (credit 0xB10C) there are only 20 key-path and 5 script-path spends of P2TR outputs on the Signet blockchain today (July 7th 2021). How can I increase this number today with say the Bitcoin ...
7 votes
2 answers
673 views

Should the Bitcoin Core wallet (or any wallet) prevent users from sending funds to a Taproot address pre activation?

The Bitcoin Core wallet prevents mainnet Taproot descriptors from being imported pre activation (November 2021) as a safeguard. However, you can send mainnet Bitcoin to a Taproot (P2TR) address pre ...
6 votes
1 answer
221 views

Will P2TR make P2WSH obsolete?

Assuming users have upgraded their wallets to handle P2TR outputs and trust the validation rules of P2TR, would there be any advantage of using P2WSH over P2TR?
  • 779
2 votes
1 answer
289 views

P2TR: Is pub key hashed in address?

Are the new Taproot addresses (SegWit v1) also a hash of the (potentially tweaked) public key, or is the public key directly encoded into the address, without hashing it?
3 votes
1 answer
455 views

How do the fees for taproot transactions compare to P2WPKH?

How would the most basic taproot transactions (not involving scripts) compare to P2WPKH transactions in terms of vbytes or fees?
  • 779
4 votes
0 answers
178 views

How are taproot scripts represented in general?

I'm pretty familiar with the opcode style of writing down scripts. I can understand the stack-based language nature of bitcoin script where you can write down different script spend paths via ifs like ...
  • 1,511
2 votes
1 answer
136 views

Using key aggregation (multsig) in P2TR script path spends

I know that it is possible to create a 2-2 multsig using Taproot by combining both private keys into one public key and defining that as the key path spend. I also know that it is possible to use ...
1 vote
1 answer
2k views

How do I construct a P2TR address if I just want to use the key path?

I want to create a P2TR (Pay to Taproot) address but I just want access to the key path spend, I have no use for the script path spend in this specific example. What should I do in regard to the ...