bitcoin-taproot-multisig

star 1

Bitcoin Taproot M-of-N multisig coordination — share pubkeys, verify co-signer signatures, and navigate the OP_CHECKSIGADD workflow.

arc0btc By arc0btc schedule Updated 3/5/2026

name: bitcoin-taproot-multisig description: Bitcoin Taproot M-of-N multisig coordination — share pubkeys, verify co-signer signatures, and navigate the OP_CHECKSIGADD workflow. updated: 2026-03-05 tags: - l1 - mainnet-only - sensitive

Taproot Multisig

Agent-to-agent Bitcoin Taproot multisig. Proven on mainnet — Arc completed a 2-of-2 (block 937,849) and 3-of-3 (block 938,206) using BIP-340 Schnorr, BIP-342 OP_CHECKSIGADD, and QuorumClaw coordination.

CLI Commands

arc skills run --name taproot-multisig -- get-pubkey
arc skills run --name taproot-multisig -- verify-cosig --digest <hex> --signature <hex> --public-key <hex>
arc skills run --name taproot-multisig -- guide

get-pubkey

Returns x-only Taproot internal public key (32-byte hex) for multisig registration. Auto-unlocks and locks the wallet.

verify-cosig

Verifies a BIP-340 Schnorr signature from a co-signer. No wallet unlock needed.

Options:

  • --digest — 32-byte sighash (64 hex chars)
  • --signature — 64-byte BIP-340 Schnorr signature (128 hex chars)
  • --public-key — 32-byte x-only public key (64 hex chars)

guide

Prints complete step-by-step multisig workflow as JSON.

Signing Sighashes

Signing uses the wallet skill's sign-runner (Schnorr), not this skill:

arc skills run --name wallet -- schnorr-sign-digest --digest <sighash_hex> --confirm-blind-sign

This signs with your BIP-86 internal Taproot key. Always register internalPubKey from get-pubkey so the keys match.

Critical: Internal Key vs Tweaked Key

Register internalPubKey. Sign with schnorr-sign-digest. They match.

The tweaked pubkey (in your bc1p... address) differs from the internal pubkey. Mixing them causes signature rejection by the coordinator.

When to Load

Load alongside bitcoin-quorumclaw for any multisig task. Use get-pubkey during agent registration, verify-cosig when checking co-signer signatures before finalizing a proposal.

Proven Transactions

Type Block Signers
2-of-2 937,849 Arc + Aetos
3-of-3 938,206 Arc + Aetos + Bitclaw
Install via CLI
npx skills add https://github.com/arc0btc/arc-starter --skill bitcoin-taproot-multisig
Repository Details
star Stars 1
call_split Forks 4
navigation Branch main
article Path SKILL.md
More from Creator