← Back to all insights

Two people hold a 2-of-3 taproot multisig built with MuSig2 (BIP-327, BIP-390). They pay a silent payment address (BIP-352). Nobody holds the private key of the coin they spend, and a silent payment needs exactly that key. This page is the record of it happening on mainnet: every screen the two signers saw, every transaction, and how anyone can check it.

World first, as far as we can find

A MuSig2 multisig paying a silent payment address on chain

The design existed on paper (BIP-352's own footnote, and macgyver13's proposal with a draft Coldcard branch). We found no transaction on any network before this one. If you know of one, tell us and this line changes.

Proved · mainnet block 965485

Also first, same transaction

Multisig signers verifying a payment name on device

The recipient was a BIP-353 name. Both signers validated its DNSSEC proof themselves, from the root trust anchor down, before contributing anything.

Proved · same block

What this means if you hold bitcoin in a multisig

What the chain sees

one taproot input · one taproot output · one 64-byte signature

No multisig is visible. No sp1… address ever appears on chain; a silent payment address is never written anywhere but the payer's own wallet.

The transactions

NetworkSpendBlockOutput the recipient foundSize
Mainnete809314c820d10da3b911efc947031f01f9d0b3e19557605733c867b1572d332965485bc1pcnasn84eqqfve8sktfat65nww07z66u5eftzlj0a2dgvxx3klanqlz74k6111 vB
Bitsaga Signeteba1bb443e66d9560432e5ee8e24aacfa3c74356d763cc9eca7e793fbd0d012692601tb1pl04f5aqp0fax7jq3sqfyhc5we7s37ngwa8y3786hl8p6r9z3tatq3csga8111 vB
Regteste8854615af629f19b3ad110f84ec83baaa3f48a5ffb14e61951d4ebba52562e8340bcrt1pggk5lc7grxnkxelsmesj75txphqkjdr76te7uxcgcn8v8zvcre6ssft5d7111 vB

The spending input is the 2-of-3 coin at bc1p2ky0fhk8n88swkfxcemjwlyr87funhyfsyh040t3wza0ad402qjq42q0pd, funded by 1aa25dced4408f506ad11a8e9c855fd7b29bde07044790192ae8431ae1db8687. The recipient's silent payment address is sp1qq053744rl7pn5sx84z5yu7kx03dlxescex28agq7euwanatf45sfzqmhvlcgjfrfmj5mqde4rtnm6ggz6ye8gd2g9ltw8n5k725tg99ptseau3ru. It does not appear in either transaction; the output above was derived from it and from the input, and the recipient found it by scanning with its scan key, nothing else.

The screens

Two simulated SeedSigners, one seed each, in two separate browsers. The coordinator between them holds no key. Each signer scans the transaction three times.

The recipient is a name

The transaction pays musig2@silentpayments.net, a BIP-353 payment name. Its DNS record carries the silent payment address, and the PSBT carries the RFC 9102 DNSSEC proof of that record (2580 bytes). Each device validates the proof itself, from the root trust anchor down, and shows the name as verified only when the proof is valid, current, and covers exactly the address the output is derived from. A signer has no clock, so it takes its date from a timecode QR (oT260904130533, UTC). The rule is that the date comes from a second screen; in this run the coordinator was that second screen, so the date check proves the mechanism and not independence.

Step 1 of 3: a share and a proof

The output does not exist yet. The device shows who it is paying, and hands back its share of the Diffie-Hellman secret with a BIP-374 proof that the share was made with its own key.

Signer A: seed loaded
Signer A: seed loaded
Signer B: seed loaded
Signer B: seed loaded
Signer A: date taken from the timecode QR
Signer A: date taken from the timecode QR
Signer B: date taken from the timecode QR
Signer B: date taken from the timecode QR
Signer A reviews: the name, verified, the amount, the address
Signer A reviews: the name, verified, the amount, the address
Signer B reviews the same
Signer B reviews the same
Signer A: step 1 of 3, nothing signed
Signer A: step 1 of 3, nothing signed
Signer B: step 1 of 3, nothing signed
Signer B: step 1 of 3, nothing signed

Step 2 of 3: nonces

The coordinator has combined the two shares into the output script. Each device verifies the other signer's proof and recomputes the script before it publishes a nonce. The review now shows the derived taproot address.

Signer A reviews the derived output
Signer A reviews the derived output
Signer B reviews the derived output
Signer B reviews the derived output
Signer A: step 2 of 3, still nothing signed
Signer A: step 2 of 3, still nothing signed
Signer B: step 2 of 3
Signer B: step 2 of 3

Step 3 of 3: partial signatures

With both nonces in, each device verifies everything again and signs. Stock Bitcoin Core v31.1.0 aggregates the two partial signatures into the one Schnorr signature on chain, and relays it.

Signer A: signed
Signer A: signed
Signer B: signed
Signer B: signed
Signer A hands the transaction back
Signer A hands the transaction back
Signer B hands the transaction back
Signer B hands the transaction back

Found by someone else's code

The sender's own arithmetic finding its own output proves little. So the receive side was checked with software that knows nothing about MuSig2, PSBTs or shares: setavenger's blindbit-cli (Rust), pointed at our BlindBit Oracle and given only the recipient's scan key and spend public key, scanning block 965485.

2026-09-04T14:19:42.958942Z  INFO connecting to oracle service oracle_url=http://127.0.0.1:8011
2026-09-04T14:19:42.958986Z  INFO no existing state file, creating new scanner
2026-09-04T14:19:42.964059Z  INFO scanning blocks start=965485 end=965485
2026-09-04T14:19:42.970556Z  INFO probable match found txid=e809314c820d10da3b911efc947031f01f9d0b3e19557605733c867b1572d332
2026-09-04T14:19:43.003978Z  INFO received block from peer peer=127.0.0.1:8333 block_hash=00000000000000000000559c736df96712d1869641436c16874a4ab350ec4b46 tx_count=3268 elapsed_ms=13
2026-09-04T14:19:43.008680Z  INFO balance total=0.00049550 BTC confirmed=0.00049550 BTC trusted_pending=0 BTC untrusted_pending=0 BTC
2026-09-04T14:19:43.013950Z  INFO balance after scan total=0.00049550 BTC confirmed=0.00049550 BTC trusted_pending=0 BTC untrusted_pending=0 BTC
2026-09-04T14:19:43.014209Z  INFO saving scanner state path=/home/rob/.cache/tmp/musig-blindbit-state.json
2026-09-04T14:19:43.014826Z  INFO state saved
2026-09-04T14:19:43.014834Z  INFO scan completed successfully
exit 0

Why this needed new work

BIP-352 derives the recipient's output from the sum of the input private keys. For a taproot input that is the key behind the output key. In a MuSig2 key path no one has it; each signer has a share. Diffie-Hellman is linear, so the shares can be combined: each signer contributes d_i · B_scan, and the public KeyAgg coefficients, parity and tweaks turn the pieces into exactly what a single holder would have computed. BIP-352 itself sketches this in a footnote and says a proof may be needed.

The proof is the part that matters. A share nobody can check lets one co-signer send the money to an output the recipient will never find. That is a loss of funds, not a privacy leak. Each share here travels with a BIP-374 proof against the signer's own participant key, and every device verifies every other proof, and the output script built from them, before it lets a nonce or a signature out. A tampered share, a borrowed proof and a wrong script are each covered by a test that expects a refusal.

The PSBT fields are the ones macgyver13 proposed for exactly this case in Silent Payments from a MuSig2 Treasury (July 2026), with a draft Coldcard implementation: 0x21 for the partial share and 0x22 for its proof, keyed by scan key and participant key. Using the same fields means a Coldcard on that branch and this device could sit in the same 2-of-3. We found no earlier on-chain transaction of this kind on any network; if you know one, tell us and this page will say so.

What is not claimed

Check it yourself

Signers: fingerprints A 51b2ac0e, B ae2e215d, C 05c4677a (C never signed). Recipient R 91c1bf2e. Descriptor of the coin:

tr(musig([51b2ac0e/86h/0h/0h]xpub6BxBRQe31Zh57HuUBtqcJwnnZyKc4ucFTkWHRNZNhBC4rgMC3DhCJ5Kv5hoaBbkQ28KpGBQvL7XBnR8SSTimbwPX2pFpjKTFibNrVbcnzuE,[ae2e215d/86h/0h/0h]xpub6BiRes3J9ir1VWEsaRj3E8zsUpcbV4AA1ySfWWYpYWQVLVMwKHLAwNCoC7q2RDVH7mVfeNq8UgsoHgsxV5pkemSJr914BDwujN32GyqjvtF)/0/*,{pk(musig([51b2ac0e/86h/0h/0h]xpub6BxBRQe31Zh57HuUBtqcJwnnZyKc4ucFTkWHRNZNhBC4rgMC3DhCJ5Kv5hoaBbkQ28KpGBQvL7XBnR8SSTimbwPX2pFpjKTFibNrVbcnzuE,[05c4677a/86h/0h/0h]xpub6CLo3LtaYZhFJt4mUTGYgFGaFJ5NyXPk82boafvMTjbN84oXaT2FEyCnHG1mVSJ6RT3JyjeovW4qw6mR7TMdVfwVWAGS8vQY39AtqSnoa6v)/0/*),pk(musig([ae2e215d/86h/0h/0h]xpub6BiRes3J9ir1VWEsaRj3E8zsUpcbV4AA1ySfWWYpYWQVLVMwKHLAwNCoC7q2RDVH7mVfeNq8UgsoHgsxV5pkemSJr914BDwujN32GyqjvtF,[05c4677a/86h/0h/0h]xpub6CLo3LtaYZhFJt4mUTGYgFGaFJ5NyXPk82boafvMTjbN84oXaT2FEyCnHG1mVSJ6RT3JyjeovW4qw6mR7TMdVfwVWAGS8vQY39AtqSnoa6v)/0/*)})#ad0j2vv3

The final PSBTv2, with both shares, both proofs, both nonces and both partial signatures:

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

The transaction as broadcast:

020000000001018786dbe11a43e82a1990470407de9bb2d75f859c8e1ad16a508f40d4ce5da21a0100000000fdffffff018ec1000000000000225120c4fb099eb90012cc9e165a7abd526e73fc2d6b94ca562fc9fd5350c31a36ff66014002c8d41657f94da833f972bb522c373c83e8fcf05a9af56b5c53634bfe5ac143a5b57b593d34386f74fa5aab74f153217e9fe036439c5a02417ec0225ee8923f00000000

Code: firmware branch musig2 on bitsagarob/seedsigner (helpers musig2.py, musig2_psbt.py, musig2_session.py, musig2_sp.py and their tests), simulator build served unlisted beside the SeedSigner simulator at /seedsigner-simulator/musig/wallet.html?firmware=doomsigner-musig.

Mainnet spend confirmed 4 September 2026, block 965485. Regtest and Bitsaga Signet runs the same day. Every screen, transaction and proof on this page is reproducible from the repository.