Two related developer write-ups describe building Taproot script trees using Python and the bitcoinutils library, then spending from the resulting Taproot outputs on Bitcoin testnet. One post focuses on a complete 4-leaf Taproot tree that combines multiple script-path conditions with a key-path spend: a SHA256 hashlock (with a revealed preimage), a 2-of-2 multisig leaf using OP_CHECKSIGADD, a CSV relative timelock leaf using OP_CHECKSEQUENCEVERIFY, and a simple signature leaf, plus an additional key-path option for Alice. The author reports five confirmed testnet spending transactions corresponding to each spend path, providing TXIDs and demonstrating script validation via control blocks. A second post covers a simpler dual-leaf Taproot setup with two script-path leaves—hashlock and pay-to-pubkey—paired with a key-path for the internal key holder. It includes real testnet transactions and an explanation of how Control Blocks prove script inclusion and how the TapTweak computation derives the final output key. Both posts emphasize witness construction requirements (including element counts and, for multisig/CHECKSIGADD, stack ordering) and debugging common errors such as script mismatch or witness-program mismatch, alongside code-level details for tapleaf hashing and Control Block verification.