<p>No, this is not possible - once an outpoint is consumed by a transaction, it is considered spent, including within the same transaction.</p>

<p>Your only option here would be to have an intermediary transaction splitting A (or using another input), and then using the two outputs from that as inputs along with <code>SIGHASH_SINGLE | SIGHASH_ANYONECANPAY</code> for your flags.</p>

<pre><code>A -&gt; A1
 \-&gt; A2

A1 -&gt; B
A2 -&gt; C
D  -&gt; E
</code></pre>

<p>Note that SIGHASH_SINGLE signs a single <em>output</em> and all of the inputs. If you want someone else to be able to add inputs, you need the <code>ANYONECANPAY</code> flag as well</p>

CC BY-SA 4.0
2020-01-20T22:46:22.520Z
2020-01-20T22:46:22.520Z
Raghav Sood
<p>For example, could you have the following transaction:</p>

<p>A --> B <br>
A --> C</p>

<p>Where A is an input txid and index, and B and C are outputs? The reason I'm asking is because I believe with SIGHASH_SINGLE you can only sign one input and one output, so this would be a way to use the same input to spend to two outputs. It would be the equivalent of sighash 'double', if it existed. </p>

<p>For example, to have a transaction like this:</p>

<p>A --> B<br>
A --> C<br>
D --> E</p>

<p>Where the D --> E input and output could be added after the first two inputs had been signed. Is there any other way to achieve this?</p>

<transaction-input><sighash-flags><sighash>
Is it possible to reference an input outpoint more than once in a transaction?
Darius
# Is it possible to reference an input outpoint more than once in a transaction?

(Asked by: username_0 on 2020-01-20)

For example, could you have the following transaction:

A --> B   
A --> C

Where A is an input txid and index, and B and C are outputs? The reason I'm asking is because I believe with SIGHASH\_SINGLE you can only sign one input and one output, so this would be a way to use the same input to spend to two outputs. It would be the equivalent of sighash 'double', if it existed.

For example, to have a transaction like this:

A --> B  
A --> C  
D --> E

Where the D --> E input and output could be added after the first two inputs had been signed. Is there any other way to achieve this?

**Tags:** transaction-input, sighash-flags, sighash


---

## 1 answers

### Answer by username_1 on 2020-01-20. Score: 1 | Accepted answer

No, this is not possible - once an outpoint is consumed by a transaction, it is considered spent, including within the same transaction.

Your only option here would be to have an intermediary transaction splitting A (or using another input), and then using the two outputs from that as inputs along with `SIGHASH_SINGLE | SIGHASH_ANYONECANPAY` for your flags.

```
A -> A1
 \-> A2

A1 -> B
A2 -> C
D  -> E

```

Note that SIGHASH\_SINGLE signs a single *output* and all of the inputs. If you want someone else to be able to add inputs, you need the `ANYONECANPAY` flag as well


---

