Is it possible to create an address such that different parties can spend certain portions of any output spent to that address?

R: 1zaybxcrandrelayexampaddr 
A: 1xyzabcrandexampladdressa 97%
B: 1cbaxyzrandexampladdressb 3%

Such that ex.gr. A can spend 97% of any output that is spent to the relay address and B can spend 3% of any output that is spent to the relay address.

Would it be possible to do this transitively, to arbitrary depth? Where A or B could be relay addresses (and their component parties in turn also could be relay addresses)?

Would it be possible to do this with arbitrary breadth with an arbitrary number of parties composing a relay address?

1 Answer 1


Related: In the bitcoin scripting language, how can I access other outputs of the transaction? Or how else can I limit how the coins may be spent?

You cannot create your specified spend conditions with Bitcoin script directly, because you cannot specify the nature of a future output within an input's script. Put differently, an input's script cannot define the outputs created from it.

You could perhaps achieve a similar result using a multisig address, and a third party 'rule engine' signer or similar (credit to @RaghavSood in the answer I linked to above), but it is not possible to program a Bitcoin address to behave this way independently.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.