BIP394: rawtr() Output Script Descriptors #2251

pull jeanpablojp wants to merge 1 commits into bitcoin:master from jeanpablojp:rawtr-descriptor changing 1 files +104 −0
  1. jeanpablojp commented at 11:10 AM on August 12, 2026: contributor

    This is a BIP draft for the rawtr() script expression, following the style of BIPs 381-387. Bitcoin Core has implemented it since 24.0 and it has never had a BIP; sipa noted that on #2050 in March.

    While writing this I did some digging and found rawtr in more places than I expected. BIP 390 allows musig() inside it, and two of the BIP 390 test vectors are rawtr() descriptors, so a published BIP already points at an expression no BIP defines. Outside Core it's a gap people route around: rust-miniscript prints rawtr_not_supported_yet where a descriptor should be, and bdk-ffi's tests cite rawtr as BIP-386.

    Mail list discussion: https://groups.google.com/g/bitcoindev/c/CCZN_qQ5C1s

  2. jonatack added the label New BIP on Aug 12, 2026
  3. achow101 commented at 10:55 PM on August 12, 2026: member

    Concept ACK

  4. danielabrozzoni commented at 7:00 PM on August 13, 2026: member

    This was a very good read, thanks for submitting! It's coincise and easy to understand. Looks good to me! Though I think someone who knows more about descriptors than I do should also take a look :)

    EDIT: I just realized, you should change BIP380's Appendix B to point to this page.

  5. in bip-rawtr.mediawiki:7 in 54fea1a294
       0 | @@ -0,0 +1,104 @@
       1 | +<pre>
       2 | +  BIP: ?
       3 | +  Layer: Applications
       4 | +  Title: rawtr() Output Script Descriptors
       5 | +  Authors: Jean Moreira <jeanpablo.jp@hotmail.com>
       6 | +  Status: Draft
       7 | +  Type: Specification
    


    danielabrozzoni commented at 5:43 PM on August 14, 2026:

    I think the type should be "Informational", similarly to other descriptor BIPs:

    BIP Description Type
    380 Output Script Descriptors (general) Informational
    381 pk(), pkh(), multi() etc. Informational
    382 wpkh(), wsh() Informational
    383 sh() Informational
    384 combo() Informational
    385 raw(), addr() Informational
    386 tr() Informational
    387 multi_a(), sortedmulti_a() Informational
    389 Multipath descriptors Informational
    390 musig() (used inside rawtr()) Informational

    jeanpablojp commented at 8:46 PM on August 14, 2026:

    You are right, I just pushed the change. Thanks.


    murchandamus commented at 6:19 PM on September 9, 2026:

    Actually, I think all of these should be Specification BIPs. The criteria for BIP types were amended by BIP3 compared to BIP2, but we haven’t updated all of the affected BIPs, yet.

  6. Add BIP: rawtr() Output Script Descriptors 4af973fc90
  7. jeanpablojp force-pushed on Aug 14, 2026
  8. jeanpablojp commented at 3:10 PM on August 15, 2026: contributor

    @danielabrozzoni about the Appendix B, BIP 3 says only the editor assigns the number, and until then the BIP is referred to by name. I can add the row now pointing to bip-rawtr.mediawiki, or wait for the editor to assign the number in this PR and register it with the number. Which do you prefer?

  9. in bip-rawtr.mediawiki:7 in 4af973fc90
       0 | @@ -0,0 +1,104 @@
       1 | +<pre>
       2 | +  BIP: ?
       3 | +  Layer: Applications
       4 | +  Title: rawtr() Output Script Descriptors
       5 | +  Authors: jeanpablojp <me@jeanpablo.jp>
       6 | +  Status: Draft
       7 | +  Type: Informational
    


    murchandamus commented at 6:25 PM on September 9, 2026:

    Sorry for the back-and-forth on this, but this should please be a Specification BIP.

      Type: Specification
    
  10. murchandamus commented at 7:53 PM on September 9, 2026: member

    Thanks for your submission, this looks great already. I noticed that there was no Rationale section, yet. Please include one if you get any questions or comments about design decisions or related work, or you feel that content in that regard is missing.

    Perhaps @achow101 could take a more thorough look at this, too.

    Let’s call this BIP394. Please update the file name of your document, the corresponding preamble headers and add the README entry you were asking about with that number.

  11. murchandamus renamed this:
    BIP Draft: rawtr() Output Script Descriptors
    BIP394: rawtr() Output Script Descriptors
    on Sep 9, 2026

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bips. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-09-13 01:10 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me