<p>I believe this is possible, but with a subtle difference to how OP suggests. </p>

<p>OP seems to want: funds are first signed off by the multisig address, then a transaction is broadcast moving the funds to [destination]. </p>

<p>It's not possible for a destination script to stipulate where the funds can end up. A new opcode could introduce that feature, but we can do this a different way.</p>

<p>I would argue this no weaker than having a transaction between the two destinations (as OP envisioned). In either case the multisig participants could hold the funds to ransom before the end user can move them. </p>

<pre><code>Multisig: 2 [pubkey1] [pubkey2] 3 CHECKMULTISIG
Destination: DUP HASH160 [hash] EQUALVERIFY CHECKSIG
</code></pre>

<p>Since we cannot lock funds so they are released to a certain destination, we just merge the two scripts, allowing predefined party to take control only when the multisig is solved. He would propose a spend to the others, they sign, then he signs (it can be done in any order)</p>

<p>The scriptPubKey (or P2SH script) would then look like this: </p>

<pre><code> 2 [pubkey1] [pubkey2] 3 CHECKSIG DUP HASH160 [hash] EQUALVERIFY CHECKSIG
</code></pre>

<p>And the scriptSig: </p>

<pre><code> [sig1] [sig2] [sigA] [pubkeyA]
</code></pre>

CC BY-SA 3.0
2016-05-12T16:54:28.390Z
Re ransom/theft: In the predetermined address case, they would refuse to sign release unless they are paid 1BTC. In my case, they would only sign a transaction if x% goes to their address.
karimkorun
CC BY-SA 3.0
2016-05-12T16:52:30.670Z
2016-05-12T16:52:30.670Z
karimkorun
<p>Is it possible to create a type of redemption script that when the correct number of signatures are collected pays out to a pre-defined address ?</p>

CC BY-SA 3.0
2015-07-28T12:20:05.910Z
And who would be able to sign? If anyone can sign, this is trivial to game. Otherwise it is [multisig](http://bitcoin.stackexchange.com/a/3729/5406)?
Murch
CC BY-SA 3.0
2015-07-29T09:53:31.907Z
Yes it would be multi sig. Basically a multi sig address that only pays out to a pre-determined bitcoin address.

This would be useful as a secure bitcoin vault. Even if the key holders collude. The destination can't be changed. You could then create a hierarchy of wallets with different approval levels.
Ian Purton
CC BY-SA 3.0
2015-07-29T21:46:05.070Z
Ah, sorry, I had overread the "pre-defined address" part. Carry on. :)
Murch
<p2sh>
P2SH that pays out only to a certain Bitcoin address?
Ian Purton
# P2SH that pays out only to a certain Bitcoin address?

(Asked by: username_0 on 2015-07-27)

Is it possible to create a type of redemption script that when the correct number of signatures are collected pays out to a pre-defined address ?

**Tags:** p2sh

> **Comments:**
> **username_1**: And who would be able to sign? If anyone can sign, this is trivial to game. Otherwise it is [multisig](http://bitcoin.stackexchange.com/a/3729/5406)?  
> **username_0**: Yes it would be multi sig. Basically a multi sig address that only pays out to a pre-determined bitcoin address.  This would be useful as a secure bitcoin vault. Even if the key holders collude. The destination can't be changed. You could then create a hierarchy of wallets with different approval levels.  
> **username_1**: Ah, sorry, I had overread the "pre-defined address" part. Carry on. :)  

---

## 1 answers

### Answer by username_2 on 2016-05-12. Score: 1

I believe this is possible, but with a subtle difference to how OP suggests.

OP seems to want: funds are first signed off by the multisig address, then a transaction is broadcast moving the funds to [destination].

It's not possible for a destination script to stipulate where the funds can end up. A new opcode could introduce that feature, but we can do this a different way.

I would argue this no weaker than having a transaction between the two destinations (as OP envisioned). In either case the multisig participants could hold the funds to ransom before the end user can move them.

```
Multisig: 2 [pubkey1] [pubkey2] 3 CHECKMULTISIG
Destination: DUP HASH160 [hash] EQUALVERIFY CHECKSIG

```

Since we cannot lock funds so they are released to a certain destination, we just merge the two scripts, allowing predefined party to take control only when the multisig is solved. He would propose a spend to the others, they sign, then he signs (it can be done in any order)

The scriptPubKey (or P2SH script) would then look like this:

```
 2 [pubkey1] [pubkey2] 3 CHECKSIG DUP HASH160 [hash] EQUALVERIFY CHECKSIG

```

And the scriptSig:

```
 [sig1] [sig2] [sigA] [pubkeyA]

```

> **Comments:**
> **username_2**: Re ransom/theft: In the predetermined address case, they would refuse to sign release unless they are paid 1BTC. In my case, they would only sign a transaction if x% goes to their address.  

---

