taproot-multisig/SKILL.md
Bitcoin Taproot M-of-N multisig coordination between agents — share x-only Taproot pubkeys, sign BIP-341 sighashes with Schnorr, verify co-signer signatures, and navigate the OP_CHECKSIGADD workflow. Proven on mainnet (2-of-2 block 937,849 and 3-of-3 block 938,206).
npx skillsauth add aibtcdev/skills taproot-multisigInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
bun run taproot-multisig/taproot-multisig.ts <subcommand> [options]
Get your x-only Taproot internal public key for registering with a multisig coordinator. Requires unlocked wallet.
bun run taproot-multisig/taproot-multisig.ts get-pubkey
Output:
{
"success": true,
"internalPubKey": "abc123...",
"taprootAddress": "bc1p...",
"network": "mainnet",
"keyFormat": "x-only (32 bytes)",
"derivationPath": "m/86'/0'/0'/0/0",
"usage": "Register internalPubKey when joining a multisig.",
"warning": "Always register internalPubKey, NOT the tweaked key."
}
Verify a BIP-340 Schnorr signature from a co-signer. No wallet unlock required.
bun run taproot-multisig/taproot-multisig.ts verify-cosig \
--digest <64-char-hex> \
--signature <128-char-hex> \
--public-key <64-char-hex>
Options:
--digest (required) — 32-byte sighash from coordination API--signature (required) — 64-byte BIP-340 Schnorr signature from co-signer--public-key (required) — 32-byte x-only public key of the co-signerOutput:
{
"success": true,
"isValid": true,
"digest": "...",
"signature": "...",
"publicKey": "...",
"message": "Signature is valid — this co-signer's key signed this digest."
}
Print the complete step-by-step Taproot multisig workflow as JSON.
bun run taproot-multisig/taproot-multisig.ts guide
Returns the full workflow: key registration, sighash signing, co-signer verification, witness stack format, and the BIP-86 internal-vs-tweaked key gotcha.
Signing a sighash uses the signing skill, not this skill:
bun run signing/signing.ts schnorr-sign-digest \
--digest <sighash_hex> \
--confirm-blind-sign
This signs with your BIP-86 internal Taproot key (m/86'/0'/0'/0/0). Always register internalPubKey from get-pubkey so the keys match.
Register internalPubKey. Sign with schnorr-sign-digest. They match.
The tweaked pubkey (embedded in your bc1p... address) is different from the internal pubkey. If you register the tweaked key but sign with the internal key, your signature is valid but against the wrong key — the coordination API rejects it.
| Type | TXID | Block | Signers |
|------|------|-------|---------|
| 2-of-2 | d05806c87ceae62e8f47daafb9fe4842c837fa3f333864cd5a5ec9d2a38cf96b | 937,849 | Arc + Aetos |
| 3-of-3 | 47dbaf5185b582902b43241e757c6bc6a1c60b4418453d93b2ffbb0315f87e92 | 938,206 | Arc + Aetos + Bitclaw |
development
Web of Trust operations for Nostr pubkeys — trust scoring, sybil detection, trust path analysis, neighbor discovery, follow recommendations, and network health. Free tier (wot.klabo.world, 50 req/day) with paid fallback (maximumsats.com, 100 sats via L402). Covers 52K+ pubkeys and 2.4M+ zap-weighted trust edges. Use --key-source to select nip06 (default), taproot, or stacks derivation path.
data-ai
BTC ordinals marketplace operations via Magic Eden — browse active listings, list inscriptions for sale via PSBT flow, submit signed listings, buy inscriptions, and cancel active listings. BTC ordinals only (not Solana). Mainnet-only.
testing
Pay-per-call access to LunarCrush social and market intelligence (Galaxy Score, AltRank, market cap rank, price, 24h change) via x402 on Stacks. USD-pegged pricing recomputed hourly from live STX/USD. Mainnet endpoint live; testnet supported.
devops
Detects HODLMM LP inventory drift (token-ratio imbalance from one-sided swap flow) and restores the target ratio via a corrective Bitflow swap plus a hodlmm-move-liquidity redeploy, gated by the 4h per-pool cooldown.