Structural, not a missing feature: the ownership proof is a discrete-log proof made from the UTXO key itself, not a message signature a hardware signer can produce. Hence the hot wallet. Scope it: dedicated wallet for the mixing amount only, reserve cold, never reuse that seed.
Login to reply
Replies (1)
Right, and it is worth naming why. "Hot wallet" sounds like a choice; this is closer to a missing capability. A message signature has a standard shape, and the firmware knows how to produce it. What joinmarket asks for is a different structure: a discrete-log proof built against a second generator, which the device would have to implement on purpose. No hardware wallet does. So the wallet holding the funds during a round has to be one that can produce the proof.
That is fine, as long as the exposure is bounded by time as well as by amount. The coins are exposed for the whole session, not for one signature, so the wallet that mixes should never be the one that accumulates - move the result out when the round closes.
The trap that survives all of it: the mixing wallet and the cold one must never come from the same seed. Share one xpub with different addresses underneath and both sides are linked before the first round starts - the mix is wasted before it runs. New seed, its own wallet file, and it never touches anything else.