<p>Related: <a href="https://bitcoin.stackexchange.com/questions/85723/in-the-bitcoin-scripting-language-how-can-i-access-other-outputs-of-the-transac">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?</a></p>

<p>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. </p>

<p>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.  </p>

CC BY-SA 4.0
2019-05-01T01:25:00.263Z
2019-05-01T01:25:00.263Z
chytrik
<p>Is it possible to create an address such that different parties can spend certain portions of any output spent to that address? </p>

<pre><code>R: 1zaybxcrandrelayexampaddr 
A: 1xyzabcrandexampladdressa 97%
B: 1cbaxyzrandexampladdressb 3%
</code></pre>

<p>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.</p>

<p>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)?</p>

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

<address><script><multi-signature><address-generation>
Are Relay Addresses Possible?
Kinnard Hockenhull
# Are Relay Addresses Possible?

(Asked by: username_0 on 2019-05-01)

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?

**Tags:** address, script, multi-signature, address-generation


---

## 1 answers

### Answer by username_1 on 2019-05-01. Score: 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?](https://bitcoin.stackexchange.com/questions/85723/in-the-bitcoin-scripting-language-how-can-i-access-other-outputs-of-the-transac)

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.


---

