News

Chain code delegation: signing without seeing the wallet

A multisig co-signer normally has to be handed an xpub, which shows them every address and every balance in the wallet. BIP-89 hands over a per-input tweak instead, and it has now been marked as deployed.

3 min readKey Derivation
Chain code delegation: signing without seeing the wallet

What happened

On 13 August 2026, BIP-89 "Chain Code Delegation", by Jesse Posner and Jurvis Tan, was advanced to Deployed status in Bitcoin's proposal repository. The pull request that moved it carries the evidence that status requires: "Chain code delegation was rolled out and deployed to all Bitkey customers on November 4th, 2025." It is an applications-layer specification, so nothing about the network changed on that date.

What it changes

The problem it addresses is the ordinary way a multisig wallet is set up. To co-sign, every participant is handed an extended public key, an xpub - or a descriptor containing them. The BIP's motivation states the consequence plainly: "In multisig deployments, sharing extended public keys (xpubs) or descriptors enables all participants to scan the chain and infer counterparties' activity."

That is worth unpacking, because the leak is bigger than it sounds. An xpub is an ordinary public key from an asymmetric keypair with one extra 32-byte value attached: the chain code. The chain code is the ingredient that lets anyone holding it derive the next child public key, and the one after that, without limit. Give a collaborative-custody provider an xpub so they can hold one key of a 2-of-3, and you have also given them the ability to enumerate every address that branch will ever produce, and to look up all of them on the chain.

Chain code delegation withholds the chain code and replaces it with a per-input scalar tweak, handed over at the moment of signing. The co-signer holds what the specification calls a non-extended keypair, and receives only "the minimum per-spend data needed to sign". They can verify and sign the input in front of them. They cannot derive the next address, because they were never given the thing that derives addresses.

What it does not change

The co-signer still sees what it signs. This buys privacy against enumeration of the whole wallet, not invisibility, the inputs, amounts and destination of a transaction that is actually being co-signed are exactly as visible as before.

It is also not a security improvement. The quorum is unchanged, and a co-signer's key is worth precisely what it was worth yesterday to anyone who steals it. The asymmetry is deliberate and runs one way: the privileged participant still sees everything, so this protects a wallet owner from their provider and never the reverse.

And Deployed is a claim about the specification, not about your wallet. BIP-3 defines the status as reachable "upon request by any community member with evidence that the BIP is in active use" - here, one product, since November 2025. A wallet that does not implement it did not gain anything on 13 August.

Context

The tradeoff is the interesting part, and it is the same one that runs through multisig generally: a participant who cannot derive your addresses also cannot independently reconstruct the wallet from their key alone. Deciding whether that matters means knowing what each key holder in your setup is expected to do in a recovery, which is a question worth answering before the setup rather than during it.

Newsletter

Bitcoin, without the noise

What happened in Bitcoin, what it actually changes, and the sources so you can check us. One issue at a time, straight to your inbox.

  • One email per issue, never a drip campaign
  • No tracking pixels and no shared addresses
  • Unsubscribe from any issue in one click

Get the next issue

One email per issue, no tracking pixels, and unsubscribe from any of them. We do not share your address. Privacy policy