<p>No it is not possible to make an output that is only spendable to a specific address. Outputs that are spent have no effect on the outputs of the spending transaction. They are completely separate and independent on each other except for the amount that was spent.</p>

<p>An output's script only defines what the input script must be, and the input script has no effect on the output scripts of that transaction.</p>

CC BY-SA 3.0
2018-01-03T18:25:06.820Z
2018-01-03T18:25:06.820Z
Ava Chow
<p>As far as I know, the answer is no. </p>

<p>What you are suggesting would imply that an <code>UTXO</code> could affect the conditions in which the output of a transaction spending it would be built, but it can only affect how the input is built.</p>

<p><code>UTXOs</code> can define how they should be spent, but no how the resulting <code>UTXO</code> spending it will be created. </p>

CC BY-SA 3.0
2018-01-03T17:33:41.027Z
2018-01-03T18:38:18.933Z
2018-01-03T18:38:18.933Z
sr_gi
<p>This kind of thing is called a &quot;covenant transaction&quot;. It is not currently possible in bitcoin, however there are proposals to add this to bitcion and one of them will likely land sometime in the next few years. One is <a href="https://utxos.org/" rel="nofollow noreferrer">OP_CHECKTEMPLATEVERIFY</a> and another is <a href="https://github.com/fresheneesz/bip-efficient-bitcoin-vaults/blob/main/bip-constraindestination.md" rel="nofollow noreferrer">OP_CONSTRAINDESTINATION</a>.</p>

CC BY-SA 4.0
2021-07-13T17:34:25.680Z
2021-07-13T17:34:25.680Z
B T
<p>Not trustlessly, but if the source can trust you to destroy information or come up with a scheme where you wouldn't be able to view or save the private key, you could:</p>
<ol>
<li>Send to an address you have the private key for</li>
<li>Sign a transaction spending the output to the target address</li>
<li>Destroy the private key</li>
<li>Give your recipient the signed transaction.</li>
</ol>
<p>Of course, destroying the private key is the critical step here. Requires trust, creativity, or some cryptography based solution I am unaware of.</p>

CC BY-SA 4.0
2021-07-13T18:16:31.543Z
2021-07-13T18:16:31.543Z
hedgedandlevered
<p>Basically, the entire question fits into the title. Does the Bitcoin scripting language allow for a transaction output to only be spendable to a specific address? Is it possible to forbid all other spends? Is it possible to dictate that only that spend over a specified amount of money can happen such that the transaction fees cannot be chosen arbitrarily large? </p>

<p>If so, I suppose it's also possible to design an output script in such a way that it can be spent to a specific address (and only to this specific address) when a signature by a specific party is present, but to arbitrary addresses if that party's signature and also that of a specific other party is present. Should this for any reason not be possible, please let me know. This is what I'm mainly interested in.</p>

CC BY-SA 3.0
2018-01-03T16:42:03.377Z
I'm not sure if I'm getting exactly what you ask for, but whats the problem with a standard P2PKH script? There you are creating a script that can be spent only by that address.
sr_gi
CC BY-SA 3.0
2018-01-03T17:14:35.097Z
@sr-gi I'm asking whether you can design the UTXO's script in such a way that it is spendable only in such a way that the resulting UTXO belongs to a specific address.
UTF-8
CC BY-SA 3.0
2018-01-03T17:16:50.413Z
Oh, I get it, you mean that the UTXO would be spendable by anyone, by the resulting one of spending it will belong to an specific address. Am I right?
sr_gi
<transactions><script><output>
Is it possible to make an output only spendable to a specific address?
UTF-8
# Is it possible to make an output only spendable to a specific address?

(Asked by: username_0 on 2018-01-03)

Basically, the entire question fits into the title. Does the Bitcoin scripting language allow for a transaction output to only be spendable to a specific address? Is it possible to forbid all other spends? Is it possible to dictate that only that spend over a specified amount of money can happen such that the transaction fees cannot be chosen arbitrarily large?

If so, I suppose it's also possible to design an output script in such a way that it can be spent to a specific address (and only to this specific address) when a signature by a specific party is present, but to arbitrary addresses if that party's signature and also that of a specific other party is present. Should this for any reason not be possible, please let me know. This is what I'm mainly interested in.

**Tags:** transactions, script, output

> **Comments:**
> **username_1**: I'm not sure if I'm getting exactly what you ask for, but whats the problem with a standard P2PKH script? There you are creating a script that can be spent only by that address.  
> **username_0**: @sr-gi I'm asking whether you can design the UTXO's script in such a way that it is spendable only in such a way that the resulting UTXO belongs to a specific address.  
> **username_1**: Oh, I get it, you mean that the UTXO would be spendable by anyone, by the resulting one of spending it will belong to an specific address. Am I right?  

---

## 4 answers

### Answer by username_2 on 2018-01-03. Score: 1 | Accepted answer

No it is not possible to make an output that is only spendable to a specific address. Outputs that are spent have no effect on the outputs of the spending transaction. They are completely separate and independent on each other except for the amount that was spent.

An output's script only defines what the input script must be, and the input script has no effect on the output scripts of that transaction.


---

### Answer by username_1 on 2018-01-03. Score: 1

As far as I know, the answer is no.

What you are suggesting would imply that an `UTXO` could affect the conditions in which the output of a transaction spending it would be built, but it can only affect how the input is built.

`UTXOs` can define how they should be spent, but no how the resulting `UTXO` spending it will be created.


---

### Answer by username_3 on 2021-07-13. Score: 0

This kind of thing is called a "covenant transaction". It is not currently possible in bitcoin, however there are proposals to add this to bitcion and one of them will likely land sometime in the next few years. One is [OP\_CHECKTEMPLATEVERIFY](https://utxos.org/) and another is [OP\_CONSTRAINDESTINATION](https://github.com/fresheneesz/bip-efficient-bitcoin-vaults/blob/main/bip-constraindestination.md).


---

### Answer by username_4 on 2021-07-13. Score: 0

Not trustlessly, but if the source can trust you to destroy information or come up with a scheme where you wouldn't be able to view or save the private key, you could:

1. Send to an address you have the private key for
2. Sign a transaction spending the output to the target address
3. Destroy the private key
4. Give your recipient the signed transaction.

Of course, destroying the private key is the critical step here. Requires trust, creativity, or some cryptography based solution I am unaware of.


---

