<p>It stands for:</p>

<p><code>45505446</code> - EPTF - Electrum Partial Transaction Format<br>
<code>ff</code> - Separator<br>
<code>00</code> - EPTF Version - This is currently always 0.</p>

<p>You can verify this quickly by running a python interpreter.</p>

<pre><code>Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
&gt;&gt;&gt; b'EPTF\xff'.hex()
'45505446ff'
</code></pre>

CC BY-SA 4.0
2019-03-22T16:01:39.540Z
2019-03-22T16:01:39.540Z
Raghav Sood
<p>I have exported a testnet transaction into a .txn file:</p>
<pre><code>{
    &quot;hex&quot;: &quot;45505446ff0002000000000101c6be24d86ab1ae5b54e7e7905b...&quot;,
    &quot;complete&quot;: false,
    &quot;final&quot;: false
}
</code></pre>
<p>However, as explained in this <a href="https://medium.com/coinmonks/bitcoin-p2pkh-transaction-breakdown-bb663034d6df" rel="nofollow noreferrer">article</a>, a raw transaction string starts with version number and:</p>
<blockquote>
<p>The version number is four bytes long and is expressed as a hexadecimal value in little endian format.</p>
<p>There are two version types. Version 01 indicates that there is no relative time lock. Version 02 indicates that there may be a relative time lock.</p>
</blockquote>
<p>So this hex is not a qualified raw transaction encoding, due to the prefix</p>
<pre><code>45505446ff00
</code></pre>
<p>The version number comes after this prefix:</p>
<pre><code>02000000
</code></pre>
<p>So I was wondering, what is the function of this prefix that Electrum adds to the raw transaction string? And is it always the same length? Because I need to automatically splice it off in order to get a valid raw transaction string.</p>

<transactions><electrum><bip32-hd-wallets>
What does the prefix of the raw transaction encoding of an exported Electrum transaction file (.txn) mean?
CoderApprentice
# What does the prefix of the raw transaction encoding of an exported Electrum transaction file (.txn) mean?

(Asked by: username_0 on 2019-03-22)

I have exported a testnet transaction into a .txn file:

```
{
    "hex": "45505446ff0002000000000101c6be24d86ab1ae5b54e7e7905b...",
    "complete": false,
    "final": false
}

```

However, as explained in this [article](https://medium.com/coinmonks/bitcoin-p2pkh-transaction-breakdown-bb663034d6df), a raw transaction string starts with version number and:

> The version number is four bytes long and is expressed as a hexadecimal value in little endian format.
>
> There are two version types. Version 01 indicates that there is no relative time lock. Version 02 indicates that there may be a relative time lock.

So this hex is not a qualified raw transaction encoding, due to the prefix

```
45505446ff00

```

The version number comes after this prefix:

```
02000000

```

So I was wondering, what is the function of this prefix that Electrum adds to the raw transaction string? And is it always the same length? Because I need to automatically splice it off in order to get a valid raw transaction string.

**Tags:** transactions, electrum, bip32-hd-wallets


---

## 1 answers

### Answer by username_1 on 2019-03-22. Score: 3 | Accepted answer

It stands for:

`45505446` - EPTF - Electrum Partial Transaction Format  
`ff` - Separator  
`00` - EPTF Version - This is currently always 0.

You can verify this quickly by running a python interpreter.

```
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> b'EPTF\xff'.hex()
'45505446ff'

```


---

