• About
  • FAQ
  • Earn Bitcoin while Surfing the net
  • Buy & Sell Crypto on Paxful
Newsletter
Approx Foundation
  • Home
    • Home – Layout 1
  • Bitcoin
  • Ethereum
  • Regulation
  • Market
  • Blockchain
  • Business
  • Guide
  • Contact Us
No Result
View All Result
  • Home
    • Home – Layout 1
  • Bitcoin
  • Ethereum
  • Regulation
  • Market
  • Blockchain
  • Business
  • Guide
  • Contact Us
No Result
View All Result
Approx Foundation
No Result
View All Result
Home Bitcoin

Why do I get “Invalid Taproot control block size” when spending a P2TR script path?

Moussa by Moussa
February 18, 2026
in Bitcoin
0
How do Bitcoin mining pools typically handle payout frequency versus thresholds?
189
SHARES
1.5k
VIEWS
Share on FacebookShare on Twitter


For this specific error, the usual suspects are double length-prefixing or accidentally including the annex. Double-prefixing is the one I see most often.

The control block has to be one witness stack element, raw bytes. Layout:

<1 byte: leaf_version | parity>
<32 bytes: internal key>
<32 bytes × depth: merkle path hashes>

(parity comes from the tweaked pubkey’s y-coordinate odd/even—you’ll have it if you derived Q correctly.) No compactSize inside. No splitting.

Your ser_string call — that’s the problem. Witness serialization already length-prefixes each stack item. So when you do ser_string(control_block), you’re adding an extra prefix. The node checks (len - 33) % 32 == 0; one extra byte and that check fails, hence Invalid Taproot control block size. Just concatenate:

control_block = b''.join([
    bytes([leaf_version | parity]),
    internal_pubkey,
    merkle_hash_1,
    merkle_hash_2
])

witness_stack = [preimage_or_sig, script, control_block]

Splitting into separate elements — also wrong. The node takes the last element as the control block. If you split, it only sees hash2 (32 bytes) or whatever is last, so the size check fails. You can also hit bad-witness-nonstandard before script validation, depending on policy.

Useful way to think about it: layer 1 is BIP 341’s control block format (33+32m bytes, validated by that (len-33)%32==0 check). Layer 2 is witness encoding (length prefix per element). You only define layer 1; layer 2 is automatic. Don’t mix them.

If dropping ser_string and using a single blob fixes it, that was the issue. I’ve reproduced this on regtest—toggle only the control block build and the behavior matches.

Refs: BIP 341, BIP 342.



Source link

Related articles

Strive Loads up on 1,375 Bitcoin as ASST Jumps 114% in 30 Days – Bitcoin News

September 8, 2026

Forgotten Bitcoin Core wallet passphrase

September 8, 2026
Share76Tweet47

Related Posts

Strive Loads up on 1,375 Bitcoin as ASST Jumps 114% in 30 Days – Bitcoin News

by Moussa
September 8, 2026
0

Key TakeawaysStrive grabbed 1,375 bitcoin for $109M last week, lifting its stash to 24,531 BTC.Strive’s ASST is on a tear,...

Forgotten Bitcoin Core wallet passphrase

by Moussa
September 8, 2026
0

I forgot the passphrase for my old encrypted Bitcoin Core wallet.dat. I only have the backup file and have lost...

Bitcoin News Today: Liquid Network Still Paused After 3,400 BTC Is Returned

by Moussa
September 8, 2026
0

In Bitcoin news today, an unidentified group behind Sunday’s Liquid Network breach has returned 3,400 of the 4,000 BTC withdrawn...

BitMEX Faces Proposed Class Action Seeking Return Of 622 BTC

Kraken Files For CFTC-Regulated U.S. Perpetual Futures Product

by Moussa
September 8, 2026
0

Kraken parent Payward has filed to launch CFTC-regulated perpetual futures for eligible U.S. traders through Bitnomial, the Designated Contract Market...

How One Executive Recruitment Firm Is Using M&A To Turn Earnings Into Bitcoin

How One Executive Recruitment Firm Is Using M&A To Turn Earnings Into Bitcoin

by Moussa
September 8, 2026
0

Connecting Excellence Group (XCE) has signed binding Heads of Terms for its first proposed recruitment acquisition, targeting a specialist UK...

Load More

youssufi.com

sephina.com

[vc_row full_width="stretch_row" parallax="content-moving" vc_row_background="" background_repeat="no-repeat" background_position="center center" footer_scheme="dark" css=".vc_custom_1517813231908{padding-top: 60px !important;padding-bottom: 30px !important;background-color: #191818 !important;background-position: center;background-repeat: no-repeat !important;background-size: cover !important;}" footer_widget_title_color="#fcbf46" footer_button_bg="#fcb11e"][vc_column width="1/4"]

We bring you the latest in Crypto News

[/vc_column][vc_column width="1/4"][vc_wp_categories]
[/vc_column][vc_column width="1/4"][vc_wp_tagcloud taxonomy="post_tag"][/vc_column][vc_column width="1/4"]

Newsletter

[vc_raw_html]JTNDcCUzRSUzQ2RpdiUyMGNsYXNzJTNEJTIydG5wJTIwdG5wLXN1YnNjcmlwdGlvbiUyMiUzRSUwQSUzQ2Zvcm0lMjBtZXRob2QlM0QlMjJwb3N0JTIyJTIwYWN0aW9uJTNEJTIyaHR0cHMlM0ElMkYlMkZhcHByb3gub3JnJTJGJTNGbmElM0RzJTIyJTNFJTBBJTBBJTNDaW5wdXQlMjB0eXBlJTNEJTIyaGlkZGVuJTIyJTIwbmFtZSUzRCUyMm5sYW5nJTIyJTIwdmFsdWUlM0QlMjIlMjIlM0UlM0NkaXYlMjBjbGFzcyUzRCUyMnRucC1maWVsZCUyMHRucC1maWVsZC1maXJzdG5hbWUlMjIlM0UlM0NsYWJlbCUyMGZvciUzRCUyMnRucC0xJTIyJTNFRmlyc3QlMjBuYW1lJTIwb3IlMjBmdWxsJTIwbmFtZSUzQyUyRmxhYmVsJTNFJTBBJTNDaW5wdXQlMjBjbGFzcyUzRCUyMnRucC1uYW1lJTIyJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBuYW1lJTNEJTIybm4lMjIlMjBpZCUzRCUyMnRucC0xJTIyJTIwdmFsdWUlM0QlMjIlMjIlM0UlM0MlMkZkaXYlM0UlMEElM0NkaXYlMjBjbGFzcyUzRCUyMnRucC1maWVsZCUyMHRucC1maWVsZC1lbWFpbCUyMiUzRSUzQ2xhYmVsJTIwZm9yJTNEJTIydG5wLTIlMjIlM0VFbWFpbCUzQyUyRmxhYmVsJTNFJTBBJTNDaW5wdXQlMjBjbGFzcyUzRCUyMnRucC1lbWFpbCUyMiUyMHR5cGUlM0QlMjJlbWFpbCUyMiUyMG5hbWUlM0QlMjJuZSUyMiUyMGlkJTNEJTIydG5wLTIlMjIlMjB2YWx1ZSUzRCUyMiUyMiUyMHJlcXVpcmVkJTNFJTNDJTJGZGl2JTNFJTBBJTNDZGl2JTIwY2xhc3MlM0QlMjJ0bnAtZmllbGQlMjB0bnAtcHJpdmFjeS1maWVsZCUyMiUzRSUzQ2xhYmVsJTNFJTNDaW5wdXQlMjB0eXBlJTNEJTIyY2hlY2tib3glMjIlMjBuYW1lJTNEJTIybnklMjIlMjByZXF1aXJlZCUyMGNsYXNzJTNEJTIydG5wLXByaXZhY3klMjIlM0UlQzIlQTBCeSUyMGNvbnRpbnVpbmclMkMlMjB5b3UlMjBhY2NlcHQlMjB0aGUlMjBwcml2YWN5JTIwcG9saWN5JTNDJTJGbGFiZWwlM0UlM0MlMkZkaXYlM0UlM0NkaXYlMjBjbGFzcyUzRCUyMnRucC1maWVsZCUyMHRucC1maWVsZC1idXR0b24lMjIlM0UlM0NpbnB1dCUyMGNsYXNzJTNEJTIydG5wLXN1Ym1pdCUyMiUyMHR5cGUlM0QlMjJzdWJtaXQlMjIlMjB2YWx1ZSUzRCUyMlN1YnNjcmliZSUyMiUyMCUzRSUwQSUzQyUyRmRpdiUzRSUwQSUzQyUyRmZvcm0lM0UlMEElM0MlMkZkaXYlM0UlM0NiciUyRiUzRSUzQyUyRnAlM0U=[/vc_raw_html][/vc_column][/vc_row]
No Result
View All Result
  • Contact Us
  • Homepages
  • Business
  • Guide

© 2024 APPROX FOUNDATION - The Crypto Currency News