[{"data":1,"prerenderedAt":1138},["ShallowReactive",2],{"post:\u002F2026-06-17-first-bitcoin-taproot-spend-transactions":3},{"id":4,"title":5,"body":6,"date":1129,"description":1130,"extension":1131,"meta":1132,"navigation":1133,"path":1134,"seo":1135,"stem":1136,"__hash__":1137},"content\u002F2026-06-17-first-bitcoin-taproot-spend-transactions.md","The first Bitcoin Taproot spend transactions",{"type":7,"value":8,"toc":1093},"minimark",[9,14,51,62,65,68,72,100,108,273,300,324,358,362,368,385,394,410,436,445,454,457,495,502,514,519,529,532,537,548,553,556,562,565,571,582,587,641,652,657,663,674,680,685,694,699,705,708,714,719,728,733,739,742,746,755,760,766,769,773,784,789,792,798,814,820,832,837,848,853,859,862,868,873,884,888,894,896,902,905,909,920,925,931,933,939,944,955,960,966,977,983,991,1002,1006,1012,1017,1028,1032,1038,1043,1054,1058,1064,1068,1079,1083,1089],[10,11,13],"h1",{"id":12},"once-upon-a-time","Once upon a time...",[15,16,17,18,25,26,34,35,39,40,47,48],"p",{},"Back in 2017, when ",[19,20,24],"a",{"href":21,"rel":22},"https:\u002F\u002Fen.bitcoin.it\u002Fwiki\u002FSegregated_Witness",[23],"nofollow","SegWit"," activated, an OG Brazilian bitcoiner named Narcelio pulled off something I thought was the coolest thing ever. SegWit became active at block ",[19,27,30],{"href":28,"rel":29},"https:\u002F\u002Fmempool.space\u002Fblock\u002F481824",[23],[31,32,33],"code",{},"481,824",", and just ",[36,37,38],"strong",{},"10 blocks later",", in block ",[19,41,44],{"href":42,"rel":43},"https:\u002F\u002Fmempool.space\u002Fblock\u002F481834",[23],[31,45,46],{},"481,834",", he broadcasted a transaction that simply said ",[31,49,50],{},"OP_RETURN Narcelio was here.",[15,52,53,54,61],{},"That transaction is ",[19,55,58],{"href":56,"rel":57},"https:\u002F\u002Fmempool.space\u002Ftx\u002F738309023e4862493cfdaa85599c57a4508b4660f12d0944984bc8de78541ed8",[23],[31,59,60],{},"738309023e4862493cfdaa85599c57a4508b4660f12d0944984bc8de78541ed8",". It was a P2SH-wrapped SegWit spend, which was the common flavor of SegWit in 2017.",[15,63,64],{},"I was a kid amazed by Bitcoin, and seeing a Brazilian carve his name into the chain right after a major upgrade is exactly the kind of thing that pulls you in deeper. It made the protocol feel alive and reachable. That little message is a big part of why I went down the rabbit hole.",[15,66,67],{},"So when Taproot activation started getting close, I knew I wanted to do the same thing.",[10,69,71],{"id":70},"taproot-activation","Taproot activation",[15,73,74,79,80,87,88,93,94,99],{},[19,75,78],{"href":76,"rel":77},"https:\u002F\u002Flearnmeabitcoin.com\u002Ftechnical\u002Fupgrades\u002Ftaproot\u002F",[23],"Taproot"," activated at block ",[19,81,84],{"href":82,"rel":83},"https:\u002F\u002Fmempool.space\u002Fblock\u002F709632",[23],[31,85,86],{},"709,632"," on November 14, 2021. The night of the activation, ",[19,89,92],{"href":90,"rel":91},"https:\u002F\u002Fb10c.me",[23],"0xB10C"," was running a ",[19,95,98],{"href":96,"rel":97},"https:\u002F\u002Fb10c.me\u002Fprojects\u002F019-taproot-activation-monitoring\u002F",[23],"live monitoring stream"," of the whole thing: blocks coming in on one side with pool names and coinbase info, and new Taproot transactions hitting the mempool on the other.",[15,101,102,103,107],{},"The height itself was fixed, but the ",[104,105,106],"em",{},"time"," it would be reached depends on how fast miners find blocks. Bitcoin aims for one block every 10 minutes, and at that steady pace activation was on track for around 08:19 UTC (roughly 05:00 in Brazil, UTC-3). It came a lot sooner, because the blocks leading into activation were coming faster than target, with bursts where several landed within a minute or two of each other:",[109,110,111,127],"table",{},[112,113,114],"thead",{},[115,116,117,121,124],"tr",{},[118,119,120],"th",{},"Block",[118,122,123],{},"Time (UTC)",[118,125,126],{},"Gap from previous",[128,129,130,148,165,182,199,216,233,256],"tbody",{},[115,131,132,142,145],{},[133,134,135],"td",{},[19,136,139],{"href":137,"rel":138},"https:\u002F\u002Fmempool.space\u002Fblock\u002F709618",[23],[31,140,141],{},"709,618",[133,143,144],{},"02:53:53",[133,146,147],{},"39s",[115,149,150,159,162],{},[133,151,152],{},[19,153,156],{"href":154,"rel":155},"https:\u002F\u002Fmempool.space\u002Fblock\u002F709619",[23],[31,157,158],{},"709,619",[133,160,161],{},"02:55:11",[133,163,164],{},"1m18s",[115,166,167,176,179],{},[133,168,169],{},[19,170,173],{"href":171,"rel":172},"https:\u002F\u002Fmempool.space\u002Fblock\u002F709620",[23],[31,174,175],{},"709,620",[133,177,178],{},"02:56:10",[133,180,181],{},"59s",[115,183,184,193,196],{},[133,185,186],{},[19,187,190],{"href":188,"rel":189},"https:\u002F\u002Fmempool.space\u002Fblock\u002F709621",[23],[31,191,192],{},"709,621",[133,194,195],{},"02:57:55",[133,197,198],{},"1m45s",[115,200,201,210,213],{},[133,202,203],{},[19,204,207],{"href":205,"rel":206},"https:\u002F\u002Fmempool.space\u002Fblock\u002F709622",[23],[31,208,209],{},"709,622",[133,211,212],{},"03:00:36",[133,214,215],{},"2m41s",[115,217,218,227,230],{},[133,219,220],{},[19,221,224],{"href":222,"rel":223},"https:\u002F\u002Fmempool.space\u002Fblock\u002F709623",[23],[31,225,226],{},"709,623",[133,228,229],{},"03:03:49",[133,231,232],{},"3m13s",[115,234,235,244,247],{},[133,236,237],{},[19,238,241],{"href":239,"rel":240},"https:\u002F\u002Fmempool.space\u002Fblock\u002F709624",[23],[31,242,243],{},"709,624",[133,245,246],{},"03:03:46",[133,248,249],{},[19,250,253],{"href":251,"rel":252},"https:\u002F\u002Fmempool.space\u002Fdocs\u002Ffaq#why-block-timestamps-dont-always-increase",[23],[104,254,255],{},"before its own parent",[115,257,258,267,270],{},[133,259,260],{},[19,261,264],{"href":262,"rel":263},"https:\u002F\u002Fmempool.space\u002Fblock\u002F709625",[23],[31,265,266],{},"709,625",[133,268,269],{},"03:05:29",[133,271,272],{},"1m43s",[15,274,275,276,281,282,285,286,291,292,295,296,299],{},"Eight blocks in about twelve minutes, and ",[19,277,279],{"href":239,"rel":278},[23],[31,280,243],{}," even carries a timestamp slightly ",[104,283,284],{},"earlier"," than the block before it (consensus only requires a block to beat the median of the last 11, not its immediate parent). All that banked time added up: instead of the expected ~08:19 UTC, the activation block ",[19,287,289],{"href":82,"rel":288},[23],[31,290,86],{}," showed up at ",[36,293,294],{},"05:15:27 UTC"," (02:15 Brazil time), about ",[36,297,298],{},"3 hours early",".",[15,301,302,303,312,313,39,316,323],{},"Here is the fun part: ",[36,304,305,306,311],{},"the activation block (",[19,307,309],{"href":82,"rel":308},[23],[31,310,86],{},") contained zero Taproot spends."," None. We were sitting there refreshing, slightly panicking, wondering if we had all screwed something up. Block after block went by with no P2TR spends. The first ones finally landed ",[36,314,315],{},"3 blocks after activation",[19,317,320],{"href":318,"rel":319},"https:\u002F\u002Fmempool.space\u002Fblock\u002F709635",[23],[31,321,322],{},"709,635",", mined by Foundry USA.",[15,325,326,327,332,333,336,337,344,345,352,353,299],{},"Technically, P2TR outputs were spendable before activation. 0xB10C has a great writeup on this: ",[19,328,331],{"href":329,"rel":330},"https:\u002F\u002Fb10c.me\u002Fblog\u002F007-spending-p2tr-pre-activation\u002F",[23],"Spending P2TR outputs before activation",". Before the ",[31,334,335],{},"SCRIPT_VERIFY_TAPROOT"," rules were enforced, a P2TR output was effectively anyone-can-spend, and at block ",[19,338,341],{"href":339,"rel":340},"https:\u002F\u002Fmempool.space\u002Fblock\u002F692261",[23],[31,342,343],{},"692,261"," he worked with F2Pool to mine a transaction (",[19,346,349],{"href":347,"rel":348},"https:\u002F\u002Fmempool.space\u002Ftx\u002Fb10c007c60e14f9d087e0291d4d0c7869697c6681d979c6639dbd960792b4d41",[23],[31,350,351],{},"b10c007c60e14f9d087e0291d4d0c7869697c6681d979c6639dbd960792b4d41",") that swept four P2TR outputs and donated the funds to ",[19,354,357],{"href":355,"rel":356},"https:\u002F\u002Fbrink.dev",[23],"brink.dev",[10,359,361],{"id":360},"my-turn","My turn",[15,363,364,365,299],{},"I had to learn how to build a Taproot address, fund it with a few satoshis on mainnet, then wait and broadcast the spend with my message in an ",[31,366,367],{},"OP_RETURN",[15,369,370,371,374,375,380,381,384],{},"My original plan was boring: write ",[31,372,373],{},"jaonoctus was here",", an obvious homage to Narcelio's 2017 transaction. But then a guy on the ",[19,376,379],{"href":377,"rel":378},"https:\u002F\u002Fdiscord.bitcoinheiros.com",[23],"bitcoinheiros Discord"," suggested a much funnier alternative: write ",[31,382,383],{},"chupanarcel.io"," and actually go buy the domain.",[15,386,387,389,390,393],{},[31,388,383],{}," reads as \"chupa, Narcelio\", which is Brazilian Portuguese for, politely, ",[36,391,392],{},"\"suck it, Narcelio!\"",". I loved it. So I bought the domain and wrote that into the chain.",[15,395,396,397,39,404,409],{},"That is ",[19,398,401],{"href":399,"rel":400},"https:\u002F\u002Fmempool.space\u002Ftx\u002Faba317fc0b85563625389947a6ff532f849d09b1224acc56a6e72ea5231849d4",[23],[31,402,403],{},"aba317fc0b85563625389947a6ff532f849d09b1224acc56a6e72ea5231849d4",[19,405,407],{"href":318,"rel":406},[23],[31,408,322],{},", one of the very first Taproot transactions ever confirmed.",[15,411,412,413,420,421,424,425,420,432,435],{},"The best part: this time, Narcelio was right there in a Discord call with me while it happened. He landed his own P2TR spend in the same block, ",[19,414,417],{"href":415,"rel":416},"https:\u002F\u002Fmempool.space\u002Ftx\u002Fde1dd38997b0e27b7b1d2db376c1438e24d10b2502e423786dccc83510f805d0",[23],[31,418,419],{},"de1dd38997b0e27b7b1d2db376c1438e24d10b2502e423786dccc83510f805d0",", with the ",[31,422,423],{},"OP_RETURN Narcelio is still here"," 🧡. And I was not the only one with him. Another Brazilian dev on the call, Otto, landed his too, ",[19,426,429],{"href":427,"rel":428},"https:\u002F\u002Fmempool.space\u002Ftx\u002Fbbc2e707dbc68db35dbada9be9d9182e546ee9302dc0a5cdd1a8dc3390483620",[23],[31,430,431],{},"bbc2e707dbc68db35dbada9be9d9182e546ee9302dc0a5cdd1a8dc3390483620",[31,433,434],{},"OP_RETURN otto taprooted here",". Brazil mafia. 🇧🇷",[15,437,438,439,444],{},"We later told the whole story in an interview (in Portuguese) on the ",[19,440,443],{"href":441,"rel":442},"https:\u002F\u002Fyoutu.be\u002Fyf7wV7lFG9A",[23],"Bitcoinheiros"," YouTube channel.",[10,446,448,449],{"id":447},"all-16-p2tr-spends-in-block-709635","All 16 P2TR spends in block ",[19,450,452],{"href":318,"rel":451},[23],[31,453,322],{},[15,455,456],{},"A quick refresher on how to read a Taproot witness:",[458,459,460,473],"ul",{},[461,462,463,466,467,472],"li",{},[36,464,465],{},"Key path spend:"," the witness is a single item, a ",[19,468,471],{"href":469,"rel":470},"https:\u002F\u002Flearnmeabitcoin.com\u002Ftechnical\u002Fcryptography\u002Fschnorr\u002F",[23],"Schnorr"," signature (64 bytes, or 65 if an explicit sighash byte is appended). Clean and indistinguishable from any other key-path spend.",[461,474,475,478,479,482,483,486,487,490,491,494],{},[36,476,477],{},"Script path spend:"," the witness ends with a ",[104,480,481],{},"control block"," (it starts with ",[31,484,485],{},"0xc0"," or ",[31,488,489],{},"0xc1","), the item before it is the revealed ",[104,492,493],{},"tapscript"," leaf, and anything before that is the input to that script (usually signatures).",[15,496,497,498,501],{},"There are ",[36,499,500],{},"10 key-path spends and 6 script-path spends"," (counting transactions; tx #2 actually mixes both in its two inputs). Here is the actual witness data for each one, with script-path leaves decoded.",[503,504,506,507],"h3",{"id":505},"_1-33e794d097969002ee05d336686fc03c9e15a597c1b9827669460fac98799036","1. ",[19,508,511],{"href":509,"rel":510},"https:\u002F\u002Fmempool.space\u002Ftx\u002F33e794d097969002ee05d336686fc03c9e15a597c1b9827669460fac98799036",[23],[31,512,513],{},"33e794d097969002ee05d336686fc03c9e15a597c1b9827669460fac98799036",[15,515,516],{},[36,517,518],{},"Key path.",[520,521,526],"pre",{"className":522,"code":524,"language":525},[523],"language-text","witness:\n  a60c383f71bac0ec919b1d7dbc3eb72dd56e7aa99583615564f9f99b8ae4e837\n  b758773a5b2e4c51348854c8389f008e05029db7f464a5ff2e01d5e6e626174a\n","text",[31,527,524],{"__ignoreMap":528},"",[15,530,531],{},"A single 64-byte Schnorr signature.",[15,533,534,299],{},[31,535,536],{},"OP_RETURN I like Schnorr sigs and I cannot lie. @bitbug42",[503,538,540,541],{"id":539},"_2-37777defed8717c581b4c0509329550e344bdc14ac38f71fc050096887e535c8","2. ",[19,542,545],{"href":543,"rel":544},"https:\u002F\u002Fmempool.space\u002Ftx\u002F37777defed8717c581b4c0509329550e344bdc14ac38f71fc050096887e535c8",[23],[31,546,547],{},"37777defed8717c581b4c0509329550e344bdc14ac38f71fc050096887e535c8",[15,549,550],{},[36,551,552],{},"Mixed key path + script path (Andrew Chow).",[15,554,555],{},"This one is widely referenced as the first Taproot transaction. It has two inputs:",[520,557,560],{"className":558,"code":559,"language":525},[523],"input 0 (key path):\n  134896c42cd95680b048845847c8054756861ffab7d4abab72f6508d67d1ec0c\n  590287ec2161dd7884983286e1cd56ce65c08a24ee0476ede92678a93b1b180c01\n\ninput 1 (script path):\n  \u003Csig> 7b5d614a4610bf9196775791fcc589597ca066dcd10048e004cd4c7341bb4bb90cee4705192f3f7db524e8067a5222c7f09baf29ef6b805b8327ecd1e5ab83ca\n  \u003Cleaf> 20f5b059b9a72298ccbefff59d9b943f7e0fc91d8a3b944a95e7b6390cc99eb5f4ac\n  \u003Ccontrol block> c0d9dfdf0fe3c83e9870095d67fff59a8056dad28c6dfb944bb71cf64b90ace9a7776b22a1185fb2dc9524f6b178e2693189bf01655d7f38f043923668dc5af45b\n",[31,561,559],{"__ignoreMap":528},[15,563,564],{},"The revealed leaf is a single-key script:",[520,566,569],{"className":567,"code":568,"language":525},[523],"OP_PUSHBYTES_32 f5b059b9a72298ccbefff59d9b943f7e0fc91d8a3b944a95e7b6390cc99eb5f4\nOP_CHECKSIG\n",[31,570,568],{"__ignoreMap":528},[503,572,574,575],{"id":573},"_3-83c8e0289fecf93b5a284705396f5a652d9886cbd26236b0d647655ad8a37d82","3. ",[19,576,579],{"href":577,"rel":578},"https:\u002F\u002Fmempool.space\u002Ftx\u002F83c8e0289fecf93b5a284705396f5a652d9886cbd26236b0d647655ad8a37d82",[23],[31,580,581],{},"83c8e0289fecf93b5a284705396f5a652d9886cbd26236b0d647655ad8a37d82",[15,583,584],{},[36,585,586],{},"Key path, 4 inputs (Pieter Wuille).",[15,588,589,590,593,594,593,597,599,600,603,604,593,607,593,610,599,613,616,617,593,622,593,627,632,633,638,639,299],{},"Four inputs, each a single Schnorr signature (key path). The funding addresses are vanity addresses with ",[31,591,592],{},"tapr00t",", ",[31,595,596],{},"tapr00tear",[31,598,592],{},", and ",[31,601,602],{},"partytaptap"," baked in. There is also a hidden message in the input amounts: they are funded with ",[36,605,606],{},"0.0340",[36,608,609],{},"0.0341",[36,611,612],{},"0.0342",[36,614,615],{},"0.00709632"," BTC, encoding the three Taproot BIPs (",[19,618,621],{"href":619,"rel":620},"https:\u002F\u002Fbips.dev\u002F340\u002F",[23],"340",[19,623,626],{"href":624,"rel":625},"https:\u002F\u002Fbips.dev\u002F341\u002F",[23],"341",[19,628,631],{"href":629,"rel":630},"https:\u002F\u002Fbips.dev\u002F342\u002F",[23],"342",") and the activation height (",[19,634,636],{"href":82,"rel":635},[23],[31,637,86],{},"). No ",[31,640,367],{},[503,642,644,645],{"id":643},"_4-905ecdf95a84804b192f4dc221cfed4d77959b81ed66013a7e41a6e61e7ed530","4. ",[19,646,649],{"href":647,"rel":648},"https:\u002F\u002Fmempool.space\u002Ftx\u002F905ecdf95a84804b192f4dc221cfed4d77959b81ed66013a7e41a6e61e7ed530",[23],[31,650,651],{},"905ecdf95a84804b192f4dc221cfed4d77959b81ed66013a7e41a6e61e7ed530",[15,653,654],{},[36,655,656],{},"Script path, 2-of-2 multisig (BitGo).",[520,658,661],{"className":659,"code":660,"language":525},[523],"witness:\n  \u003Csig A> 23b1d4ff27b16af4b0fcb9672df671701a1a7f5a6bb7352b051f461edbc614aa6068b3e5313a174f90f3d95dc4e06f69bebd9cf5a3098fde034b01e69e8e788901\n  \u003Csig B> 0fd4a0d3f36a1f1074cb15838a48f572dc18d412d0f0f0fc1eeda9fa4820c942abb77e4d1a3c2b99ccf4ad29d9189e6e04a017fe611748464449f681bc38cf39\n  \u003Cleaf>  20febe583fa77e49089f89b78fa8c116710715d6e40cc5f5a075ef1681550dd3c4ad20d0fa46cb883e940ac3dc5421f05b03859972639f51ed2eccbf3dc5a62e2e1b15ac\n  \u003Ccontrol block> c02e44c9e47eaeb4bb313adecd11012dfad435cd72ce71f525329f24d75c5b9432774e148e9209baf3f1656a46986d5f38ddf4e20912c6ac28f48d6bf747469fb1\n",[31,662,660],{"__ignoreMap":528},[15,664,665,666,669,670,673],{},"Decoded leaf, a 2-of-2 multisig (both keys must sign, chained with ",[31,667,668],{},"OP_CHECKSIGVERIFY"," then ",[31,671,672],{},"OP_CHECKSIG","):",[520,675,678],{"className":676,"code":677,"language":525},[523],"OP_PUSHBYTES_32 febe583fa77e49089f89b78fa8c116710715d6e40cc5f5a075ef1681550dd3c4\nOP_CHECKSIGVERIFY\nOP_PUSHBYTES_32 d0fa46cb883e940ac3dc5421f05b03859972639f51ed2eccbf3dc5a62e2e1b15\nOP_CHECKSIG\n",[31,679,677],{"__ignoreMap":528},[15,681,682,299],{},[31,683,684],{},"OP_RETURN Thx Satoshi! ∞\u002F21mil First Taproot multisig spend -BitGo",[503,686,688,689],{"id":687},"_5-aba317fc0b85563625389947a6ff532f849d09b1224acc56a6e72ea5231849d4","5. ",[19,690,692],{"href":399,"rel":691},[23],[31,693,403],{},[15,695,696],{},[36,697,698],{},"Script path (mine).",[520,700,703],{"className":701,"code":702,"language":525},[523],"witness:\n  \u003Csig>   b0c92a3cd544a9582db87a3833845a4370c866431b49a89fe892751d9fe3278595a036eae391031e6ded1eae8891003bf3f6b42dde3fbfc15f2dd256db7a3a2a01\n  \u003Cleaf>  2007d134f9d456df72b43c6af825252a38d28090b0bbe1991b7f5d7767c244ebdeac\n  \u003Ccontrol block> c072c0db9c5b32137dc96839e1816cd529649d4c7be47bf9422a3e7aa5cd0380a6798a376d38cdfd32fa2ac8a6dad0a370d16c44fe07464a8aa18c09c74e74f95f\n",[31,704,702],{"__ignoreMap":528},[15,706,707],{},"Decoded leaf:",[520,709,712],{"className":710,"code":711,"language":525},[523],"OP_PUSHBYTES_32 07d134f9d456df72b43c6af825252a38d28090b0bbe1991b7f5d7767c244ebde\nOP_CHECKSIG\n",[31,713,711],{"__ignoreMap":528},[15,715,716,299],{},[31,717,718],{},"OP_RETURN chupanarcel.io",[503,720,722,723],{"id":721},"_6-de1dd38997b0e27b7b1d2db376c1438e24d10b2502e423786dccc83510f805d0","6. ",[19,724,726],{"href":415,"rel":725},[23],[31,727,419],{},[15,729,730],{},[36,731,732],{},"Key path (Narcelio).",[520,734,737],{"className":735,"code":736,"language":525},[523],"witness:\n  8a77f0f102bd664cc67cb47a21739d96081c7ab792c977a121fb6d63f66751b3\n  f87ad6840eb3d6313ad440ccaf347f6b7ece1aa5ca3c2af58e8f331a76fcae2501\n",[31,738,736],{"__ignoreMap":528},[15,740,741],{},"A single 65-byte Schnorr signature (it carries an explicit sighash byte).",[15,743,744,299],{},[31,745,423],{},[503,747,749,750],{"id":748},"_7-bbc2e707dbc68db35dbada9be9d9182e546ee9302dc0a5cdd1a8dc3390483620","7. ",[19,751,753],{"href":427,"rel":752},[23],[31,754,431],{},[15,756,757],{},[36,758,759],{},"Key path (Otto).",[520,761,764],{"className":762,"code":763,"language":525},[523],"witness:\n  72b05875342250c5117cceaddcceb3d166f3c44b98943a0423d9ee4e8f494c1e\n  c8d62a7ebc290f8b9406ee4049b3fa41b407649dd30c3d0acca64963fbe251e701\n",[31,765,763],{"__ignoreMap":528},[15,767,768],{},"Single 65-byte Schnorr signature.",[15,770,771,299],{},[31,772,434],{},[503,774,776,777],{"id":775},"_8-2eb8dbaa346d4be4e82fe444c2f0be00654d8cfd8c4a9a61b11aeaab8c00b272","8. ",[19,778,781],{"href":779,"rel":780},"https:\u002F\u002Fmempool.space\u002Ftx\u002F2eb8dbaa346d4be4e82fe444c2f0be00654d8cfd8c4a9a61b11aeaab8c00b272",[23],[31,782,783],{},"2eb8dbaa346d4be4e82fe444c2f0be00654d8cfd8c4a9a61b11aeaab8c00b272",[15,785,786],{},[36,787,788],{},"Script path (Bitcoin Dev Kit, 2 inputs).",[15,790,791],{},"Both inputs reveal the same leaf and use the same control block:",[520,793,796],{"className":794,"code":795,"language":525},[523],"witness (both inputs share the same leaf and control block, each with its own signature):\n  \u003Csig, input 0> 0adf90fd381d4a13c3e73740b337b230701189ed94abcb4030781635f035e6d3b50b8506470a68292a2bc74745b7a5732a28254b5f766f09e495929ec308090b01\n  \u003Csig, input 1> 4636070d21adc8280735383102f7a0f5978cea257777a23934dd3b458b79bf388aca218e39e23533a059da173e402c4fc5e3375e1f839efb22e9a5c2a815b07301\n  \u003Cempty>\n  \u003Cleaf> 20c13e6d193f5d04506723bd67abcc5d31b610395c445ac6744cb0a1846b3aabaeac20b0e2e48ad7c3d776cf6f2395c504dc19551268ea7429496726c5d5bf72f9333cba519c\n  \u003Ccontrol block> c00000000000000000000000000000000000000000000000000000000000000001\n",[31,797,795],{"__ignoreMap":528},[15,799,800,801,804,805,808,809,811,812,673],{},"Decoded leaf, a 1-of-2 using ",[31,802,803],{},"OP_CHECKSIGADD",", the new opcode tapscript introduced (",[31,806,807],{},"OP_CHECKMULTISIG"," is disabled under Taproot, so multisig is rebuilt from ",[31,810,672],{}," and ",[31,813,803],{},[520,815,818],{"className":816,"code":817,"language":525},[523],"OP_PUSHBYTES_32 c13e6d193f5d04506723bd67abcc5d31b610395c445ac6744cb0a1846b3aabae\nOP_CHECKSIG\nOP_PUSHBYTES_32 b0e2e48ad7c3d776cf6f2395c504dc19551268ea7429496726c5d5bf72f9333c\nOP_CHECKSIGADD\nOP_1\nOP_NUMEQUAL\n",[31,819,817],{"__ignoreMap":528},[15,821,822,823,826,827,831],{},"Notice the control block's internal key is ",[31,824,825],{},"0x0000…0001",", a publicly known key. That is a close cousin of the ",[19,828,830],{"href":829},"\u002F2026-05-29-secp256k1-nums-public-keys","NUMS keys I wrote about earlier",": a key chosen so nobody is meant to use the key path.",[15,833,834,299],{},[31,835,836],{},"OP_RETURN gm taproot 🥕 https:\u002F\u002Fbitcoindevkit.org",[503,838,840,841],{"id":839},"_9-a484bf1f3c5be1239bde94c94a58d1d02ebe0bf9a363401db27cd517e4566f05","9. ",[19,842,845],{"href":843,"rel":844},"https:\u002F\u002Fmempool.space\u002Ftx\u002Fa484bf1f3c5be1239bde94c94a58d1d02ebe0bf9a363401db27cd517e4566f05",[23],[31,846,847],{},"a484bf1f3c5be1239bde94c94a58d1d02ebe0bf9a363401db27cd517e4566f05",[15,849,850],{},[36,851,852],{},"Script path (BitGo).",[520,854,857],{"className":855,"code":856,"language":525},[523],"witness:\n  \u003Csig A> 30b7a5159d8d1f85b3dc2d0b7eab8aed9e7a379ab26cd586e5bbe59a524567eecabb25dedc60cce4bb2802c9fd4638695a42daa93b8c6bdb1a9007a59d88c000\n  \u003Csig B> d28b520400181a40eed41f00d037f95644a7af30673894b891c44e4283af642d3f635cc3ad1e6375817a3c85210b75111b20f4cda12aec3fa2ffb6ec921821c9\n  \u003Cleaf>  204a9ade5636bd797bddf242ca6ed3f348478fad5a33ad8c27c4abc0e6837af6fead20f2c370aa8773215d0c7fee0ea5c41fe82fe8ab9345d24a30f3e9f679d3e98b5aac\n  \u003Ccontrol block> c0955ee08652bdd64ad544a9f224ea44117e83a91d8d095a2308169970a588b1cb483cec0a34593ef360f0ef0cf806bac208b5ea79ca535fb736c158649a708cbe\n",[31,858,856],{"__ignoreMap":528},[15,860,861],{},"Decoded leaf, another 2-of-2:",[520,863,866],{"className":864,"code":865,"language":525},[523],"OP_PUSHBYTES_32 4a9ade5636bd797bddf242ca6ed3f348478fad5a33ad8c27c4abc0e6837af6fe\nOP_CHECKSIGVERIFY\nOP_PUSHBYTES_32 f2c370aa8773215d0c7fee0ea5c41fe82fe8ab9345d24a30f3e9f679d3e98b5a\nOP_CHECKSIG\n",[31,867,865],{"__ignoreMap":528},[15,869,870,299],{},[31,871,872],{},"OP_RETURN ∞\u002F21million. Thanks Satoshi! —BitGo",[503,874,876,877],{"id":875},"_10-0bf67b1f05326afbd613e11631a2b86466ac7e255499f6286e31b9d7d889cee7","10. ",[19,878,881],{"href":879,"rel":880},"https:\u002F\u002Fmempool.space\u002Ftx\u002F0bf67b1f05326afbd613e11631a2b86466ac7e255499f6286e31b9d7d889cee7",[23],[31,882,883],{},"0bf67b1f05326afbd613e11631a2b86466ac7e255499f6286e31b9d7d889cee7",[15,885,886],{},[36,887,852],{},[520,889,892],{"className":890,"code":891,"language":525},[523],"witness:\n  \u003Csig A> 8b5d395e1243db20e0eb7d420bdaf97c41310ff89a686dac1d03b0d0e99abdba434cde63d629188f31b2fcb734c7a2ba70a1355bc937a7bd0b1b0727bd45259f\n  \u003Csig B> 1d55ca777fe1438e1445b2c7c04adbe10eb0c8d31e312d96fe12835274236e2438e11e46fee41b3f051ec38239f0a8a8dba6639f331e8db4811783fa4e9a1d28\n  \u003Cleaf>  20e70c0f05cb00d2e12ec982b2a1235455b998f8d1411ac213099ea824f52ede0aad20224cf0890ad9f9a5e7510fb2fbe3bb48d2b95c213338beea805cb61ef9ca444dac\n  \u003Ccontrol block> c08208faad31279e7ff9cd930cde603337c1f99edf80ca9fed8fe4580ed9f08e18e9387d54e1fc4bf93de54ef4d4c7f0113a3d6f80a6f5e82f286b4235866eb884\n",[31,893,891],{"__ignoreMap":528},[15,895,707],{},[520,897,900],{"className":898,"code":899,"language":525},[523],"OP_PUSHBYTES_32 e70c0f05cb00d2e12ec982b2a1235455b998f8d1411ac213099ea824f52ede0a\nOP_CHECKSIGVERIFY\nOP_PUSHBYTES_32 224cf0890ad9f9a5e7510fb2fbe3bb48d2b95c213338beea805cb61ef9ca444d\nOP_CHECKSIG\n",[31,901,899],{"__ignoreMap":528},[15,903,904],{},"Same as #9.",[15,906,907,299],{},[31,908,872],{},[503,910,912,913],{"id":911},"_11-f641d5cec89bba69b862f33385d7889cde3a8cf9c7bbc5d30ae609aa06e706c1","11. ",[19,914,917],{"href":915,"rel":916},"https:\u002F\u002Fmempool.space\u002Ftx\u002Ff641d5cec89bba69b862f33385d7889cde3a8cf9c7bbc5d30ae609aa06e706c1",[23],[31,918,919],{},"f641d5cec89bba69b862f33385d7889cde3a8cf9c7bbc5d30ae609aa06e706c1",[15,921,922],{},[36,923,924],{},"Script path.",[520,926,929],{"className":927,"code":928,"language":525},[523],"witness:\n  \u003Csig A> fcdb234c61fbcebd1fcdf93b05083dafcf6fe9cc6ffa62b4660ed7ef89fac13dc6c2c42586dc05c1e51b31355c0deac7e3d369f035b05f5787b030c239a457b701\n  \u003Csig B> 9080342e3b16fd66e9726e309ebd32c39ab7a5ea2aa23dfd617abfd3960dccf416cd59ac74cb3fdb4a82840082e89d1de1de6e75fb3ecfabd8d3c83c2f755441\n  \u003Cleaf>  200e0e397c9ac6ec9a33a8799a62158a8431c46caf9b187156629e413c142f9741ad204405144efe565453af97794826a9588e9deb146bf337c10bdb6458069a49ec73ac\n  \u003Ccontrol block> c0fe5ef3dedf023576e0d4caee61cedab6dfd686c01a8fa71c9df10acc3937540f91d66c656a8b4c87a1b78c2f98096336152558b8d342ea5b11ef9d49b79011c5\n",[31,930,928],{"__ignoreMap":528},[15,932,707],{},[520,934,937],{"className":935,"code":936,"language":525},[523],"OP_PUSHBYTES_32 0e0e397c9ac6ec9a33a8799a62158a8431c46caf9b187156629e413c142f9741\nOP_CHECKSIGVERIFY\nOP_PUSHBYTES_32 4405144efe565453af97794826a9588e9deb146bf337c10bdb6458069a49ec73\nOP_CHECKSIG\n",[31,938,936],{"__ignoreMap":528},[15,940,941,942,299],{},"No ",[31,943,367],{},[503,945,947,948],{"id":946},"_12-445f592c71e364670ecf8d168eb651319d1fc17527df7addd35aa09555733cd6","12. ",[19,949,952],{"href":950,"rel":951},"https:\u002F\u002Fmempool.space\u002Ftx\u002F445f592c71e364670ecf8d168eb651319d1fc17527df7addd35aa09555733cd6",[23],[31,953,954],{},"445f592c71e364670ecf8d168eb651319d1fc17527df7addd35aa09555733cd6",[15,956,957],{},[36,958,959],{},"Script path (anyone-can-spend leaf).",[520,961,964],{"className":962,"code":963,"language":525},[523],"witness:\n  \u003Cleaf>  51\n  \u003Ccontrol block> c00000000000000000000000000000000000000000000000000000000000000001\n",[31,965,963],{"__ignoreMap":528},[15,967,968,969,972,973,976],{},"The revealed leaf is a single byte, ",[31,970,971],{},"0x51",", which is ",[31,974,975],{},"OP_1",":",[520,978,981],{"className":979,"code":980,"language":525},[523],"OP_1\n",[31,982,980],{"__ignoreMap":528},[15,984,985,986,988,989,299],{},"That is an always-true script, so the leaf is effectively anyone-can-spend, and again the internal key is the well-known ",[31,987,825],{},". No signature needed, no ",[31,990,367],{},[503,992,994,995],{"id":993},"_13-e4a0b6763cdf1483054068e951a67ec1ea20eb6a39ca3903b8248fc7b3dcb89c","13. ",[19,996,999],{"href":997,"rel":998},"https:\u002F\u002Fmempool.space\u002Ftx\u002Fe4a0b6763cdf1483054068e951a67ec1ea20eb6a39ca3903b8248fc7b3dcb89c",[23],[31,1000,1001],{},"e4a0b6763cdf1483054068e951a67ec1ea20eb6a39ca3903b8248fc7b3dcb89c",[15,1003,1004],{},[36,1005,518],{},[520,1007,1010],{"className":1008,"code":1009,"language":525},[523],"witness:\n  91677848e270b88de3df0d6ccd9b21a8ae8abd7e17dee47f2a0fa1673f540647\n  29eef2ed7382776b23982a038054ce144fcb5594509ac96553c8a3aa301985b0\n",[31,1011,1009],{"__ignoreMap":528},[15,1013,1014,1015,299],{},"Single 64-byte Schnorr signature. No ",[31,1016,367],{},[503,1018,1020,1021],{"id":1019},"_14-2f81a1057be3e70231575dde884fdf961172ed17dedab463f08fefc4a48d2dad","14. ",[19,1022,1025],{"href":1023,"rel":1024},"https:\u002F\u002Fmempool.space\u002Ftx\u002F2f81a1057be3e70231575dde884fdf961172ed17dedab463f08fefc4a48d2dad",[23],[31,1026,1027],{},"2f81a1057be3e70231575dde884fdf961172ed17dedab463f08fefc4a48d2dad",[15,1029,1030],{},[36,1031,518],{},[520,1033,1036],{"className":1034,"code":1035,"language":525},[523],"witness:\n  77d1d389eb3b4af619d611b5af135426052c92bfb2e9d5a49f6c7d73d8f011a5\n  50128d1fe36cbcbbfdc905b41cae9c56cebc626fa667d7d9ed9d67d6b00465b201\n",[31,1037,1035],{"__ignoreMap":528},[15,1039,1040,1041,299],{},"Single 65-byte Schnorr signature. No ",[31,1042,367],{},[503,1044,1046,1047],{"id":1045},"_15-d3eccbf9363424016130eacc13f8f9523553fd01a335cce1047b1e331de811ff","15. ",[19,1048,1051],{"href":1049,"rel":1050},"https:\u002F\u002Fmempool.space\u002Ftx\u002Fd3eccbf9363424016130eacc13f8f9523553fd01a335cce1047b1e331de811ff",[23],[31,1052,1053],{},"d3eccbf9363424016130eacc13f8f9523553fd01a335cce1047b1e331de811ff",[15,1055,1056],{},[36,1057,518],{},[520,1059,1062],{"className":1060,"code":1061,"language":525},[523],"witness:\n  fed8253bf7989361f3baa8570b4efdb567439f3e8e72ebae35ebdc823fc7c923\n  6793f595a3598bf49eca92389c604aa64538232fde79ab5323b956b48a8a073e\n",[31,1063,1061],{"__ignoreMap":528},[15,1065,1014,1066,299],{},[31,1067,367],{},[503,1069,1071,1072],{"id":1070},"_16-01932656b78fddd4a2b05d099c9032fc429cfa63ec3828cb601c620834acf081","16. ",[19,1073,1076],{"href":1074,"rel":1075},"https:\u002F\u002Fmempool.space\u002Ftx\u002F01932656b78fddd4a2b05d099c9032fc429cfa63ec3828cb601c620834acf081",[23],[31,1077,1078],{},"01932656b78fddd4a2b05d099c9032fc429cfa63ec3828cb601c620834acf081",[15,1080,1081],{},[36,1082,518],{},[520,1084,1087],{"className":1085,"code":1086,"language":525},[523],"witness:\n  bec608d4cba3a5cc62e5f23f93dc10890b1f56a086fbfd59f4786f6f70a25101\n  4dd3fb29cab7727bb9a52339100b9fea494b4727e9d9b67f44cbeef44f6f8b28\n",[31,1088,1086],{"__ignoreMap":528},[15,1090,1014,1091,299],{},[31,1092,367],{},{"title":528,"searchDepth":1094,"depth":1094,"links":1095},2,[1096,1099,1101,1103,1105,1107,1109,1111,1113,1115,1117,1119,1121,1123,1125,1127],{"id":505,"depth":1097,"text":1098},3,"1. 33e794d097969002ee05d336686fc03c9e15a597c1b9827669460fac98799036",{"id":539,"depth":1097,"text":1100},"2. 37777defed8717c581b4c0509329550e344bdc14ac38f71fc050096887e535c8",{"id":573,"depth":1097,"text":1102},"3. 83c8e0289fecf93b5a284705396f5a652d9886cbd26236b0d647655ad8a37d82",{"id":643,"depth":1097,"text":1104},"4. 905ecdf95a84804b192f4dc221cfed4d77959b81ed66013a7e41a6e61e7ed530",{"id":687,"depth":1097,"text":1106},"5. aba317fc0b85563625389947a6ff532f849d09b1224acc56a6e72ea5231849d4",{"id":721,"depth":1097,"text":1108},"6. de1dd38997b0e27b7b1d2db376c1438e24d10b2502e423786dccc83510f805d0",{"id":748,"depth":1097,"text":1110},"7. bbc2e707dbc68db35dbada9be9d9182e546ee9302dc0a5cdd1a8dc3390483620",{"id":775,"depth":1097,"text":1112},"8. 2eb8dbaa346d4be4e82fe444c2f0be00654d8cfd8c4a9a61b11aeaab8c00b272",{"id":839,"depth":1097,"text":1114},"9. a484bf1f3c5be1239bde94c94a58d1d02ebe0bf9a363401db27cd517e4566f05",{"id":875,"depth":1097,"text":1116},"10. 0bf67b1f05326afbd613e11631a2b86466ac7e255499f6286e31b9d7d889cee7",{"id":911,"depth":1097,"text":1118},"11. f641d5cec89bba69b862f33385d7889cde3a8cf9c7bbc5d30ae609aa06e706c1",{"id":946,"depth":1097,"text":1120},"12. 445f592c71e364670ecf8d168eb651319d1fc17527df7addd35aa09555733cd6",{"id":993,"depth":1097,"text":1122},"13. e4a0b6763cdf1483054068e951a67ec1ea20eb6a39ca3903b8248fc7b3dcb89c",{"id":1019,"depth":1097,"text":1124},"14. 2f81a1057be3e70231575dde884fdf961172ed17dedab463f08fefc4a48d2dad",{"id":1045,"depth":1097,"text":1126},"15. d3eccbf9363424016130eacc13f8f9523553fd01a335cce1047b1e331de811ff",{"id":1070,"depth":1097,"text":1128},"16. 01932656b78fddd4a2b05d099c9032fc429cfa63ec3828cb601c620834acf081","2026-06-17","The story behind block 709,635: how a 2017 SegWit message inspired me, a few Brazilians on a Discord call the night Taproot activated, and a full breakdown of all 16 P2TR spends in the block that carried the very first ones.","md",{},true,"\u002F2026-06-17-first-bitcoin-taproot-spend-transactions",{"title":5,"description":1130},"2026-06-17-first-bitcoin-taproot-spend-transactions","2pPT2fZoisqRS5WNjOxC99b5wsXoDYjDO1yd77tqwFc",1781730132461]