Skip to main content
£0.00 0

Basket

No products in the basket.

ASIC mining articles and advice

BIP 386 tr() Taproot Output Script Descriptors Guide

BIP 386 guide covering deployed tr() descriptors, internal x-only keys, optional script trees, TapTweak construction, parser boundaries, recovery and vectors.

BIP 386 tr() output descriptors guide cover

This guide explains BIP 386 tr() output descriptors in plain English. It covers the problem behind the BIP, why it matters and whether the proposal is part of Bitcoin today.

TL;DR

  • What it is: BIP 386 specifies the deployed tr() output descriptor for pay-to-Taproot scripts. The top-level expression accepts an internal key and optionally a binary tree of script expressions.
  • Why it matters: BIP 386 gives wallets a reproducible language for Taproot outputs. Safe use depends on exact key conversion, tree structure, tweak calculation and full descriptor recovery, not merely producing a Bech32m address.
  • Current position: BIP 386 is Deployed and Informational, requires BIP 380 and has been implemented in Bitcoin Core since 22.

BIP 386 tr() output descriptors in simple English

BIP 386 tr() output descriptors: tr(KEY) describes a key-path output with no intended spendable script path. Tr(KEY,TREE) describes the same internal-key route plus one or more script leaves arranged in an explicit binary tree.

Simple example

A node operator is checking BIP 386 tr() output descriptors. Lift the key to an x-only point, calculate the TapTweak with either the internal key alone or the key plus Merkle root, add the tweak times G, and encode OP_1 followed by the 32-byte output key.

Key terms in plain English

BIP:
Bitcoin Improvement Proposal: a document describing a proposed rule, standard or process. Its status must be checked separately.
Bitcoin Core:
Widely used software that validates Bitcoin and can provide wallet, network and operator tools.
Taproot:
A Bitcoin upgrade that added new signature and script options for spending outputs.
Node:
A computer running Bitcoin software that checks data and communicates with other peers.

Status and dependency

BIP 386 is Deployed and Informational, requires BIP 380 and has been implemented in Bitcoin Core since 22.0. Pin parser behaviour because later descriptor fragments expand what may appear in trees.

Two forms

tr(KEY) describes a key-path output with no intended spendable script path. Tr(KEY,TREE) describes the same internal-key route plus one or more script leaves arranged in an explicit binary tree.

Output construction

Lift the key to an x-only point, calculate the TapTweak with either the internal key alone or the key plus Merkle root, add the tweak times G, and encode OP_1 followed by the 32-byte output key.

BIP 386 tr() output descriptors technical diagram
Output construction: the fields, validation boundary and operational evidence that implementations need to agree.

Tree grammar

A tree is either an allowed script expression or a brace-delimited pair of trees. Shape affects branch hashes and control-block paths, so semantically similar leaves in a different tree can produce a different output.

Key rules

Keys beneath tr() must produce x-only public keys. Uncompressed public keys are forbidden; compressed keys and extended-key descendants are converted to their x-only form.

Compatibility and recovery

The descriptor language was new even when output scripts were recognised. Preserve the full checksummed descriptor, origins, ranges, indexes and intended tree rather than backing up only an address or internal key.

How specialists test it

Developers test the proposal with made-up data on an isolated test network. They check normal cases and deliberately invalid cases. Different implementations should reach the same result before anyone relies on the proposal.

Frequently asked questions

What is the main point of BIP 386 tr() output descriptors?

BIP 386 tr() output descriptors: tr(KEY) describes a key-path output with no intended spendable script path.

For BIP 386 tr() output descriptors, what should a beginner know about status and dependency?

BIP 386 is Deployed and Informational, requires BIP 380 and has been implemented in Bitcoin Core since 22.0.

For BIP 386 tr() output descriptors, what should a beginner know about two forms?

tr(KEY) describes a key-path output with no intended spendable script path.

For BIP 386 tr() output descriptors, what should a beginner know about output construction?

Lift the key to an x-only point, calculate the TapTweak with either the internal key alone or the key plus Merkle root, add the tweak times G, and encode OP_1 followed by the 32-byte output key.

Conclusion

BIP 386 gives wallets a reproducible language for Taproot outputs. Safe use depends on exact key conversion, tree structure, tweak calculation and full descriptor recovery, not merely producing a Bech32m address.

Primary sources

Check the current specification status and the documentation for the exact implementation you operate before moving production funds or changing a mining node.

ASIC MINER PICKS

Recommended ASIC Mining Hardware

Compare three of our highest ranked ASIC miners currently available, with live product details and pricing.
Overall ranking
Equihash
·
ZEC
Overall rank#1of 100AvailableAll: #3 / 831
Bitmain Antminer Z15K 525KSol Equihash Zcash Miner
Bitmain
Pre-Order
Hashrate
525KSOL
Efficiency
4.73W/KSOL
Power
2483W
Earns/kWh
42.6p
Free Shipping
Price · delivered
£6,050.00
ex VAT
Est. per month
£771.38
Payback 7.8 Months
Overall ranking
Equihash
·
ZEC
Overall rank#2of 100AvailableAll: #5 / 831
Bitmain Antminer Z15 Pro 840KSol Equihash Zcash Miner
Bitmain
In stock
Hashrate
840KSOL
Efficiency
3.3W/KSOL
Power
2772W
Earns/kWh
61.0p
Price · delivered
£12,505.00
ex VAT
Est. per month
£1234.20
Payback 10.1 Months
Overall ranking
SHA-256
·
BTC
Overall rank#6of 100AvailableAll: #9 / 831
Bitmain Antminer S23e Hydro 2U 865Th SHA-256 Bitcoin Miner
Bitmain
Pre-Order
Hashrate
865TH
Efficiency
10W/TH
Power
8650W
Earns/kWh
13.6p
Free Shipping
Price · delivered
£9,382.50
ex VAT
Est. per month
£861.01
Payback 10.9 Months
Browse all ASIC miners
MORE MINING ADVICE

More ASIC Mining Articles

Read practical advice about choosing hardware, calculating electricity costs, setting up miners, hosting and maintenance.
MINER COMMUNITY

Join the ASIC Mining Discussion

Ask a question or share what has worked for you. Your experience may help another miner make a better decision.

Members can read and join the discussion

Log in to read comments from other miners. Create a free account if you would like to ask a question or share your experience.

Log in to read comments Register to join the discussion

Membership helps us protect the discussion from spam and keep answers useful.

ASIC MINING SUPPORT

Need Help Choosing an ASIC Miner?

Tell us what you want to mine, your electricity cost and where the machine will run. We can help you compare hardware, power requirements, hosting and repairs.
Contact our mining team
Browse ASIC miners