You usually would have multiple xpubs. For each participating key one, and you’d derive one subkey further down for each subsequent key. I.e. your first address would be key 0 on all three keychains, the second would be key 1 on all three keychains, etc.
I would suggest using a ranged output script descriptor instead, that way you could encode the entire output script template in one thing.
Much appreciated @Murch
reply