<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, 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'


---

